Informatik

Wie der Prozessor ein Programm ausführt

Ein Programm ist für den Prozessor nichts als eine Folge von Bitmustern im Speicher. Wie wird aus diesen Bitmustern eine Rechnung? Das siehst du hier an einem stark vereinfachten Prozessor.

Das Modell

Ein Prozessor besteht vereinfacht aus zwei Teilen:

  • Das Steuerwerk holt die Befehle nacheinander aus dem Speicher und sorgt dafür, dass sie ausgeführt werden. Der Befehlszähler merkt sich, wo der nächste Befehl steht. Das Befehlsregister hält den aktuellen Befehl fest.
  • Das Rechenwerk rechnet – mit Addierwerken wie dem aus Kapitel 3. Sein Ergebnis landet im Akkumulator, einem Register.

Befehle und Daten stehen im selben Speicher. Verbunden ist alles über Leitungen, den Bus.

Der Prozessor arbeitet immer im selben Takt, dem Befehlszyklus:

  1. Holen – den Befehl aus der Zelle holen, auf die der Befehlszähler zeigt; den Befehlszähler um 1 erhöhen
  2. Dekodieren – das Bitmuster als Befehl entschlüsseln
  3. Ausführen – den Befehl ausführen, zum Beispiel rechnen oder speichern

Der Mini-Prozessor

Unser Mini-Prozessor kennt sechs Befehle. Jeder Befehl ist ein Bitmuster aus 8 Bit: Die ersten 3 Bit sagen, was zu tun ist, die letzten 5 Bit, mit welcher Speicherzelle.

Befehl Bits Wirkung
STOPP 000 Programm beenden
LADE n 001 Inhalt von Zelle n in den Akkumulator laden
ADDIERE n 010 Inhalt von Zelle n zum Akkumulator addieren
SUBTRAHIERE n 011 Inhalt von Zelle n vom Akkumulator abziehen
SPEICHERE n 100 Akkumulator in Zelle n schreiben
SPRINGE n 101 als Nächstes den Befehl in Zelle n ausführen

Das Programm unten steht in den Zellen 0 bis 3, die Daten in den Zellen 5 bis 7.

  1. Sage voraus: Welche Zahl steht nach dem Programm in Zelle 7?
  2. Führe das Programm mit „Schritt“ aus. Beobachte bei jedem Schritt, welches Register sich ändert.
  3. Wie viele Klicks auf „Schritt“ brauchst du insgesamt? Erkläre die Anzahl.

Tipp zu 3

Jeder Befehl braucht drei Phasen. Wie viele Befehle werden ausgeführt – STOPP mitgezählt?

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Befehle und Daten sehen gleich aus

Schau dir die Spalte „Bitmuster“ an.

  1. Zelle 5 enthält die Zahl 0. Welchen Befehl würde der Prozessor darin sehen?
  2. Ändere Zelle 3 von STOPP (0) auf die Zahl 160. Führe das Programm aus. Was passiert – und warum?
Tipp zu 2

Rechne 160 ins Binärsystem um und teile das Bitmuster in 3 + 5 Bit auf.

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Weil Befehle und Daten im selben Speicher stehen und gleich aussehen, kann ein Computer jedes beliebige Programm ausführen – man lädt es einfach in den Speicher. Diese Idee geht auf den Mathematiker John von Neumann (1945) zurück. Fast alle heutigen Computer arbeiten nach ihr.

Selbst programmieren

Schreibe ein Programm, das Zelle 5 + Zelle 6 − Zelle 4 berechnet und das Ergebnis in Zelle 7 speichert. Trage die Befehle als Zahlen in die Spalte „ändern“ ein. In Zelle 4 steht dazu schon die Zahl 2.

Berechne die Zahl für einen Befehl so: Befehlsnummer · 32 + Adresse. Zum Beispiel LADE 5 = 1 · 32 + 5 = 37.

Tipp

Du brauchst fünf Befehle: LADE, ADDIERE, SUBTRAHIERE, SPEICHERE, STOPP. Aber Zelle 4 enthält schon Daten! Wie viele Zellen hast du für Befehle?

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Selbsttest

Wie der Prozessor ein Programm ausführt

Teilbare URL erstellen

Abschnitte auswählen