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.
- Schublade mit dem Schild "To Do Next" suchen.
- Diese Schublade öffnen.
- Darin liegenden Zettel in die linke Hand nehmen.
- Die linken zwei Stellen, in diesem Fall die 01, auf der Tafel der Makrobefehle suchen. und beginnen, die entsprechende Folge von Mikrobefehlen abzuarbeiten.
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 BefehlTAKE 010entspricht. 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:- Der Zettel in der Hand des Roboters
- Das Schild "To Do Next"
- Die Tafel mit den Mikrobefehls-Listen für die einzelnen Makrobefehle.
-
ins->ab
-
ins->pc
-
pc++
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: HLTArbeite 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:=0Erlä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.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
- [1]: Abarbeitung von Programmen - Urheber: PD - Lizenz: Inf-Schule.de
- [2]: Abarbeitung von Programmen mit Fetch-Ergänzung - Urheber: PD - Lizenz: Inf-Schule.de