Mikroprogramme
Im oberen linken Fensterbereich können sogenannte "Mikroprogramme" gespeichert werden. Ein Mikroprogramm besteht aus einer Reihe von Angaben, welche Tore geöffnet werden sollen, jede Zeile entspricht dabei einem ALU Takt. Um Mikroprogramme auszuführen muss man links unten die Option "Automatisch aus MPS" wählen.
Mikroprogramme können gespeichert und Geladen werden, dafür sind die Menüpunkte MPS laden
und MPS speichern
im Datei Menü zuständig.
Beispiel 1
Lade die Datei beispiel01.zip herunter, entpacke sie und lade sie in Mikrosim.
Untersuche das Verhalten des Mikroprogramms.
- Einstellung: Torsteuereung automatisch aus MPS.
(A1)
- Setze RAM, den Mikroprogrammspeicher und die Register zurück.
- Schreibe ein Mikroprogramm, das in die Zelle RAM[00] den Wert 01, in RAM[01] den Wert 03 und in RAM[02] den Wert 05 schreibt.
- Erweitere das Programm, so dass es in RAM[03] die Summe RAM[00]+RAM[01]+RAM[02] schreibt. Die Summe soll dabei vom Programm berechnet werden, nicht von dir.
- Versuche, mit möglichst wenigen Zeilen auszukommen.
(A2)
- Setze RAM, den Mikroprogrammspeicher und die Register zurück.
- Speichere zwei unterschiedliche Werte in Zelle RAM[00] und RAM[01].
- Schreibe ein Mikroprogramm, das die Werte in Speicherzelle 00 und 01 vertauscht, ohne dabei eine weitere RAM-Speicherzelle zu benutzen. Register dürfen hingegen benutzt werden.
(A3)
- Setze RAM, den Mikroprogrammspeicher und die Register zurück.
- Schreibe den Wert 07 in die RAM-Zelle 00.
- Schreibe ein Mikroprogramm, das den Wert aus Speicherzelle 00 mit 8 multipliziert und das Ergebnis in die Zelle 01 schreibt. Der RAM darf während der Multiplikation nicht benutzt werden, die Register hingegen schon. Tipp: Eine Multiplikation mit 8 kann als mehrfache Verdoppelung realisiert werden! Wie kannst du wiederum mit den vorhandenen Mitteln einen Wert verdoppeln?! Das Programm lässt sich mit sehr wenigen Zeilen realisieren!
- Überprüfe das Ergebnis (denke daran, dass das Ergebnis in Hexadezimal angegeben ist).
(A4)
- Schreibe ein Mikroprogramm, das die ersten Zahlen der Fibonacci-Reihe in den RAM speichert. Die Fibonacci-Reihe beginnt mit den Zahlen 0 und 1, jede weitere Zahl ergibt sich aus der Summe ihrer beiden Vorgänger. Zur Kontrolle: 0, 1, 1, 2, 3, 5, 8