**This is an old revision of the document!**
Wie ein Von-Neumann-Rechner funktioniert
Üblicherweise wird die Von-Neumann-Architektur in folgendem bekannten Schaubild dargestellt:
Von-Neumann-Prinzipien
- Aufbau
Ein Rechner hat fünf Hauptteile:
- Das Steuerwerk
- Das Rechenwerk
- Den Speicher
- Das Eingabewerk
- Das Ausgabewerk
- Programme sind nötig
Der Rechner kann verschiedene Aufgaben lösen, aber nur, wenn ein Programm von außen in den Speicher geladen wird. Ohne Programm kann er nichts tun.
- Speicherinhalt
Im Speicher liegen nicht nur Programme, sondern auch Daten, Zwischen- und Endergebnisse.
- Speicherzellen
Der Speicher ist in gleich große Zellen aufgeteilt, die fortlaufend nummeriert sind. Über die Nummer (Adresse) kann man auf den Inhalt jeder Zelle zugreifen oder ihn ändern.
- Befehle im Speicher
Befehle eines Programms werden nacheinander in Speicherzellen abgelegt. Das Steuerwerk ruft den nächsten Befehl auf, indem es die Adresse um eins erhöht.
- Sprungbefehle
Mit Sprungbefehlen kann die normale Reihenfolge der Befehle verändert werden.
- Befehlsarten
Es gibt verschiedene Arten von Befehlen:
- Rechenbefehle (z. B.
Addieren,Multiplizieren) - Logische Befehle (z. B.
Vergleiche,UND,ODER) - Transportbefehle (z. B. Daten zwischen Speicher und Rechenwerk bewegen)
- Bedingte Sprünge
- Sonstige Befehle (z. B. Schieben, Warten)
- Binärcode
Alle Daten (Befehle, Adressen usw.) werden im Binärcode gespeichert. Schaltwerke im Steuerwerk sorgen dafür, dass alles richtig entschlüsselt wird.
Schritt-für-Schritt-Erklärung: Wie ein Programm in den Speicher eines Von-Neumann-Rechners geladen wird
- Eingabe des Programms: Das Programm wird über das Eingabewerk (z. B. Tastatur, Netzwerk, Datenträger) in den Rechner eingegeben. Das kann z. B. durch das Tippen von Code, das Laden einer Datei oder das Übertragen von einem anderen Gerät geschehen.
- Umwandlung in Maschinensprache: Falls das Programm in einer höheren Programmiersprache (z. B. Python, C++) geschrieben ist, wird es zunächst von einem Compiler oder Interpreter in Maschinensprache übersetzt. Maschinensprache besteht aus Binärcode, den der Rechner direkt verstehen und ausführen kann.
- Speicherung im Arbeitsspeicher (RAM): Der Binärcode des Programms wird nun in den Hauptspeicher (RAM) geladen. Das Steuerwerk des Rechners organisiert diesen Vorgang:
- Der Binärcode wird in die Speicherzellen des RAM geschrieben.
- Jede Speicherzelle hat eine Adresse, unter der der Binärcode abgelegt wird.
- Die Befehle des Programms werden in aufeinanderfolgenden Speicherzellen gespeichert.
- Start des Programms: Sobald das Programm im RAM liegt, beginnt das Steuerwerk mit der Ausführung:
- Es liest den ersten Befehl aus der Speicherzelle mit der Startadresse.
- Der Befehl wird entschlüsselt (decodiert) und an das Rechenwerk oder andere Funktionseinheiten weitergegeben.
- Das Steuerwerk erhöht die Adresse um eins, um den nächsten Befehl zu laden, es sei denn, ein Sprungbefehl ändert die Reihenfolge.
- Ausführung der Befehle: Die Befehle werden nacheinander abgearbeitet. Dabei können Daten aus dem Speicher gelesen oder dorthin geschrieben werden. Bei Bedarf werden Zwischenergebnisse im Speicher abgelegt.
Zusammenfassung: Ein Programm wird über das Eingabewerk in den Rechner geladen, in Maschinensprache übersetzt, im RAM gespeichert und vom Steuerwerk schrittweise ausgeführt. Der Von-Neumann-Rechner arbeitet dabei nach dem Prinzip der gespeicherten Programme: Programm und Daten liegen im selben Speicher und werden sequenziell abgearbeitet.