Welchen Vorteil hat die Harvard-Architektur?
Der Zugriff auf die  Speicherbereiche kann parallel realisiert werden, was zu Geschwindigkeitsvorteilen führt.
Computer
Computer

=== Hardwarearchitektur ===
Das heute allgemein angewandte Prinzip, das nach seiner Beschreibung durch John von Neumann von 1946 als ''Von-Neumann-Architektur'' bezeichnet wird, definiert für einen Computer fünf Hauptkomponenten:
* das Rechenwerk (im Wesentlichen die arithmetisch-logische Einheit (ALU)),
In den heutigen Computern sind die ALU und die Steuereinheit meistens zu einem Baustein verschmolzen, der so genannten CPU (Central Processing Unit, zentraler Prozessor).
Der Speicher ist eine Anzahl von durchnummerierten, adressierbaren „Zellen“; jede von ihnen kann ein einzelnes Stück Information aufnehmen. Diese Information wird als Binärzahl, also eine Abfolge von ja/nein-Informationen im Sinne von Einsen und Nullen, in der Speicherzelle abgelegt.
Bezüglich des Speicherwerks ist eine wesentliche Designentscheidung der Von-Neumann-Architektur, dass sich Programm und Daten einen Speicherbereich teilen (dabei belegen die Daten in aller Regel den unteren und die Programme den oberen Speicherbereich). Demgegenüber stehen in der Harvard-Architektur Daten und Programmen eigene (physikalisch getrennte) Speicherbereiche zur Verfügung. Der Zugriff auf die  Speicherbereiche kann parallel realisiert werden, was zu Geschwindigkeitsvorteilen führt. Aus diesem Grund werden digitale Signalprozessoren häufig in Harvard-Architektur ausgeführt. Weiterhin können Daten-Schreiboperationen in der Harvard-Architektur keine Programme überschreiben (Informationssicherheit).
In der Von-Neumann-Architektur ist das Steuerwerk für die Speicherverwaltung in Form von Lese- und Schreibzugriffen zuständig.
Die ALU hat die Aufgabe, Werte aus Speicherzellen zu kombinieren. Sie bekommt die Werte von der Steuereinheit geliefert, verrechnet sie (addiert beispielsweise zwei Zahlen) und gibt den Wert an die Steuereinheit zurück, die den Wert dann für einen Vergleich verwenden oder in eine andere Speicherzelle schreiben kann.
Die Ein-/Ausgabeeinheiten schließlich sind dafür zuständig, die initialen Programme in die Speicherzellen einzugeben und dem Benutzer die Ergebnisse der Berechnung anzuzeigen.
Harvard-Architektur Super-Harvard-Architektur Von-Neumann-Architektur
Harvard-Architektur

