Informatik · Klasse 10–13 · aktualisiert
Harvard-Architektur: Aufbau und Vorteile erklärt
Du lernst, wie die Harvard-Architektur Befehle und Daten trennt, was das bringt und wie moderne Prozessoren sie mit der Von-Neumann-Idee mischen.
0 von 9 Aufgaben gelöst
Kurz gesagt
Die Harvard-Architektur trennt Befehlsspeicher und Datenspeicher, und jeder Speicher hat einen eigenen Bus. So können Befehle und Daten gleichzeitig geladen werden. Viele moderne Prozessoren mischen beide Ideen: im Chip getrennt, außerhalb gemeinsamer Speicher.
Wenn du ein Video schaust, muss dein Gerät ständig Befehle und Daten holen. Laufen beide über denselben Weg, entsteht ein Engpass. Die Harvard-Architektur ist eine Antwort darauf, und sie steckt auch in heutigen Prozessoren.
Deine Lernziele
Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.
4 Abschnitte
Ein Rechner arbeitet mit zwei Arten von Inhalten: Befehle (das Programm) und Daten, die verarbeitet werden. Die Harvard-Architektur ist ein Schaltungskonzept, bei dem der Befehlsspeicher vom Datenspeicher getrennt ist, und zwar logisch und physisch.
Logisch getrennt heißt: Es gibt verschiedene Adressräume, also getrennte Adressen für Befehle und Daten, und verschiedene Maschinenbefehle für den Zugriff auf beide Speicher. Physisch getrennt heißt: Es gibt zwei getrennte Speicher, auf die je über einen eigenen Bus zugegriffen wird. Ein Bus ist hier eine Verbindung zum Rechenwerk.
Dadurch kann der Rechner gleichzeitig Befehle lesen und Daten schreiben oder umgekehrt, ohne dass es zu Konflikten oder Wartezeiten kommt.
Der Name kommt vom elektromechanischen Computer Mark I, der in Kooperation zwischen IBM und der Harvard-Universität entwickelt und 1944 in Betrieb genommen wurde. Die getrennten Speicher ergaben sich daraus, dass Befehle auf papiernen Lochstreifen und Daten auf Magnettrommeln gespeichert waren.
Definition
Harvard-Architektur
Ein Schaltungskonzept, bei dem der Befehlsspeicher logisch und physisch vom Datenspeicher getrennt ist. Jeder der beiden Speicher hat einen eigenen Bus.
Merke: Harvard heißt: zwei Speicher, zwei Busse. Der eine Speicher hält die Befehle, der andere die Daten.
Teste dich
Die Von-Neumann-Architektur (VNA) ist ein Referenzmodell für Computer, wonach ein gemeinsamer Speicher sowohl Programmbefehle als auch Daten hält. Sie ist nach dem Mathematiker John von Neumann benannt, dessen wesentliche Arbeit zum Thema 1945 veröffentlicht wurde. Seine Idee war, dass auch die Programme im Speicher des Computers stehen sollen. Diese Idee setzte sich nach und nach durch.
In der Von-Neumann-Architektur teilen sich Programme und Daten denselben Speicher und denselben Datenbus. Befehle und Daten laufen also über denselben Datenpfad zwischen Prozessor und Speicher. Das ist flexibel: Der Speicher kann dynamisch zwischen Programmbefehlen und Daten aufgeteilt werden.
Der Preis: Befehle und Daten greifen nacheinander zu. Bei einer klassischen Von-Neumann-Architektur sind zum gleichzeitigen Laden von Befehl und Daten mindestens zwei aufeinander folgende Buszyklen nötig. Bei Harvard geht es gleichzeitig.
Definition
Von-Neumann-Flaschenhals
Leistungsverlust eines Prozessors, weil Daten- und Befehlszugriffe um einen gemeinsamen Bus konkurrieren. Der Bus ist wie der enge Hals einer Flasche.
| Merkmal | Von-Neumann | Harvard |
|---|---|---|
| Speicher | Ein gemeinsamer Speicher | Getrennte Speicher |
| Bus | Ein gemeinsamer Datenbus | Je Speicher ein eigener Bus |
| Zugriff | Befehle und Daten nacheinander | Gleichzeitig möglich |
Teste dich
Leistung: Weil Befehle und Daten gleichzeitig geladen oder geschrieben werden können, verbessert die Harvard-Architektur potenziell die Leistung. Moderne Prozessoren in Harvard-Architektur können parallel mehrere Rechenwerke gleichzeitig mit Daten und Befehlen füllen. Bei Signalprozessoren der C6x-Familie von Texas Instruments ist das beispielsweise für bis zu acht Rechenwerke möglich.
Anpassung: Die Breite eines Datenworts (die kleinste adressierbare Einheit) und die Breite eines Befehlsworts können unabhängig voneinander festgelegt werden. Das kann zum Beispiel in eingebetteten Systemen (etwa in Sensoren oder Steuergeräten) oder kleinen Mikrocontroller-Systemen von Interesse sein. Single-Chip-Mikrocontroller mit festen Programmen haben meist Harvard-Architektur. Außerdem kann man Programmcode auf einen im Betrieb nur lesbaren Speicher legen. So lässt sich verhindern, dass er bei Softwarefehlern überschrieben wird.
Grenzen: Die Speichersteuerung ist doppelt vorhanden, das macht die Architektur aufwändiger. Nicht benötigter Programmspeicher kann nicht als Datenspeicher genutzt werden und umgekehrt. Deshalb müssen beide Speicher großzügiger bemessen werden. Insgesamt sind Computer mit Harvard-Architektur nicht unwesentlich teurer.
Eine klassische Harvard-Architektur mit strikter Trennung von Befehls- und Datenbus ist außer in Spezialfällen unüblich. Es wären nur fertige Programme in nichtflüchtigem Speicher ausführbar. Das Nachladen von Programmen ist nicht möglich.
Beurteilung: Harvard findet man vor allem dort, wo hohe Leistungsfähigkeit und Effizienz gefragt sind und die Programme feststehen. Der Preis sind höhere Kosten und weniger Flexibilität bei der Speichernutzung.
Beispiel: Digitaler Signalprozessor
- 1Digitale Signalprozessoren verarbeiten kontinuierlich große Mengen an Daten, zum Beispiel Audio- oder Videosignale.
- 2Die Harvard-Architektur ermöglicht es, die Signalverarbeitung in Echtzeit durchzuführen.
- 3Der Grund: Befehle und Datenzugriffe können parallel ausgeführt werden.
Merke: Vorteile: gleichzeitige Zugriffe, frei wählbare Wortbreiten, Schutz des Programmcodes. Grenzen: doppelte Speichersteuerung, nicht tauschbarer Speicher, höhere Kosten.
Teste dich
Viele moderne Prozessoren verwenden eine Mischform aus Harvard- und Von-Neumann-Architektur. Innerhalb des Prozessorchips werden Daten und Programm getrennt verwaltet, haben eigene Caches und laufen über getrennte interne Busse. Außerhalb des Chips liegen sie jedoch in einem gemeinsamen Speicher. Eine weniger strikte Trennung von Befehls- und Datenspeichern nennt man auch modifizierte Harvard-Architektur.
Ein Cache ist ein schneller Pufferspeicher, der wiederholte Zugriffe auf vergleichsweise langsame Datenspeicher vermeiden hilft. Daten, die schon einmal geladen wurden, bleiben im Cache und sind später schneller abrufbar. Aktuelle Prozessoren haben überwiegend drei Cache-Stufen, genannt L1, L2 und L3. Moderne Prozessoren haben getrennte L1-Caches für Programme und Daten. Das erinnert an die Harvard-Architektur. So können Instruktionen und Daten gleichzeitig gelesen oder geschrieben werden, und der Von-Neumann-Flaschenhals wird weiter verringert.
Viele heutige Computer entsprechen aus Softwaresicht weiterhin dem einfachen Von-Neumann-Modell. Ihre Architekturen, zum Beispiel x86, wurden aber weit darüber hinaus weiterentwickelt, um Leistungszuwächse zu erzielen.
Ein Nachteil getrennter Caches: Selbstmodifizierender Code muss gesondert behandelt werden, was seine Ausführung stark verlangsamt. Solcher Code wird heute ohnehin nur noch sehr selten verwendet.
Definition
Mischform
Ein Prozessor, der innerhalb des Chips Daten und Programm getrennt verwaltet (eigene Caches, getrennte interne Busse). Außerhalb des Chips teilen sich beide einen gemeinsamen Speicher.
Beispiel: Cache-Stufen eines leistungsstarken Prozessors
- 1Niedrige, schnelle Cache-Stufen speichern häufig nur entweder Programmcode oder Daten. Das erinnert an die Harvard-Architektur.
- 2Höhere, langsamere Stufen und der Hauptspeicher speichern beides, wie bei der Von-Neumann-Architektur.
- 3Dreistufige Caches nehmen bei leistungsstarken Prozessoren etwa die Hälfte der Chipfläche ein.
Teste dich
Alles auf einen Blick
Harvard-Architektur
Aufbau
Befehlsspeicher und Datenspeicher sind getrennt, jeder Speicher hat einen eigenen Bus.
Unterschied
Die Von-Neumann-Architektur hat einen gemeinsamen Speicher und einen gemeinsamen Datenbus.
Vorteil
Befehle und Daten können gleichzeitig geladen oder geschrieben werden.
Grenzen
Die Speichersteuerung ist doppelt, ungenutzter Speicher des anderen Typs bleibt ungenutzt, die Computer sind nicht unwesentlich teurer.
Moderne Prozessoren
Viele nutzen eine Mischform mit getrennter Verwaltung im Chip und gemeinsamem Speicher außerhalb.
Musteraufgabe · Schritt für Schritt
Drei Geräte einordnen (ausgedachte Aufgabe)
- 1Aufgabe (ausgedacht): Ordne drei Geräte ein. Nutze nur die Regeln aus dieser Erklärung.
- 2Gerät A: ein Mikrocontroller in einem Steuergerät, der ein festes Programm abarbeitet. Regel: Single-Chip-Mikrocontroller mit festen Programmen haben meist Harvard-Architektur. Ergebnis: A passt meist zur Harvard-Architektur.
- 3Gerät B: ein Rechner, auf dem später neue Programme nachgeladen werden sollen. Regel: Bei klassischer, strikter Harvard-Architektur ist das Nachladen von Programmen nicht möglich. Ergebnis: B passt nicht zu einer strikten Harvard-Architektur.
- 4Gerät C: ein Prozessorchip, der innen Daten und Programm getrennt verwaltet, außen aber einen gemeinsamen Speicher nutzt. Regel: Das ist eine Mischform. Ergebnis: C ist eine Mischform.
Fehler finden
Prüfe die Aussagen zu getrennten Speichern In einer Zeile steckt ein Fehler. Tippe sie an.
Fehler in Zeile 4Der Fehler: Die Speicher sind fest getrennt, freier Platz lässt sich nicht tauschen. Richtig: Nicht benötigter Programmspeicher kann nicht als Datenspeicher genutzt werden und umgekehrt, deshalb müssen beide Speicher großzügiger bemessen werden.
Lückentext
Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.
In der Von-Neumann-Architektur liegen Programme und Daten in Speicher. Bei zwei getrennten Bussen der Harvard-Architektur können Befehle und Daten geladen werden. Nicht benötigter Programmspeicher kann nicht als Datenspeicher genutzt werden, deshalb müssen beide Speicher bemessen werden.
Karteikasten
Erst selbst überlegen, dann umdrehen.
Übung mit Feedback