Simulation von-Neumann-Rechner

Um die Idee der von Neumann Architektur besser verstehen zu können, verwenden wir die Web-Applikation „VNSim“. Die Rechnerarchitektur dieses Modellrechners ist der von Neumann Architektur nachempfunden.

Theorie

Screenshot der Webseite

Der Programmzähler (PC) gibt an, welcher Befehl als nächstes ausgeführt wird. Steht die Ausführung an, so wird der Befehl aus dem Programmspeicher geholt und in das Instruktionsregister (IR) übertragen. Der Dekoder entscheidet, ob eine Rechnung erfolgen oder lediglich der Programmzähler angepasst werden muss (z.B. bei einem Sprungbefehl, s.u.). Im Falle einer Rechnung nimmt das Rechenwerk (ALU) seine Arbeit auf. Das Ergebnis einer Rechnung wird im Akkumulator (ACC) zwischengespeichert. Eine Rechnung bezieht sich immer auf den aktuellen Wert des Akkumulators.

BefehlErläuterung
LOD VarLädt den Inhalt der angegebenen Variablen in den Akkumulator.
LOD #ZahlLädt die angegebene Zahl in den Akkumulator.
STO VarSpeichert den Wert des Akkumulators in der angegebenen Variablen.
JMP ZeileSetzt die Ausführung in der angegebenen Zeile fort.
JMZ ZeileSetzt die Ausführung in der angegebenen Zeile fort, falls der Wert des Akkumulators 0 beträgt.
ADD VarAddiert den Wert der Variablen zum Wert des Akkumulators hinzu.
ADD #ZahlAddiert die angegebene Zahl zum Wert des Akkumulators hinzu.
SUB VarSubtrahiert den Wert der Variablen vom Wert des Akkumulators.
SUB #ZahlSubtrahiert die angegebene Zahl vom Wert des Akkumulators.
MUL VarMultipliziert den Wert der Variablen mit dem Wert des Akkumulators.
MUL #ZahlMultipliziert die angegebene Zahl mit dem Wert des Akkumulators.
DIV VarDividiert den Wert des Akkumulators durch den Wert der Variablen.
DIV #ZahlDividiert den Wert des Akkumulators durch die angegebene Zahl.
HLTHält das Programm an.
// unwichtigKommentar

Aufgaben

Aufgabe 0

Rufe die VNSim-Webseite auf und mache dich mit der Bedienung des Modellrechners vertraut. Lade das Beispielprogramm „Addieren“, teste und modifiziere es.

Aufgabe 1

Die beiden Zahlen X und Y sollen getauscht werden.

Aufgabe 2

Die beiden Zahlen X und Z sollen in Abhängigkeit von Y verknüpft werden: Steht in Y eine 1, so werden X und Z addiert. Steht in Y eine 2, so werden sie subtrahiert. Das Endergebnis steht dann in W.

Aufgabe 3

a) Die kleinere der beiden Zahlen X und Y soll ermittelt werden.

b) Die Differenz der Zahlen X und Y soll gebildet werden. Beachte, dass die Differenz immer postiv ist!

Aufgabe 4

a) Es soll überprüft werden, ob X eine gerade Zahl ist. Falls ja, soll in Y eine 1 stehen. Ansonsten eine 0.

b) Es soll überprüft werden, ob Y Teiler von X ist. Falls ja, soll in Z eine 1 stehen. Ansonsten eine 0.

Aufgabe 5

a) Du findest in den Beispieldateien ein Projekt mit dem Namen „WasBinIch“. Lade das Projekt und teste das Programm. Erläute den Zweck und die Funktionsweise des Programms.

b) Es soll die Potenz X^Y berechnet werden.

Aufgabe 6

Informiere dich im Internet über das Heron-Verfahren. Nutze das Heron-Verfahren zur Berechnung der Quadratwurzel von X.

Placeholder image

Hardware

Woraus besteht ein Computer? Was sind die elementaren Bauteile die dieses Wunderwerk möglich machen?