Little Man Computer

Der Little Man Computer simuliert den elementaren Ablauf (Fetch - Decode - Execute - Store) der Prozesse in einem von Neumann - Computer.

Jeder Computerprozessor hat seine eigenen elementaren Anweisungen. Diese Anweisungen liegen in Maschinencode (binär, dezimal, hexadezimal) vor. Alle Programmiersprachen, die für den Prozessor Programme schreiben können, greifen letztendlich auf diese elementaren Anweisungen zurück. (Siehe Programmiersprachen!)

Für den Little Man Computer gibt es die folgenden Anweisungen:

Befehlsliste

Befehl	Aktion
1xx	Addiere (Speicher xx)
2xx	Subtrahiere (Speicher xx)
3xx	Speichern (Speicher xx)
4xx	Addiere (Wert xx)
5xx	Lade (Speicher xx)
6xx	Springe (Speicher xx)
7xx	Springe wenn 0 (Speicher xx)
8xx	Springe wenn ≥ 0 (Speicher xx)
901	Hole nächsten Eingabewert
902	Gib aus
0	Halt

Programm: Addition zweier Zahlen

00 504
01 105
03 0
04 7
05 8
06
07
08

Ablauf der Addition von Zahlen

Laden der ersten Zahl (z.B. 7) aus dem Speicher:

Fetch: Das Steuerwerk liest den Befehl „504“ aus dem Speicher.

Decode: Das Steuerwerk dekodiert den Befehl und erkennt, dass der Wert der Speicheradresse 4 geladen werden soll.

Execute: Das Steuerwerk liest den Wert der Speicheradresse 4 (z.B. die Zahl 7).

Store: Das Steuerwerk speichert die Zahl 7 in einem speziellen Register (Akkumulator).

Addieren der zweiten Zahl (z.B. 8) mit der ersten Zahl:

Fetch: Das Steuerwerk liest den Befehl „105“ aus dem Speicher.

Decode: Das Steuerwerk dekodiert den Befehl und erkennt, dass der Wert der Speicheradresse 8 mit dem aktuellen Wert des Akkumulators addiert werden soll.

Execute: Das Steuerwerk liest den Wert der Speicheradresse 4 (z.B. die Zahl 7). Das Rechenwerk addiert die Zahl 8 mit dem aktuellen Wert des Akkumulators (7).

Store: Das Steuerwerk speichert die Zahl 15 im Akkumulator.

Speichern des Ergebnisses zurück im Speicher:

Fetch: Das Steuerwerk liest den Befehlt „306“ aus dem Speicher.

Decode: Das Steuerwerk dekodiert den Speicherbefehl und erkennt, dass der Wert des Akkumulators an die Speicheradresse 6 geschrieben werden soll.

Execute: Das Steuerwerk liest den Wert des Akkumulators (15).

Store: Das Steuerwerk speichert die Zahl 15 an der Speicheradresse 6.

Aufgabe

Testen Sie das Programm am Simulator!