Erkundung - Steuerwerk

Nachdem wir nun gesehen haben, dass man mit den Makro-Befehlen richtig komplizierte Programme schreiben kann, kehren wir nochmal zurück zu der Frage, wie eigentlich die Makrobefehle genau in die Folgen von entsprechenden Mikrobefehlen übersetzt werden.

Abarbeitung von Programmen[1]
Versetzen wir uns in die Lage des kleinen roten Roboters. Er symbolisiert in dieser Graphik das Steuerwerk. Nehmen wir an, dieser Roboter kommt an seinen "Arbeitsplatz" und findet, ordentlich geschlossen, den RAM-Schrank vor. An einer Schublade baumelt das Schild "To Do Next". Er wird nacheinander folgende Schritte tun:

Aufgabe 1: Experiment mit dem JOHNNY-Steuerwerk

Um herauszufinden, ob die einzelnen Teile des Steuerwerk auch so ähnlich funktionieren, lege zunächst die Zahl 01.010 in die Speicherstelle 000. Schaut man nach, dann sieht man, dass dies genau dem Befehl
TAKE 010
entspricht. Dann drücke nacheinander auf die Tasten für die folgenden Mikrobefehle (die Play-Taste mit dem kleinen griechischen μ).
Notiere die Folge an Mikro-Befehlen, die nach den einzelnen Tastendrücken ausgeführt werden.

Aufgabe 2: Vergleich: Karikatur und JOHNNY-Steuerwerk

Versuche, auf der Oberfläche von JOHNNY diejenigen Teile des Steuerwerks zuzuordnen, die den folgenden Teilen der Karikatur entsprechen: Versuche außerdem, den folgenden Mikrobefehlen die entsprechende Handlungen unseres Roboters zuzuordnen.

Aufgabe 3: Tabelle aller Mikrobefehle des Steuerwerks

Schreibe folgendes Programm in den Arbeitsspeicher:
000: TAKE 010
001: DEC  010
002: TST  010
003: JMP  001
004: HLT
Arbeite es schrittchenweise mit der "Play-μ-Taste" ab und beobachte dabei die Wirkungsweise der nacheinander ausgeführen Mikrobefehle. Dabei sollten dir auch die Mikrobefehle "stop", "mc:=0" und "=0:pc++" begegnen. Erstelle nun (auf Papier oder in einer Datei auf dem Rechner) eine Tabelle mit allen Mikrobefehlen des Steuerwerks und einer Beschreibung ihrer Funktion.

Aufgabe 4: Abschluss von Makrobefehlen

Die Mikrobefehls-Folgen aller Makrobefehle (mit Ausnahme von JMP) enden auf
...
pc++
mc:=0
Erläutere, weshalb das so ist und weshalb JMP eine Ausnahme ist.

Aufgabe 5: Nochmal die Karikatur

Wahrscheinlich ist Dir aufgefallen, dass die Folge von Mikrobefehlen, die notwendig sind, um die Befehle vom RAM ins Instruction Register (deutsch: Befehlsregister) zu transportieren, noch gar nicht in unserer Karikatur vorkommen. Das wollen wir zum Abschluss dieses Abschnitts noch schnell ändern.
Abarbeitung von Programmen mit Fetch-Ergänzung[2]
Beschreibe, welche Handlung des Roboters anschaulich dem Mikrobefehl mc:=0 entspricht.

Aufgabe 6: JMP und TST im Micro-Code

Überlege zunächst selbst, wie der Inhalt des Mikrobefehlsspeicher für die Befehle "JMP" und "TST" aussieht. Notiere zunächst Deine Vermutungen. Vergleiche dann mit dem Inhalt des Mikrobefehlspeichers bei JOHNNY.

Quellen

X

Fehler melden

X

Suche