Fachkonzept - Abarbeitung von Programmen

Programmzähler

Bei der Abarbeitung eines (Registermaschinen-) Programms muss man jeweils die Position des nächsten auszuführenden Befehls bestimmen.

Für ein Programme ohne Sprungbefehle kann man einfach zur nächsten Programmzeile übergehen.

Abarbeitung eines ProgrammsAbarbeitung eines ProgrammsAbarbeitung eines ProgrammsAbarbeitung eines Programms

Für ein Programme mit Sprungbefehlen ist das schon etwas komplizierter.

Abarbeitung eines ProgrammsAbarbeitung eines ProgrammsAbarbeitung eines ProgrammsAbarbeitung eines ProgrammsAbarbeitung eines ProgrammsAbarbeitung eines Programms

Zur Verwaltung des nächsten auszuführenden Befehls verwendet man ein spezielles Register, das Programmzähler (oder kurz PC für program counter) genannt wird. Aufgabe dieses Registers ist es, die Adresse des nächsten auszuführenden Befehls im Speicher zwischenzuspeichern.

Programmzähler

In der Abbildung ist im Programmzähler die Adresse 1 abgelegt. Wenn diese Adresse auf den Adressbus geschrieben wird, dann wird der Befehl in Register 1 als nächstes bearbeitet.

Befehlszyklus

Befehle werde nach dem folgenden Verfahren abgearbeitet:

wiederhole
    Befehl holen
    Befehl decodieren und ausführen

In dem hier bisher verfolgten Weg, Daten in Form natürlicher Zahlen darzustellen, bedeutet dies, Befehle mit natürlichen Zahlen zu codieren. Wir werden folgende Codierung der Befehlsbezeichner benutzen:

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

In der Decodier- und Ausführphase wird der Befehl im Befehlsregister decodiert und entsprechend ausgeführt.

Die Abfolge Befehl holen und anschließend Befehl decodieren und ausführen nennt man auch Befehlszyklus.

X

Fehler melden

X

Suche