Fachkonzept Befehlsregister und Befehlszyklus

Das Befehlsregister

Das Befehlsregister (kurz "IR" für "instruction register") ist ein spezielles Register, in dem der aktuell auszuführende Befehl zwischengespeichert und decodiert wird. Decodieren bedeutet, dass ein Maschinenbefehl wie z. B. 40008 zur Verarbeitung in die beiden Bestandteile Operationscode (kurz: OP-Code, hier: 4) und Operandencode bzw. Adressteil (hier: 8) zerlegt werden muss.

ir[1]

Die Abbildung zeigt die Anbindung des Befehlsregisters IR an einen Daten-, einen Adress- und einen Steuerbus („Stummel“ rechts oben, bisher noch nicht vorgestellt).

  1. Codierte Befehle werden zunächst über den Datenbus vom Speicher in das Befehlsregister transportiert.
  2. Nach der Zerlegung kann der Adressteil auf den Adressbus geschrieben werden.
    Der Operationscode wird über den Steuerbus an das Steuerwerk (s. das folgende Kapitel "Steuerwerk") weitergeleitet.
  3. Damit kann jetzt der Befehl tatsächlich ausgeführt werden.

Die Zerlegung in Operationscode und Operandencode wird beim Bonsai-Rechner von den beiden Filterbausteinen (mit f(n) gekennzeichnet Filterbaustein) übernommen.
Die Decodierung erfolgt mit Hilfe der ganzzahligen Division durch 10000.
Für den Befehl 40008 heißt das: 40008 geteilt durch 10000 = 4 (Filter rechts ⇒ Operationscode) Rest 8 (Filter links ⇒ Adressteil)

Durch die Art der Codierung und Decodierung der Befehle ist im Bonsai-Simulator die theoretisch nach oben offene Speichergröße faktisch doch begrenzt: Die Notation der Adresse als vierstellige Zahl erlaubt logischerweise die Adressierung von 10000 Speicherplätzen (von 0 bis 9999).

Der "fertige" Bonsai-Simulator führt natürlich jeden Befehl automatisiert mit Hilfe des erwähnten "Steuerwerks" aus. In seinem aktuellen Aufbauzustand können aber bereits sämtliche möglichen Bonsai-Programme manuell vollständig ausgeführt werden.

Befehlszyklus

Die oben aufgeführten drei Schritte sind nicht nur eine praktische Notwendigkeit beim Bonsai. Ihnen liegt ein Konzept zugrunde, das grundsätzlich für alle Rechner gilt. Rechner unterscheiden sich zwar im Einzelnen durch unterschiedliche Codierungs- und Decodierungsverfahren. Dennoch werden auf allen Rechnern Programme nach dem folgenden Verfahren abgearbeitet:

Befehlszyklus

In der Holphase wird der vom Programmzähler vorgegebene nächste Befehl in das Befehlsregister geholt.

In der Decodierphase wird der Befehl anschließend im Befehlsdecoder decodiert.

In der Ausführphase wird der Befehl schließlich Schritt für Schritt ausgeführt.

Die Holphase und die Decodierphase verlaufen natürlich bei allen Befehlen gleich.
Sie unterscheiden sich nur in der Ausführphase.
Während der Ausführphase muss bei jedem Befehl sichergestellt werden, dass am Ende der Befehlszähler korrekt auf den nächsten auszuführenden Befehl eingestellt ist. Nur so kann der Zyklus mit einer neuen Holphase fortgesetzt werden.

Die Abfolge Befehl holen - Befehl decodieren - Befehl ausführen nennt man Befehlszyklus oder auch Fundamentalzyklus.

Quellen

X

Fehler melden

X

Suche