i

Fachkonzept Mikroprogramm

In den Programmspeicher des BONSAI können beliebige Programme geladen werden. Bei der manuellen Steuerung des Rechners wurde deutlich, dass die Ausführung jedes einzelnen Befehls mehrere Schritte benötigt. Damit dies automatisiert erfolgen kann, braucht der Rechner ein besonderes Programm, das diese einzelnen Schritte für alle Befehle, die er „kennt“, definiert. Dieses besondere Programm ist das sogenannte Mikroprogramm.

Ein Mikroprogramm ist ein Programm zur automatisierten Aktivierung von Steuersignalen. Es besteht aus Steuerworten bzw. Mikrobefehlen, die jeweils eine Kombination aus Steuersignalen bilden.

Dieses Mikroprogramm liegt im Mikroprogrammspeicher. Um die Abfolge der einzelnen Ausführschritte präzise steuern zu können, ist außerdem ein Taktgeber notwendig. Pro Takt wird genau ein Teilschritt = ein Mikrobefehl ausgeführt.

Codierung der Mikrobefehle

Beispiel Mikrobefehl[1]

Der in der Abbildung zuletzt ausgeführte Mikrobefehl hat die Steuersignale 3, 7 und 12 verwendet, um die zugehörigen Tore zu steuern. Daraus ergibt sich das folgende – binäre – Steuerwort:

Beispiel Mikrobefehl holen[2]

Die binäre Zahl 001000010001000 entspricht der 4232 im Dezimalsystem. In dieser Form steht das Steuerwort als Mikrobefehl an der Adresse 21 des Mikroprogrammspeichers.

Das Steuersignal 0 entspricht der 20-Position im binären Steuerwort, das Steuersignal 14 der 214-Position.
Das binäre Steuerwort von rechts nach links gelesen entspricht also dem Zustand des Steuerboards von oben nach unten gelesen.

Wenn das Steuerboard einen Befehl aus dem Mikroprogramm ausführt, "übersetzt" es zunächst die Dezimalzahl in die entsprechende Dualzahl.
Dies gilt nur für den von uns hier benutzten Simulator. Die Hardware-Version des Bonsai arbeitet konsequent im Binärsystem. Dort liegt das komplette Mikroprogramm wie in der Spalte "Steuerwort - binär" der folgenden Tabellen vor.

Übersicht über die Steuerworte

Hol- und Decodierphase

Hol- und Decodierphase[3]

inc-Befehl

inc-Befehl[4]

dec-Befehl

dec-Befehl[5]

jmp-Befehl

jmp-Befehl[6]

tst-Befehl

tst-Befehl[7]

hlt-Befehl

hlt-Befehl[8]

Die Steuersignale 0, 1 und 2 (in den obigen Tabellen farbig dargestellt) werden im folgenden Abschnitt "Mikroprogrammausführung" behandelt.

Systematik der Zeilennummerierung

  • Alle Zeilen des Mikroprogramms, die zur Hol- und Decodierphase gehören, beginnen mit einer Null.
  • Alle weiteren Zeilen beginnen mit der Ziffer, die dem Operationscode des jeweiligen Befehls entspricht.
  • Die zweite Ziffer jeder Zeilennummer (Einerstelle) entspricht der Taktnummer.
    Um einen Befehl zu holen, werden also 5 Takte benötigt, für die Ausführung von inc und dec jeweils 7 Takte, für die Ausführung von jmp 3 Takte und für die Ausführung von tst 4 Takte.
    Zur Erinnerung: Eine Zeile des Mikroprogramms entspricht einer Zeile des Signalaktivierungsalgorithmus.
  • Nicht benötigte Zeilen (beim jmp-Befehl sind das sehr viele!) bleiben frei.
    Diese scheinbare Verschwendung von Zeilen hat große Vorteile für die Ausführung des Mikroprogramms.
    Mehr dazu im folgenden Abschnitt "Mikroprogrammausführung".

Quellen

Suche

v
12.3.4.2.4
dev.inf-schule.de/rechner/bonsai/cpu/steuerwerk/konzept_mikroprogramm
dev.inf-schule.de/12.3.4.2.4
dev.inf-schule.de/@/page/XK2NYGwOhSVhSymB

Rückmeldung geben