Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Harvard-Architektur

Die Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept, bei dem der Befehlsspeicher logisch und physisch vom Datenspeicher getrennt ist.

Inhalt4 Abschnitte
  1. 1. Grundprinzip und Aufbau
  2. 2. Vorteile und technische Möglichkeiten
  3. 3. Entwicklung und moderne Mischformen
  4. 4. Typische Einsatzgebiete und Beispiele

Grundprinzip und Aufbau

Die Harvard-Architektur ist ein Schaltungskonzept für Computer, bei dem Befehlsspeicher und Datenspeicher logisch und physisch voneinander getrennt sind. Im Befehlsspeicher liegen die auszuführenden Programme, im Datenspeicher die zu verarbeitenden Daten.

Die logische Trennung besteht darin, dass Befehle und Daten verschiedene Adressräume besitzen und durch unterschiedliche Maschinenbefehle angesprochen werden. Die physische Trennung wird durch zwei eigenständige Speicher verwirklicht. Jeder Speicher ist über einen eigenen Bus – eine Verbindung zur Übertragung von Informationen – mit dem Rechenwerk verbunden.

Dadurch kann der Prozessor beispielsweise gleichzeitig einen Befehl lesen und Daten schreiben. Befehle und Daten behindern sich beim Speicherzugriff nicht gegenseitig. Sind beide Speicher weniger streng getrennt, spricht man von einer modifizierten Harvard-Architektur.

Vorteile und technische Möglichkeiten

Der wichtigste Vorteil besteht darin, dass Befehle und Daten gleichzeitig geladen oder geschrieben werden können. Eine klassische Von-Neumann-Architektur benötigt dafür mindestens zwei aufeinanderfolgende Buszyklen. Die Harvard-Architektur kann Speicherzugriffe daher stärker parallelisieren.

Die physische Trennung erleichtert außerdem die Trennung von Zugriffsrechten und den Speicherschutz. Programmcode kann in einem Speicher liegen, der während des Betriebs nur gelesen werden darf, etwa in einem ROM oder auf Lochkarten. Veränderliche Daten werden dagegen in einem beschreibbaren Speicher wie RAM oder Ringkernspeicher abgelegt. So lässt sich beispielsweise verhindern, dass ein Softwarefehler den Programmcode überschreibt.

Ein weiterer Vorteil ist, dass Datenwortbreite und Befehlswortbreite unabhängig voneinander gewählt werden können. Die Wortbreite bezeichnet dabei die kleinste adressierbare Einheit. Der Speicherbedarf eines Programms kann dadurch passend zum Befehlssatz gestaltet werden und ist nicht unmittelbar von der Breite des Datenbusses abhängig. Das ist besonders für eingebettete Systeme und kleine Mikrocontroller-Systeme interessant.

Entwicklung und moderne Mischformen

Die Bezeichnung geht auf den elektromechanischen Computer Mark I zurück, der gemeinsam von IBM und der Harvard-Universität entwickelt und 1944 in Betrieb genommen wurde. Bei ihm waren Programme und Daten schon aufgrund der verwendeten Speichermedien getrennt: Befehle befanden sich auf papiernen Lochstreifen, Daten auf Magnettrommeln.

1945 formulierte John von Neumann die Idee, auch Programme im Speicher des Computers abzulegen. Die daraus hervorgegangene Von-Neumann-Architektur setzte sich nach und nach durch. Später wurde die Harvard-Architektur zunächst vor allem bei RISC-Prozessoren wieder eingeführt.

Moderne Harvard-Prozessoren können mehrere Rechenwerke parallel mit Befehlen und Daten versorgen. Bei Signalprozessoren der C6x-Familie von Texas Instruments ist dies beispielsweise für bis zu acht Rechenwerke möglich.

Anfang der 1990er Jahre führte Analog Devices die Super-Harvard-Architektur ein. Bei dieser Erweiterung liegen die Speichersegmente in Dual-Port-RAMs, also Speichern mit zwei Zugriffswegen, die kreuzweise zwischen Programm- und Datenbussen angeordnet sind.

