Zum Hauptinhalt springen
Bethemesh
ReferenzGeschichte der InformatikAnfänger

Die von-Neumann-Architektur: das Programm im Speicher

Verstehe das von-Neumann-Modell mit Rechenwerk, Steuerwerk, Speicher und Ein-/Ausgabe sowie das Prinzip des gespeicherten Programms.

Veröffentlicht 31. Juli 2026Aktualisiert 7. August 2026Lesezeit : 6 minVon Yann Bastien
Redaktionelle Darstellung der von-Neumann-Architektur mit Prozessor, Speicher und Ein-/Ausgabe
Inhalt anzeigen
  1. Vor dem gespeicherten Programm
  2. EDVAC und der Bericht von 1945
  3. Eine kollektive Entwicklung
  4. Die fünf grundlegenden Funktionen
  5. Die entscheidende Idee: Befehle und Daten im Speicher
  6. Fetch, Decode, Execute
  7. Register: Speicher direkt am Rechenwerk
  8. Der von-Neumann-Flaschenhals
  9. Cache-Speicher
  10. Von Neumann und Harvard
  11. Moderne Prozessoren sind komplexer
  12. Ein Programm kann selbst zu Daten werden
  13. Von Spezialhardware zur universellen Maschine
  14. Warum die von-Neumann-Architektur weiterhin wichtig ist
  15. Häufig gestellte Fragen
  16. Hat John von Neumann diese Architektur allein erfunden?
  17. Was ist die wichtigste Idee der von-Neumann-Architektur?
  18. Was unterscheidet von-Neumann- und Harvard-Architektur?
  19. Was ist der von-Neumann-Flaschenhals?
  20. Nutzen moderne Computer noch die von-Neumann-Architektur?

Die von-Neumann-Architektur bezeichnet eines der grundlegenden Modelle der modernen Informatik. Sie wurde Mitte der 1940er-Jahre im Umfeld der ersten elektronischen Computer formuliert und beruht auf einer heute fast selbstverständlichen Idee: Die Befehle eines Programms können ebenso wie die zu verarbeitenden Daten im Speicher abgelegt werden.

Dieses Speicherprogrammprinzip veränderte den Computerbau grundlegend. Dieselbe Maschine konnte nun sehr unterschiedliche Aufgaben erledigen, indem lediglich ein anderes Programm geladen wurde, ohne ihre Verdrahtung physisch verändern zu müssen.

Mehr als achtzig Jahre nach den frühen Arbeiten am EDVAC sind Prozessoren ungleich komplexer geworden. Dennoch stehen Speicher, Rechenwerk, Steuerwerk und Ein-/Ausgabe weiterhin im Zentrum ihrer Funktionsweise.

Vor dem gespeicherten Programm

Frühe automatische Rechenmaschinen wurden nicht unbedingt so programmiert wie heutige Computer. Für eine neue Berechnung mussten bei manchen Maschinen Verbindungen geändert, Kabel umgesteckt, Schalter eingestellt oder neue physische Datenträger vorbereitet werden. Der während des Zweiten Weltkriegs entwickelte ENIAC ist ein bekanntes Beispiel.

Damit entstand eine entscheidende Frage: Was wäre, wenn die Anweisungen selbst im Speicher der Maschine lägen? Das Programm wäre dann nicht mehr nur durch die physische Konfiguration repräsentiert, sondern eine Information, die der Computer laden und lesen kann.

EDVAC und der Bericht von 1945

1945 arbeiteten die Entwickler des ENIAC bereits an seinem Nachfolger, dem EDVAC (Electronic Discrete Variable Automatic Computer). John von Neumann beteiligte sich an den Diskussionen und verfasste den berühmten First Draft of a Report on the EDVAC.

Der Bericht beschreibt eine elektronische Maschine mit Rechen-, Steuer-, Speicher- und Kommunikationsfunktionen. Vor allem erläutert er, dass Befehle numerisch dargestellt und im Speicher gehalten werden können. Seine weite Verbreitung trug wesentlich dazu bei, dieses Computermodell bekannt zu machen.

Eine kollektive Entwicklung

John von Neumann als alleinigen Erfinder dieser Architektur darzustellen, wäre irreführend. J. Presper Eckert, John Mauchly und weitere Forschende und Ingenieure waren direkt an den Entwicklungen rund um ENIAC und EDVAC beteiligt.

