Befehlszyklus

Ausführung von Maschinenprogrammen

Programme werde 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 Abfolge Befehl holen - Befehl decodieren - Befehl ausführen nennt man Befehlszyklus oder auch Fundamentalzyklus.

Realisierung mit Steuersignalen

Der Befehlszyklus wird mit Hilfe von Steuersignalen realisiert, indem zum jeweils passenden Zeitpunkt die erforderlichen Steuersignale aktiviert werden.

Bisher haben wir die Umsetzung der Hol- und Ausführphase im Bonsai-Modellrechner betrachtet. Hier ein möglicher Signalaktivierungsalgorithmus:

Wiederhole:
    # Befehl holen
    10                      PC -> ABus
    10, 3, 11               Mem[Abus] -> DBus -> IR 
    # Befehl decodieren und ausführen
    Falls op(IR):
        1 (inc):
            12              adr(IR) -> ABus
            12, 3, 7        Mem[ABus] -> DBus -> Akku
            12, 5           upAkku
            12, 4, 8, 13    Akku -> DBus -> Mem[ABus]; incPC
        2 (dec):
            12              adr(IR) -> ABus
            12, 3, 7        Mem[ABus] -> DBus -> Akku
            12, 6           downAkku
            12, 4, 8, 13    Akku -> DBus -> Mem[ABus]; incPC
        3 (jmp):
            12, 9           adr(IR) -> ABus -> PC
        4 (tst):
            12              adr(IR) -> ABus
            12, 3           Mem[ABus] -> DBus
            12, 3, 14       incPCz
            13              incPC
        5 (hlt):

Offen ist hier noch die Frage, wie die Wiederholung und die Decodierung mit Steuersignalen realisiert werden kann. Diese Frage soll in den folgenden Abschnitten geklärt werden.

X

Fehler melden

X

Suche