Ein Bauplan seit 1945
1945 beschrieb John von Neumann den Bauplan, dem fast jeder Computer bis heute folgt. Seine Idee: Das Programm liegt als Befehlsliste im selben Speicher wie die Daten.
- Früher (ENIAC):das Programm steckte in der Verkabelung — ein neues Programm hieß tagelang umstecken; heute lädt man nur neuen Speicherinhalt.
- Steuerwerk:holt die Befehle aus dem Speicher, entschlüsselt sie und steuert alle anderen Einheiten.
- Rechenwerk (ALU):führt Rechnungen und Vergleiche aus; zusammen mit dem Steuerwerk bildet es den Prozessor.
- Speicher:enthält Programm und Daten gemeinsam; das Ein-/Ausgabewerk verbindet den Rechner mit der Außenwelt.
- Bus-System:die gemeinsame Datenstraße zwischen allen Einheiten — mit Datenbus, Adressbus und Steuerbus.
Der Von-Neumann-Zyklus
Für jeden Befehl durchläuft der Prozessor denselben Dreischritt. Mehr macht ein Prozessor nicht — er macht es nur Milliarden Mal pro Sekunde.
- 1. Holen:das Steuerwerk lädt den nächsten Befehl über den Bus aus dem Speicher ins Befehlsregister.
- 2. Dekodieren:der Befehl wird entschlüsselt: Was ist zu tun, mit welchem Speicherfach?
- 3. Ausführen:meist rechnet dabei das Rechenwerk; danach rückt der Befehlszähler weiter.
- Register:winzige, sehr schnelle Speicher direkt im Prozessor, die genau eine Zahl fassen.
- Befehlszähler und Akkumulator:der Befehlszähler zeigt auf die Adresse des nächsten Befehls, der Akkumulator hält das Zwischenergebnis.
Der Mini-Prozessor rechnet 3 + 5 — in Zeitlupe. Klicke auf „Nächster Schritt“ und beobachte, wie Befehle und Daten über den Bus wandern und sich Befehlszähler, Befehlsregister und Akkumulator ändern.
Halte fest: Befehle (orange) und Daten (blau) liegen im selben Speicher und reisen über denselben Bus — genau das ist die Von-Neumann-Idee.
Von-Neumann-Zyklus: Jeder Befehl wird in drei Schritten abgearbeitet — Holen, Dekodieren, Ausführen — danach beginnt der Zyklus beim nächsten Befehl von vorn.
Allgemeine Hinweise
Der Befehlszähler zählt nicht
Er zählt keine erledigten Befehle, sondern zeigt auf die Adresse des nächsten. Bei einem Sprungbefehl springt er, statt weiterzuzählen.
Der Von-Neumann-Flaschenhals
Befehle und Daten teilen sich einen Bus und können nie gleichzeitig übertragen werden. Dieser Engpass bremst selbst schnelle Prozessoren.
Dekodieren ist noch kein Rechnen
Beim Dekodieren wird nur verstanden, was zu tun ist. Erst beim Ausführen ändern sich Register oder Speicher.