Viele moderne Prozessoren kombinieren Harvard- und Von-Neumann-Architektur. Innerhalb des Prozessorchips werden Programme und Daten getrennt verwaltet und besitzen eigene Caches, MMUs und interne Busse. Ein Cache ist ein schneller Zwischenspeicher; eine MMU verwaltet Speicheradressen und Zugriffsrechte. Außerhalb des Chips befinden sich Programme und Daten jedoch in einem gemeinsamen Speicher. Bei einer Pipeline-Architektur können dadurch die einzelnen Verarbeitungsstufen hinsichtlich ihrer Speicherzugriffe getrennt werden. Ein typisches Beispiel ist der in den 1980er Jahren entwickelte Motorola 68030.

Typische Einsatzgebiete und Beispiele

Die Harvard-Architektur wird vor allem dort verwendet, wo hohe Leistung, effiziente Speicherzugriffe oder eine zuverlässige Trennung von Programm und Daten benötigt werden.

Digitale Signalprozessoren verarbeiten kontinuierlich große Datenmengen, beispielsweise Audio- oder Videosignale. Durch parallele Befehls- und Datenzugriffe unterstützt die Harvard-Architektur eine Verarbeitung in Echtzeit.

Auch Single-Chip-Mikrocontroller mit festen Programmen besitzen häufig eine Harvard-Architektur. Sie kommen in eingebetteten Systemen wie Sensoren, Aktoren und Steuergeräten zum Einsatz. Dort sind geringer Stromverbrauch, hohe Zuverlässigkeit sowie die anpassbare Wortbreite und Speicheraufteilung von Bedeutung. Genannte Vertreter sind PICmicro von Microchip Technology, die Intel-Familien 8048 und 8051, der STM8 von STMicroelectronics sowie die AVR-Reihe von Microchip Technology.

Nach Darstellung des Artikels wird die Architektur außerdem in spezialisierten Rechnern für künstliche Intelligenz eingesetzt, die etwa neuronale Netze oder Verfahren des maschinellen Lernens ausführen. Die getrennte Verwaltung von Befehls- und Datenspeicher ermöglicht dabei hohe Rechenleistung und starke Parallelisierung. Der Wikipedia-Artikel weist allerdings allgemein darauf hin, dass seine Angaben nicht hinreichend mit Belegen abgesichert sind.

Lernvideos zu Harvard-Architektur

Weiterlesen

Informatik Als einfache Rechengeräte leisteten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruierte Blaise Pascal eine mechanische … Datenspeicher Chemo-optische Speicher, die durch einen chemischen Prozess Daten in Form von Lichtbildern (statischen und bewegten Bildern sowie Lichtton) speichern. Die … Von-Neumann-Architektur Die Von-Neumann-Architektur (VNA) ist ein Referenzmodell für Computer, wonach ein gemeinsamer Speicher sowohl Computerprogrammbefehle als auch Daten hält. Lochkarte Eine Lochkarte (LK) ist ein aus stabilem dünnen Karton gefertigter Datenträger, der früher vor allem in der Datenverarbeitung zur Speicherung von Daten und … John von Neumann Von Neumann gilt als einer der Väter der Informatik. Nach ihm wurde die Von-Neumann-Architektur (auch Von-Neumann-Rechner) benannt, ein Computer, in dem … Mikrocontroller Ein Mikrocontroller ist damit ein „Ein-Chip-Computersystem“ und bringt alle notwendigen Bausteine für einen kleinen Computer mit sich. Eine MCU unterscheidet … PICmicro Bei PICmicro handelt es sich um eine Mikrocontrollerfamilie, die von der Firma Microchip Technology Inc. hergestellt wird. Ein 16-bit-Mikrocontroller … Microchip AVR Microchip AVR (vormals Atmel AVR) ist eine 8-Bit-Mikrocontroller-Familie des US-amerikanischen Herstellers Microchip. Die Controller dieser Familie sind … Cache Cache ([kæʃ], auch [ kaʃ]) bezeichnet in der Informationstechnik einen schnellen Pufferspeicher, der (wiederholte) Zugriffe auf vergleichsweise langsame … Künstliche Intelligenz Künstliche Intelligenz (kurz KI, englisch artificial intelligence, kurz AI) ist ein Forschungs- und Anwendungsgebiet der Informatik. Neuronales Netz Als neuronales Netz wird in den Neurowissenschaften eine beliebige Anzahl miteinander verbundener Neuronen bezeichnet, die als Teil eines Nervensystems … Maschinelles Lernen Maschinelles Lernen (ML) entwickelt, untersucht und verwendet statistische Algorithmen, auch Lernalgorithmen genannt. Solche Algorithmen können lernen, …