Die Von-Neumann-Architektur ist das grundlegende Organisationsprinzip fast aller modernen Computer. John von Neumann beschrieb das Konzept 1945 im Entwurf des EDVAC-Rechners: Programm und Daten liegen im selben Speicher, die CPU holt abwechselnd maschinenlesbare Befehle und Daten über einen gemeinsamen Bus und führt sie aus. Dieses gespeicherte Programm (Stored Program Concept) macht Computer erst universell programmierbar.
Aufbau und Arbeitsweise
Die klassische Gliederung umfasst vier Komponenten:
- Rechenwerk (ALU): führt arithmetische und logische Operationen aus.
- Steuerwerk (Control Unit): dekodiert Befehle und steuert den Ablauf.
- Speicher: hält Programm und Daten gemeinsam.
- Ein-/Ausgabe: verbindet den Rechner mit der Außenwelt.
Der Ablauf folgt dem Fetch-Decode-Execute-Zyklus: Befehl aus dem Speicher holen, dekodieren, ausführen, Ergebnis zurückschreiben. Die konkreten Befehlsformate legt der Instruktionssatz fest; die Bytes im Speicher sind Maschinensprache, deren Operationsfeld der Opcode ist. Compiler und Interpreter erzeugen beziehungsweise führen diesen Befehlscode aus (Compiler, Interpreter).
Der Von-Neumann-Flaschenhals
Weil Befehle und Daten denselben Bus zum Speicher teilen, kann genau eine Übertragung pro Zeiteinheit stattfinden. Diesen Engpass nennt man Von-Neumann-Flaschenhals. Er ist der Grund dafür, dass moderne Prozessoren Caches und Pipelining einsetzen: Die CPU wartet nicht mehr direkt auf den langsamen Hauptspeicher, sondern auf schnelle Zwischenstufen.
Abgrenzung: Harvard-Architektur
Die Harvard-Architektur trennt Speicher und Busse für Instruktionen und Daten, sodass Befehle und Daten parallel geholt werden können. Sie findet sich in Digitalen Signalprozessoren und Mikrocontrollern. Moderne CPUs kombinieren beide: Auf der Cache-Ebene sind Instruktions- und Daten-Caches getrennt (Harvard-Prinzip), auf Hauptspeicher-Ebene teilen sie sich den Weg (Von-Neumann-Prinzip). Man spricht dann von einer modifizierten Harvard-Architektur.
Mehrkern-Prozessoren erweitern das Prinzip: Damit alle Kerne auf den einen geteilten Speicher konsistent zugreifen, koordiniert die Cache-Kohärenz ihre Caches.
Verwandte Grundlagen: Mikroarchitektur (die konkrete Umsetzung des Prinzips in Silizium), Register-Bank (die schnellen Speicherzellen im Kern).