Mikroprogramm

Was leistet ein Mikroprogramm?

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

Experimente mit dem Bonsai-Simulationsprogramm

Bonsai-Logo Der rechte Rand der Simulation wird sichtbar, wenn du das Menü mit einem Mausklick auf das 'X' rechts oben abschaltest. Du kannst den Simulator auch etwas größer direkt in einem separaten Fenster öffnen: Bonsai-Simulator

Aufgabe 1

Schaue zunächst in den Mikroprogrammspeicher hinein. Hierzu musst du nur den passenden Tab anklicken. Du erhältst eine zunächst etwas merkwürdige Auflistung von Zahlen. Ziel ist es zunächst, diese Zahlen zu deuten.

00: 1024
01: 3080
02: 1032
03: 4096
04: 4100
...
10: 4096
11: 4232
12: 4104
13: 12320
14: 4368
15: 4352
16: 2
...

Die Zahlen in den Speicherzellen stehen hier für Bitfolgen

00: 000010000000000
01: 000110000001000
02: 000010000001000
03: 001000000000000
04: 001000000000100
...
10: 001000000000000
11: 001000010001000
12: 001000000001000
13: 011000000100000
14: 001000100010000
15: 001000100000000
16: 000000000000010
...

Aufgabe 2

Die Bitfolgen sind hier Steuerwörter. Sie geben an, welche Steuersignale zu einem bestimmten Zeitpunkt alle (gleichzeitig) aktiviert werden sollen.

Zur besseren Lesbarkeit werden die Steuerwörter jetzt nur mit den Nummern der aktiven Signale dargestellt. So entspricht dem Steuerwort 000110000001000 die Liste [11, 10, 3].

00: [10]
01: [11, 10, 3]
02: [10, 3]
03: [12]
04: [12, 2]
...
10: [12]
11: [12, 7, 3]
12: [12, 3]
13: [13, 12, 5]
14: [12, 8, 4]
15: [12, 8]
16: [1]
...
20: [12]
21: [12, 7, 3]
22: [12, 3]
23: [13, 12, 6]
24: [12, 8, 4]
25: [12, 8]
26: [1]
...
30: [12, 9]
31: [12]
32: [1]
...
40: [13, 12]
41: [12, 3]
42: [14, 12, 3]
43: [1]
...
50: [12, 2, 0]

(a) Etliche Teile des so dargestellten Mikroprogramms kannst du jetzt identifizieren. Vergleiche hierzu mit dem Steueralgorithmus.

Wiederhole:
    # Befehl holen
    10                      PC -> ABus
    10, 3, 11               Mem[Abus] -> DBus -> IR 
    10, 3                   Mem[Abus] -> DBus
    # Befehl decodieren und ausführen
    Falls op(IR):
        1 (inc):
            12              adr(IR) -> ABus
            12, 3, 7        Mem[ABus] -> DBus -> Akku
            12, 3           Mem[ABus] -> DBus
            12, 5, 13       upAkku; incPC 
            12, 8, 4        Akku -> DBus -> Mem[ABus]
            12, 8           Akku -> DBus
        2 (dec):
            12              adr(IR) -> ABus
            12, 3, 7        Mem[ABus] -> DBus -> Akku
            12, 3           Mem[ABus] -> DBus
            12, 6, 13       downAkku; incPC 
            12, 8, 4        Akku -> DBus -> Mem[ABus]
            12, 8           Akku -> DBus
        3 (jmp):
            12, 9           adr(IR) -> ABus -> PC
            12              adr(IR) -> ABus
        4 (tst):
            12, 13          adr(IR) -> ABus; incPC
            12, 3           Mem[ABus] -> DBus
            12, 3, 14       incPCz
        5 (hlt):

(b) Kommentiere das Mikroprogramm analog zum Steueralgorithmus. Beachte, dass die Bedeutung von einigen Steuerwörtern noch geklärt werden muss.

X

Fehler melden

X

Suche