i

Mikroprogrammierung

Wie entwickelt man ein Mikroprogramm?

Ziel ist es im Folgenden, im Bonsai-Simulationsprogramm den Bonsai-Befehlssatz um weitere Befehle zu erweitern.

Experimente mit dem Bonsai-Simulationsprogramm

Bonsai-Logo Falls der Schalter zum Taktgeber rechts unten nicht funktioniert, muss ggf. die Skalierung deines Browsers vergrößert werden (STRG + "+"), damit der Bonsai korrekt angezeigt und funktionsfähig ist. Du kannst den Simulator auch direkt in einem separaten Fenster öffnen: Bonsai-Simulator

Aufgabe 1

Mit dem Befehl lda adr (loadAkku) soll der Inhalt der Speicherzelle adr in den Akku geladen werden. Anschließend soll der Programmzähler um 1 erhöht werden.

Der neue Befehl lda soll den Opcode 6 erhalten.

  • Editieren des Mikroprogramms:
    60: 12
    61: 12, 3, 7
    62: 13,12, 3
    63: 1
    
  • Erstellen eines kleinen Test-Maschinenprogramms:
    0 60003 lda 3
    1 50000 hlt
    2 00000 Lücke
    3 00027 Datum, das in den Akku geladen wird
  • Austesten (vorher Reset)

Aufgabe 2

Programmiere und teste analog den Befehl sta adr (storeAkku) mit Opcode 7 mit der Bedeutung "speichere den Akkuinhalt in der Speicherzelle adr und erhöhe anschließend den PC".

Aufgabe 3

Der BONSAI-Computer kann auch indirekt adressieren. Programmiere den Befehl lda (adr) (loadAkkuIn) mit Opcode 8 mit folgender Bedeutung: "Lade den Akku mit dem Inhalt der Speicherzelle, deren Adresse in der Speicherzelle adr steht, und erhöhe anschließend den PC".

  • Editieren des Mikroprogramms:
    80: 12
    81: 12, 3, 7
    82: 12, 3
    83: 12, 11, 8
    84: 12, 8
    85: 12
    86: 12, 3, 7
    87: 13, 12, 3
    88: 1
    
  • Erstellen eines kleinen Test-Maschinenprogramms:
    0 80003 lda (3)
    1 50000 hlt
    2 00000 Lücke
    3 00004 Adresse der Datums
    4 00027 Datum, das in den Akku geladen wird
  • Austesten (vorher Reset)

Aufgabe 4

(a) Programmiere und teste analog den Befehl inc (adr) (incIn) mit Opcode 9 mit der Bedeutung "inkrementiere den Inhalt der Speicherzelle, deren Adresse in der Speicherzelle adr steht, und erhöhe anschließend den PC".

(b) Teste deine Mikroprogramme, indem du ein Testprogramm erstellst, das alle Inhalte eines Feldes (Array) inkrementiert. Die Adresse des Feldes (1. Element) sei im Speicher 20 abgelegt, die Größe (Anzahl der Speicherstellen des Feldes) im Speicher 21.

Suche

v
7.2.4.2.7
www.inf-schule.de/rechner/bonsai/cpu/steuerwerk/mikroprogrammierung
www.inf-schule.de/7.2.4.2.7

Rückmeldung geben