Von-Neumann- vs. Harvard-Architektur: Unterschiede erklärt

In einer Von-Neumann-Architektur teilen sich Befehle und Daten einen Speicher und einen Bus, sodass der Prozessor nicht gleichzeitig einen Befehl holen und auf Daten zugreifen kann. Diese Grenze ist der Von-Neumann-Flaschenhals. In einer Harvard-Architektur liegen Befehle und Daten in getrennten Speichern mit getrennten Bussen, sodass beide gleichzeitig zugänglich sind. Die meisten modernen CPUs kombinieren beides: Der Hauptspeicher ist einheitlich, aber der L1-Cache ist in getrennte Befehls- und Datencaches aufgeteilt. Das nennt man modifizierte Harvard-Architektur.

AspektVon NeumannHarvard
SpeicherEin Speicher enthält Befehle und DatenGetrennte Speicher für Befehle und für Daten
BusseEin gemeinsamer BusGetrennte Busse
Befehlsabruf und DatenzugriffKonkurrieren um denselben Bus (der Von-Neumann-Flaschenhals)Können gleichzeitig stattfinden
DurchsatzNiedriger bei gleicher BusgeschwindigkeitHöher, durch parallelen Zugriff
FlexibilitätHoch: Programme sind Daten, daher lassen sie sich leicht laden, erzeugen und ändernGeringer: Code und Daten sind getrennt
SpeicheraufteilungFlexible Aufteilung zwischen Code und DatenFeste Größen für jeden Speicher
Hardware-KomplexitätEinfacherKomplexer: zwei Speicher und zwei Busse
Typische GeräteUniversalrechnerDigitale Signalprozessoren und viele Mikrocontroller (etwa AVR und PIC)
In modernen CPUsEinheitlicher HauptspeicherGetrennte L1-Befehls- und Datencaches (modifizierte Harvard-Architektur)

Die Zahlenangaben sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welches einsetzen

Von Neumann
Für Universalrechner, bei denen Programme aus dem Massenspeicher geladen werden und Flexibilität wichtig ist.
Harvard
Für Signalverarbeitung und eingebettete Geräte, bei denen ein vorhersagbarer Zugriff mit hohem Durchsatz auf Befehle und Daten zählt.

FAQ

Was ist der Von-Neumann-Flaschenhals?

Befehle und Daten teilen sich einen Speicher und einen Bus, sodass der Prozessor nicht gleichzeitig einen Befehl holen und auf Daten zugreifen kann. Das begrenzt den Durchsatz.

Verwenden moderne CPUs die Harvard-Architektur?

Teilweise. Der Hauptspeicher ist einheitlich, aber der L1-Cache ist in getrennte Befehls- und Datencaches aufgeteilt. Das nennt man modifizierte Harvard-Architektur.

Welche Mikrocontroller verwenden die Harvard-Architektur?

Viele, darunter AVR- und PIC-Chips, die Programmspeicher und Datenspeicher getrennt halten.

Kann eine Harvard-Maschine selbstmodifizierenden Code ausführen?

Nicht leicht, weil Code und Daten in getrennten Speichern liegen. Diese Trennung ist ein Grund dafür, dass Von-Neumann-Maschinen flexibler sind.

Wichtige Begriffe erklärt

Von-Neumann-Architektur
Eine Rechnerorganisation, die Programme und Daten im selben Hauptspeicher hält und Befehle der Reihe nach holt und ausführt.
Cache-Speicher
Schneller, kleiner Speicher in der Nähe der CPU. Er hält häufig genutzte Daten vor, um den Geschwindigkeitsunterschied zum Hauptspeicher zu überbrücken. Meist aus SRAM aufgebaut.

Weitere Vergleiche