== Geschichte ==
Der Name „Harvard-Architektur“ hat seinen Ursprung im elektromechanischen Computer Mark I, der in Kooperation zwischen IBM und der Harvard-Universität entwickelt und 1944 in Betrieb genommen wurde.
Die Harvard-Architektur wurde zunächst überwiegend in RISC-Prozessoren konsequent umgesetzt. Moderne Prozessoren in Harvard-Architektur sind in der Lage, parallel mehrere Rechenwerke gleichzeitig mit Daten und Befehlen zu füllen. Bei Signalprozessoren der C6x-Familie von Texas Instruments ist dies beispielsweise für bis zu acht Rechenwerke möglich.
Ein weiterer Vorteil der Trennung ist, dass die Datenwortbreite (die kleinste adressierbare Einheit) und die Befehlswortbreite unabhängig voneinander festgelegt werden können. Damit kann auch, wenn erforderlich, die Effizienz des Programmspeicherbedarfs verbessert werden, da sie nicht direkt von den Datenbusbreiten abhängig ist, sondern ausschließlich vom Befehlssatz. Dies kann z. B. in eingebetteten Systemen oder kleinen Mikrocontroller-Systemen von Interesse sein. 
Single-Chip-Mikrocontroller, die mit festen Programmen arbeiten, verwenden meist die Harvard-Architektur. Bekannte Vertreter sind z. B. (PICmicro) von Microchip Technology, die Intel-Familien 8048 und 8051, der STM8 von STMicroelectronics und die AVR-Reihe von Microchip Technology.
Eine bedeutende Erweiterung der Harvard-Architektur wurde von der amerikanischen Firma Analog Devices Anfang der 1990er Jahre durch die Einführung der Super-Harvard-Architektur-Technologie vorgenommen, bei der die genannten Speichersegmente als Dual-Port-RAMs ausgeführt sind, die kreuzweise zwischen den Programm- und Daten-Bussen liegen.
Viele moderne Prozessoren verwenden eine Mischform aus Harvard- und Von-Neumann-Architektur, bei der innerhalb des Prozessorchips Daten und Programm voneinander getrennt verwaltet werden, eigene Caches und MMUs haben und über getrennte interne Busse laufen, extern jedoch in einem gemeinsamen Speicher liegen. Wenn CPU-Pipelining implementiert ist, ist der Vorteil dieser Mischform (auf Prozessorebene), dass deren einzelne Pipelinestufen in Bezug auf Speicherzugriffe getrennt werden können. Ein typisches Beispiel für diese Art Prozessoren ist der Motorola 68030, der in den 1980er Jahren entwickelt wurde. Super-Harvard-Architektur

== Architektur ==
Die Super-Harvard-Architektur ist auf größeren Datendurchsatz optimiert und unterscheidet sich in wesentlichen Punkten von der klassischen Harvard-Architektur.
Viele Operationen benötigen zwei Operanden. Dies bedingt drei Buszugriffe, da sowohl der Befehl als auch die beiden Operanden benötigt werden. Um die Zahl der Buszugriffe zu reduzieren und zwei Busse zur Datenübertragung verwenden zu können, wird ein Cache für Befehle verwendet und der Befehlsspeicher auch für Daten verwendet.
Zunächst wird das Problem von aufeinanderfolgenden Zugriffen nur vom Daten- auf den Befehlsbus verlagert, aber durch das Zwischenspeichern des Befehls bleiben beim wiederholten Ausführen beide Busse für die Operanden frei. Der Vorteil des eingesparten Buszugriffs erhöht sich mit jeder Iteration.
Aus Verwendung des Befehlsspeichers für Daten ergibt sich das Problem der Übertragung der Daten in diesen Speicher. Die beiden Speicher wären entsprechend der Harvard-Architektur nur über den Prozessor miteinander verbunden. Eine Datenübertragung unter Einbeziehung des Prozessors würde jedoch die Optimierung durch den Befehlscaches zunichtemachen. Deshalb erfolgt die Datenübertragung zwischen den beiden Speichern mittels DMA. Von-Neumann-Architektur

=== Vergleich zur Harvard-Architektur ===
Eine der wichtigsten Konkurrenzarchitekturen ist die Harvard-Architektur mit einer physischen Separierung von Befehls- und Datenspeicher, auf die über getrennte Busse zugegriffen wird, also unabhängig und parallel. Der Vorteil dieser Architektur besteht darin, dass Befehle und Daten gleichzeitig geladen bzw. geschrieben werden können, also der Von-Neumann-Flaschenhals umgangen werden kann.
Die physikalische Trennung von Daten und Programm sorgt dafür, dass eine Zugriffsrechtetrennung und Speicherschutz einfach realisierbar sind.
Wurde für den Programmcode ein im Betrieb nur lesbarer Speicher verwendet, so ist das Überschreiben selbst durch Schadcode ausgeschlossen.
Nachteilig ist allerdings, dass nicht benötigter Datenspeicher nicht als Programmspeicher genutzt werden kann (und umgekehrt), also eine erhöhte Speicherfragmentierung auftritt