Definition
Ein Computer-Architekturmodell, das die Berechnung um ein gespeichertes Programm herum organisiert mit einer zentralen Verarbeitungseinheit, einem vereinheitlichten Speicher, der sowohl Anweisungen als auch Daten enthält, und sequentiellen Fetch-Decode-Execute-Zyklen; grundlegend für die meisten klassischen digitalen Computer.

Prinzip

Prinzip
Programm- und Datenspeicherung zu vereinheitlichen, sodass der Prozessor Anweisungen aus demselben adressierbaren Speicher holt und ausführt; dies ermöglicht flexible Programme, führt aber zu möglicher Ressourcen-Contention zwischen Instruktions- und Datenzugriffen.

Demonstration

Demonstration
Eine Single-Core-Allzweck-CPU liest eine Instruktion aus dem Hauptspeicher, dekodiert sie, greift bei Bedarf auf Operanden im selben Speicher zu, führt eine Operation in der ALU aus und schreibt Ergebnisse zurück in den Speicher; das in den Speicher geladene Programm bestimmt das Laufzeitverhalten.

Fehlanwendung

Fehlanwendung
Anzunehmen, dass die Ausführung von sich selbst modifizierendem Code oder die Instruktions-/Daten-Contention keine Performance-Penalty verursacht, insbesondere in Systemen mit tiefen Speicherhierarchien; zu ignorieren, dass moderne Implementierungen Caches, Pipelines und spekulative Ausführung hinzufügen, die Performance und Semantik verändern.

Konsequenz

Konsequenz
Bietet eine einfache, weit verbreitete Abstraktion zur Gestaltung und Analyse sequentieller Programme und Compiler; erklärt Phänomene wie den von-Neumann-Flaschenhals, bei dem Speicherbandbreite den Durchsatz begrenzt.

Umkehrung

Umkehrung
Eine Harvard-Architektur trennt Instruktions- und Datenspeicher (physisch oder logisch) und beseitigt so Instruktions-/Daten-Contention auf Speicherebene und ermöglicht unterschiedliche Zugriffsbreiten oder Schutzmechanismen.

Abgrenzung

Abgrenzung
Legt nicht selbst Mikroarchitekturoptimierungen (Caches, Pipelines, Out-of-Order-Ausführung) fest und beschreibt keine massiv parallelen, verteilten oder nicht-klassischen Maschinen; abstrahiert elektrische, zeitliche und Zuverlässigkeitsaspekte.

Semantische Spannung

Semantische Spannung
Steht im Wettbewerb mit Harvard- und Dataflow-Architekturen, in denen Instruktions- und Datenpfade getrennt sind oder Berechnung durch Datenverfügbarkeit statt durch Programmcounter gesteuert wird.

Synthese

Synthese
Ein konzeptionelles Modell, das Verarbeitung zentralisiert und Programme mit ihren Daten in einem gemeinsamen Adressraum speichert, wodurch vielseitige sequentielle Berechnung möglich wird, zugleich aber Kompromisse zwischen Einfachheit und Speicherzugriffsleistung entstehen.