Stärken und Schwächen
LeitfrageWas macht die Von-Neumann-Architektur so erfolgreich – und wo liegen ihre Grenzen?
Du kennst jetzt alle Bauteile. Zeit für eine Bewertung: Warum setzte sich dieser Bauplan durch – und welche Probleme bringt er mit sich?
Sortiere: Vorteil oder Nachteil der Von-Neumann-Architektur?
Positiv
Negativ
Positiv
- Einfacher Aufbau: Wenige, klar getrennte Bauteile mit klaren Aufgaben.
- Ein Speicher für alles: Es gibt keine feste Aufteilung zwischen Befehlen und Daten. Ein Programm kann so viel Speicher für Daten nutzen, wie es braucht.
- Frei programmierbar: Um eine neue Aufgabe zu lösen, lädt man einfach ein anderes Programm – ohne Umbau der Hardware.
- Eine Struktur für viele Aufgaben: Derselbe Rechner kann Texte schreiben, Spiele ausführen und Musik abspielen.
Negativ
- Befehle und Daten sind nicht unterscheidbar: Ein Programmfehler kann dazu führen, dass Daten als Befehle ausgeführt werden. Viele Sicherheitslücken nutzen genau das aus.
- Sequenzielle Verarbeitung: Die CPU arbeitet immer nur an einem Befehl nach dem anderen.
- Nur ein Verbindungsweg (Bus): Alles muss durch den Flaschenhals – der Prozessor wartet oft auf Daten.
Wie moderne Computer die Grenzen umgehen
| Problem | Lösung heute |
|---|---|
| Flaschenhals Bus | Caches (L1–L3), schnellere Punkt-zu-Punkt-Verbindungen |
| nur ein Befehl gleichzeitig | Mehrkernprozessoren, Pipelining, Grafikprozessoren mit tausenden Kernen |
| Daten werden als Befehle ausgeführt | Speicherbereiche werden als nicht ausführbar markiert (NX-Bit) |
| Befehle und Daten gemischt | im Prozessor getrennte L1-Caches für Befehle und Daten (Harvard-Idee) |
Welche Maßnahme mildert den Von-Neumann-Flaschenhals am direktesten?
VertiefungDie Harvard-Architektur
Bei der Harvard-Architektur gibt es zwei getrennte Speicher – einen für Befehle und einen für Daten – mit jeweils eigenen Bussen. Befehle und Daten können gleichzeitig transportiert werden, und ein Programm kann sich nicht versehentlich selbst überschreiben. Nachteil: Die Aufteilung ist starr.
Harvard-Architekturen findet man vor allem in Mikrocontrollern (z. B. im Arduino) und in digitalen Signalprozessoren. Moderne PC-Prozessoren sind eine Mischung: außen Von Neumann, innen (im Cache) Harvard.