Von Neumann spielte jedoch eine entscheidende Rolle bei der Formalisierung und Verbreitung der Ideen. Deshalb blieb die historische Bezeichnung „von-Neumann-Architektur“ bestehen.

Die fünf grundlegenden Funktionen

Eine vereinfachte von-Neumann-Maschine umfasst:

  • eine arithmetisch-logische Einheit (ALU);
  • ein Steuerwerk;
  • einen Speicher;
  • Eingabegeräte;
  • Ausgabegeräte.

ALU und Steuerwerk gehören bei modernen Computern zum Prozessor. Der Speicher enthält sowohl zu verarbeitende Daten als auch Programmbefehle. Ein- und Ausgabe verbinden den Computer über Tastatur, Bildschirm, Speichergeräte, Netzwerk oder Sensoren mit seiner Umgebung.

Die entscheidende Idee: Befehle und Daten im Speicher

In einer klassischen von-Neumann-Architektur können Daten und Befehle im selben Speicher liegen. Bei einem einfachen Additionsprogramm enthält der Speicher beispielsweise die Zahlen, den Additionsbefehl, den Befehl zum Speichern des Ergebnisses und anschließend das Ergebnis selbst.

Damit wird auch ein Befehl zu numerisch repräsentierter Information. Um das Verhalten der Maschine zu ändern, genügt es, andere Befehle in den Speicher zu laden. Dieselbe Hardware kann Buchhaltung betreiben, wissenschaftlich rechnen, ein Spiel ausführen oder Texte bearbeiten.

Fetch, Decode, Execute

Die Programmausführung lässt sich mit dem Zyklus Fetch–Decode–Execute erklären. Ein Program Counter enthält die Adresse des nächsten Befehls. Der Prozessor holt ihn aus dem Speicher, das Steuerwerk dekodiert ihn, die erforderliche Operation wird ausgeführt und das Ergebnis in einem Register, im Speicher oder an anderer Stelle abgelegt. Danach folgt der nächste Befehl.

Moderne Prozessoren führen Milliarden solcher Arbeitsschritte pro Sekunde aus.

Register: Speicher direkt am Rechenwerk

Prozessoren besitzen sehr kleine und schnelle Speicherbereiche, die Register heißen. Sie halten Werte, Speicheradressen, Zwischenergebnisse, den aktuellen Befehl oder die Adresse des nächsten Befehls.

Ihre geringe Größe und Nähe zu den Recheneinheiten machen sie wesentlich schneller als der Hauptspeicher. Genau hier zeigt sich ein dauerhaftes Problem: Die Berechnung kann schneller werden als der Zugriff auf die benötigten Daten.

Der von-Neumann-Flaschenhals

Im klassischen Modell teilen sich Daten und Befehle Speicher und Kommunikationswege zum Prozessor. Selbst ein sehr schneller Prozessor kann deshalb darauf warten müssen, dass Informationen aus dem Speicher eintreffen.

Diese Begrenzung wird als von-Neumann-Flaschenhals bezeichnet. John Backus machte den Ausdruck in den 1970er-Jahren bekannt. Der Abstand zwischen Prozessor- und Speichergeschwindigkeit blieb auch bei modernen Rechnern eine zentrale Herausforderung.

Cache-Speicher

Eine wichtige Antwort sind mehrere Ebenen von Cache-Speicher. Caches sind kleiner, aber schneller als der Hauptspeicher und halten häufig benötigte Daten und Befehle möglichst nahe am Prozessor.

Typische Prozessoren besitzen einen sehr kleinen schnellen L1-Cache, einen größeren L2-Cache und häufig einen noch größeren, zwischen mehreren Kernen geteilten L3-Cache. Ziel ist es, Wartezeiten auf den Hauptspeicher zu vermeiden.

Von Neumann und Harvard

Bei einer strengen Harvard-Architektur verwenden Befehle und Daten getrennte Speicher und können getrennte Übertragungswege besitzen. Dadurch lassen sich beispielsweise gleichzeitig ein Befehl und Daten abrufen.

Vereinfacht gilt: von Neumann = gemeinsamer Speicherraum; Harvard = getrennte Speicher. Moderne Prozessoren verwischen diese Grenze häufig. Sie können nach außen einen einheitlichen Adressraum bieten und intern getrennte Befehls- und Datencaches verwenden – eine sogenannte modifizierte Harvard-Architektur.

