← SEARCHABLE ARCHIVE
Computer Science · 2026-07-15

Was ist Harvard-Architektur?

Warum den Speicher für Anweisungen und Daten trennen?

INTERACTIVE READING MODE →

Die in diesem Blog verfassten Artikel wurden mit dem Ziel erstellt, zu unterrichten. Außerdem können die Informationen im Artikel falsch sein, also seien Sie bitte vorsichtig.

Ein Computer muss Programmanweisungen und die vom Programm verwendeten Daten irgendwo speichern und auslesen. Zu diesem Zeitpunkt wird die Struktur der getrennten Speicherung von Anweisungen und Daten in verschiedenen Speichern als Harvard-Architektur bezeichnet.

Anweisungen und Daten sind getrennt

In der Harvard-Architektur sind Befehlsspeicher und Datenspeicher physisch getrennt. Der Bus, der zur CPU führt, wird auch separat genutzt.

Befehlsspeicher ── Befehlsbus ──┐
                                CPU
Datenspeicher ── Datenbus ───┘

Während die CPU den nächsten Befehl abholt, können gleichzeitig auch die für den aktuellen Befehl erforderlichen Daten gelesen werden. Im Vergleich zu einer Struktur, bei der Anweisungen und Daten abwechselnd einen Pfad nutzen, können Engpässe reduziert werden.

Darüber hinaus können die Spezifikationen der beiden Speicher unterschiedlich gestaltet sein. Anweisungen können im Nur-Lese-Speicher abgelegt werden und Daten können im Lese-/Schreibspeicher gespeichert werden, oder die Bitbreiten von Anweisungen und Daten können unterschiedlich sein.

Wie unterscheidet es sich von der von Neumann-Struktur?

Von Neumann Architecture platziert Anweisungen und Daten im selben Speicher und Bus.

Harvard-Struktur
Befehlsspeicher ─┐
               CPU
Datenspeicher ─┘

von Neumann-Struktur
Befehl + Datenspeicher ── CPU

Die von Neumann-Struktur verfügt nur über einen Speicherplatz, sodass Programmierung und Hardwarekonfiguration relativ einfach sind. Allerdings nutzen das Abrufen von Anweisungen und das Lesen von Daten denselben Pfad, sodass es schwierig ist, sie gleichzeitig zu verarbeiten.

Umgekehrt eignet sich die Harvard-Struktur gut für den gleichzeitigen Zugriff, es ist jedoch schwierig, den Platz flexibel zu nutzen, indem Daten anstelle von leerem Befehlsspeicher verwendet werden. Da Speicher und Bus separat erstellt werden müssen, wird die Hardware komplexer.

Wo kann man es verwenden?

Die Harvard-Struktur lässt sich leicht an Mikrocontrollern oder DSPs erkennen, die schnell auf Eingaben reagieren müssen. Es eignet sich gut für Umgebungen, in denen das Programm definiert ist und die gleichzeitige Verarbeitung von Befehlen und Daten wichtig ist.

Es ist schwierig, eine CPU in einem modernen PC zu identifizieren. Der Hauptspeicher speichert Anweisungen und Daten zusammen, in der Nähe der CPU wird jedoch häufig die modifizierte Harvard-Architektur verwendet, die den Befehlscache und den Datencache trennt.

Mit anderen Worten: Der Kern der Harvard-Architektur besteht nicht einfach darin, dass es zwei Erinnerungen gibt. Es kann als eine Struktur verstanden werden, die es der CPU ermöglicht, zwei Aufgaben gleichzeitig auszuführen, indem unterschiedliche Speicherplätze und Pfade für Anweisungen und Daten verwendet werden.