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.
| Aspekt | Von Neumann | Harvard |
|---|---|---|
| Speicher | Ein Speicher enthält Befehle und Daten | Getrennte Speicher für Befehle und für Daten |
| Busse | Ein gemeinsamer Bus | Getrennte Busse |
| Befehlsabruf und Datenzugriff | Konkurrieren um denselben Bus (der Von-Neumann-Flaschenhals) | Können gleichzeitig stattfinden |
| Durchsatz | Niedriger bei gleicher Busgeschwindigkeit | Höher, durch parallelen Zugriff |
| Flexibilität | Hoch: Programme sind Daten, daher lassen sie sich leicht laden, erzeugen und ändern | Geringer: Code und Daten sind getrennt |
| Speicheraufteilung | Flexible Aufteilung zwischen Code und Daten | Feste Größen für jeden Speicher |
| Hardware-Komplexität | Einfacher | Komplexer: zwei Speicher und zwei Busse |
| Typische Geräte | Universalrechner | Digitale Signalprozessoren und viele Mikrocontroller (etwa AVR und PIC) |
| In modernen CPUs | Einheitlicher Hauptspeicher | Getrennte L1-Befehls- und Datencaches (modifizierte Harvard-Architektur) |
Die Zahlenangaben sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.