Was ist ein ToyProcessor? Zurück

Der ToyProcessor ist eine vereinfachte Simulation eines normalen Prozessors in einem Computer. Die Bauteile des Processors wurden reduziert auf das Steuerwerk, den RAM (Random-Access-Memory), die ALU (Arithmetic-Logic-Unit), den ACCU (Accumulator), das IR (Instruction register) und den PC (Programm counter). Der ToyProcessor setzt die Von-Neumann-Architektur um.

RAM: Im RAM stehen alle Befehle aus dem jeweils geladenen Toy-Programm in binärer oder hexadezimalen Schreibweise. Der Übersichtlichkeit wegen, sind alle restlichen Einträge einfach 0 - natürlich entspricht dies nicht dem realistischen Aussehen eines Speichers. Der RAM kann insgesamt 4096 Einträge beinhalten. Der RAM wird durch das IR und die ALU ausgelesen und kann durch die ALU auch wieder beschrieben werden.

Screenshot des ToyProcessors Abbildung 1.1: ToyProcessor unter MacOSX

ALU: In der ALU werden alle Rechenoperationen durchgeführt. Dazu wird der jeweilige Befehl aus dem RAM und der aktuelle Wert des Akkus geladen und die Operation ausgeführt. Die ALU kann beim Speicherbefehl den RAM wieder mit dem Ergebnis beschreiben.

ACCU: Im ACCU stehen die aktuellen Werte für eine Rechenoperation zur Verfügung. Diese werden der ALU zur Verfügung gestellt, wenn sie diese für eine Operation benötigt. Auch das Ergebnis einer ausgeführten Rechenoperation wird wieder in den Accu geschrieben. Bei einem Sprungbefehl wird getestet, ob der Accu gleich Null ist.

IR: Das IR ist das Befehlsregister des Steuerwerks. Hier werden die aktuell zu bearbeitenden Befehle geladen. Da die Befehle eines Toy-Programms aus 4 Bit OP-Code und 12 Bit Adresse bestehen, kann das IR ingesamt 16 Bit umfassen.

PC: Der PC ist zu Anfang eines jeden Toy-Programmes auf Null gesetzt. Nach jedem ausgeführten Befehl wird er um Eins erhöht. Somit dient er als Indikator, an welcher Stelle sich der ToyProcessor im Programm im Moment befindet. Er gibt also an, aus welcher Speicherzelle des RAMs der nächste Befehl ausgelesen werden muss. Bei einem Sprungbefehl wird der PC auf den Wert gesetzt, zu dem gesprungen werden soll.

Steuerwerk: Das Steuerwerk führt die jeweiligen Befehle aus, die es aus dem IR übergeben bekommt. Da die Befehle eines Toy-Programms aus verschiedenen Teilbefehlen bestehen (siehe "Wie läuft ein Toy-Programm ab?") leuchten in jedem Takt die Flags zu den zugehörigen Teilbefehlen auf, die aktuell durchgeführt werden. Diese sind links des Steuerwerkblocks zu erkennen.