2.1 – Befehlsabarbeitung

 
  1. Geben Sie die sechs typischen Befehlsphasen eines “von Neumann”-Rechners an.
  2. Geben Sie für den oben gegebenen Rechner die Abläufe in dem Diagramm für die einzelnen Befehlsphasen in Register-Transfer-Notation an, wenn folgender Befehl ausgeführt werden soll: Reg.C = Reg.B+Mem.X

Lösung

a)

Hier zunächst die Struktur des von Neumann Rechners:

von-neumann-rechner-architektur-struktur-cpu-alu-leitwerk-rechenwerk

Die sechs Phasen sind:

  1. Befehlholphase (BH)
  2. Dekodierphase (DE)
  3. Operandenholphase (OH)
  4. Ausführungsphsae (AP)
  5. Rückschreibphase (RS)
  6. Adressierungsphsae (AD)

b)

Auszuführender Befehl: Reg.C = Reg.B+Mem.X

1. Befehlsholphase:

Im Befehlszähler steht die Adresse des nächsten Befehls. Diese wird an das Speicher-Adress-Register weitergegeben:

SAR \Leftarrow BZ

Aus dem Hauptspeicher wird der Befehl in das Speicher-Daten-Register geladen:

SDR \Leftarrow Hauptspeicher\left( {SAR} \right)

Anschließend wird der Befehl in das Befehlsregister geschickt:

BR \Leftarrow SDR

2. Dekodierphase:

Die Operanden und der Befehl werden aus BR extrahiert:

Add,\:\:\:Reg.B,\:\:Mem.X,\:\:Reg.C

3. Operandenholphase:

Der erste Operand befindet sich bereits im Register B. Der zweite Operand muss aus dem Hauptspeicher geholt und in das erste freie Register (D) geschrieben werden.

SAR \Leftarrow Adresse\left( {Mem.X} \right) \equiv X

SDR \Leftarrow Hauptspeicher\left( {SAR} \right)

Reg.D \Leftarrow SDR

4. Ausführungsphase:

Die Operanden werden in die ALU geladen und verarbeitet. Das Ergebnis wird im Akku gespeichert:

ALU.R \Leftarrow Reg.B

ALU.S \Leftarrow Reg.D

ALU.Akku \Leftarrow Add\left( {ALU.R,ALU.S} \right)

5. Rückschreibephase:

Reg.C \Leftarrow ALU.Akku

6. Adressierungsphase:

Der Befehlszähler wird erhöht:

BZ \Leftarrow BZ+1

Wenn wir stattdessen im Hauptspeicher speichern wollen, also

Mem.C = Reg.C+Mem.X,

dann ändert sich das Verfahren nur in der Rückschreibephase:

SDR \Leftarrow ALU.Akku

Hauptspeicher\underbrace {\left( {Adresse\left( {Mem.C} \right)} \right)}_{ \equiv C} \Leftarrow SDR

Ähnliche Artikel

Kommentar verfassen