Moderne Prozessoren sind komplexer

Fetch–Decode–Execute bleibt ein nützliches Lehrmodell, doch moderne Prozessoren arbeiten nicht streng Befehl für Befehl. Pipelining überlappt Arbeitsschritte, mehrere Ausführungseinheiten arbeiten parallel, Befehle können intern umgeordnet werden und spekulative Ausführung beginnt Berechnungen, bevor sicher ist, ob sie benötigt werden.

Hinzu kommen mehrere Prozessorkerne und spezialisierte Einheiten. Trotzdem bleibt auf Softwareebene die Grundidee bestehen: gespeicherte Befehle steuern eine allgemeine Maschine, die Daten verarbeitet.

Ein Programm kann selbst zu Daten werden

Da Programme numerisch im Speicher repräsentiert werden, kann ein Programm ein anderes Programm bearbeiten. Compiler lesen Quellcode und erzeugen ausführbare Programme. Betriebssysteme laden Programme in den Speicher. Editoren verändern Quellcodedateien. Programme können sogar neuen Code erzeugen.

Die Grenze zwischen „Programm“ und „Daten“ hängt somit auch davon ab, wie eine Information interpretiert wird. Dieses Prinzip war entscheidend für Betriebssysteme, Compiler, Programmiersprachen und die gesamte Softwareindustrie.

Von Spezialhardware zur universellen Maschine

Das Speicherprogrammprinzip ermöglichte, statt einer eigenen Maschine für jedes Problem eine Universalmaschine zu bauen und ihr Verhalten durch Software zu verändern.

Das steht in enger konzeptioneller Beziehung zu Alan Turing. Seine Turingmaschine ist ein mathematisches Modell, während die von-Neumann-Architektur die praktische Organisation elektronischer Computer beschreibt. Beide Konzepte gehören jedoch zu derselben Revolution: Das Verhalten einer Maschine kann durch die Information bestimmt werden, die man ihr gibt.

Warum die von-Neumann-Architektur weiterhin wichtig ist

Heutige Rechner besitzen GPUs, mehrere Kerne, komplexe Cache-Hierarchien, Controller und spezialisierte Beschleuniger. Sie schlicht als von-Neumann-Maschinen zu bezeichnen, wäre daher zu grob.

Als historisches und pädagogisches Modell bleibt die Architektur jedoch äußerst nützlich. Sie erklärt, warum Computer Prozessor und Speicher besitzen, wie Programme ausgeführt werden, warum Daten zwischen Komponenten bewegt werden müssen und weshalb Speicherleistung die Geschwindigkeit beeinflusst.

Das Speicherprogrammprinzip machte den Computer zu einer vielseitigen Maschine, die ebenso sehr durch Software wie durch Hardware definiert wird.

Häufig gestellte Fragen

Hat John von Neumann diese Architektur allein erfunden?

Nein. Von Neumann spielte insbesondere durch den First Draft of a Report on the EDVAC von 1945 eine wichtige Rolle bei Formalisierung und Verbreitung. Die Ideen entstanden jedoch aus kollektiver Arbeit, unter anderem mit J. Presper Eckert und John Mauchly.

Was ist die wichtigste Idee der von-Neumann-Architektur?

Das Speicherprogrammprinzip: Befehle können numerisch dargestellt und im Speicher abgelegt werden, sodass dieselbe Maschine unterschiedliche Programme ausführen kann.

Was unterscheidet von-Neumann- und Harvard-Architektur?

Im klassischen von-Neumann-Modell teilen sich Befehle und Daten den Speicher. In einer Harvard-Architektur sind Speicher oder Übertragungswege getrennt. Viele moderne Prozessoren verwenden Mischformen.

Was ist der von-Neumann-Flaschenhals?

Damit ist die Leistungsbegrenzung durch den Datentransfer zwischen Prozessor und Speicher gemeint. Ein schneller Prozessor kann auf die benötigten Befehle oder Daten warten müssen.

Nutzen moderne Computer noch die von-Neumann-Architektur?

Nicht in ihrer einfachen historischen Form. Moderne Rechner ergänzen das Modell durch Caches, mehrere Kerne, parallele Ausführung und spezialisierte Einheiten. Das Speicherprogrammprinzip bleibt jedoch grundlegend.

War dieser Artikel hilfreich?

Quellen und Referenzen