Bonsai Einführung Python Bonsai-Assembler Interpreter Übersetzungsschablonen Assemblerprogramme Compiler Maschinensprache Architektur Mikroprogrammierung Binäre Codierung Hardware Bau Simulation Baukasten debug 386-Assembler Betriebssystem ET-3400 Profi5E Glossar Util Literatur Holzcomputer Lehrplan Links
Pfad: Startseite / Fächer / Informatik / Material / Bonsai / Mikroprogrammierung
Autor: mk
14.05.2007 17:46:30
7449
Mikroprogrammierung

Mikroprogrammierung mit dem BONSAI-Programm

Ein Computer durchläuft endlos den Fundamentalzyklus (von-Neumann-Zyklus):

von-Neumann-Zyklus

"Befehl holen" bedeutet, dass der Inhalt der Speicherzelle, auf die der PC deutet, in das Befehlsregister (engl. instruction register IR) transportiert wird.

"Befehl decodieren" heißt im Rechnermodell, aus dem Opcode des Befehls die richtige Einsprungstelle für den Mikrocode des Befehls zu berechnen. Im BONSAI-Programm ist das so gelöst, dass beispielsweise die Mikrobefehle des Befehls 3 ab Speicherstelle 30 im Mikroprogramm stehen, die des Befehls 4 ab 40 und so weiter.

Da der Mikroprogrammzähler MPC immer auf das nächste Steuerwort (Mikrobefehl) zeigt, muss zur Realisierung des Sprungs nur der Opcode des Befehls als Zehnerstelle genommen werden und die Einerstelle auf Null gesetzt werden.

Es darf nach der der Abarbeitung eines Befehls nicht vergessen werden, den Mikroprogrammzähler MPC auf Null zu setzen. So leitet dann das Steuerwerk einen neuen Befehl-Hole-Zyklus (engl. fetch-cycle) ein.

Beim Ansprechen des Speichers muss darauf geachtet werden, dass eine gültige Adresse anliegt. Das wird sicher erreicht, wenn man die Adresse einen Takt vor dem Ansprechen des Speichers anlegt.

Das Mikroprogramm 'mikropro.bmi'

TST-Befehl:

10 | 3, 10, 11   | 0, 2              | 12 | 3 , 12 | 3 , 12 , 14 | 13       | 0 , 1
|                |                   |                                      |
Befehl holen     Befehl decodieren   Befehl ausführen                       Rücksprung

Das Standard-Mikroprogramm 'mikropro.bmi':

Mikroprogramm

Beispiele für Mikroprogrammierung:

Programmierung des Befehls 6 , lda adr , "lade den Akku mit dem Inhalt der Speicherzelle adr und erhöhe anschließend den PC":

Aufgabe:

Programmieren und testen Sie analog den Befehls 7 , sta adr , "speichere den Akkuinhalt in der Speicherzelle adr und erhöhe anschließend den PC":

Der BONSAI-Computer kann auch indirekt adressieren !

Programmierung des Befehls 8, lda (adr) , "lade den Akku mit dem Inhalt der Speicherzelle, deren Adresse in der Speicherzelle adr steht, und erhöhe anschließend den PC "

Aufgabe:

Programmieren und testen Sie analog den Befehls 9 , INC (adr) , "inkrementiere den Inhalt der Speicherzelle, deren Adresse in der Speicherzelle adr steht, und erhöhe anschließend den PC".

Valid XHTML 1.0! lokal