- Anwendungen
- Ursprung
- Modell
- Modifizierte Harvard-Architektur
- Wie funktioniert die Harvard-Architektur?
- Ergänzungen in der Architektur
- Speicheradressen
- Speichersystem
- Vorteil
- Schutzlevel
- Höhere Geschwindigkeit
- Nachteile
- Höhere Komplexität und Kosten
- Wenig Verwendung
- Missbrauch von Speicherplatz
- Verweise
Die Harvard-Architektur ist eine Konfiguration des Computers, in der sich die Daten und Anweisungen eines Programms in separaten Speicherzellen befinden, die unabhängig voneinander adressiert werden können.
Das heißt, es ist der Begriff, der für ein Computersystem verwendet wird, das zwei separate Bereiche enthält: für Befehle oder Anweisungen und für Daten. Daher besteht die Hauptfunktion dieser Architektur darin, die Daten physikalisch getrennt zu speichern und unterschiedliche Signalpfade für Anweisungen und Daten bereitzustellen.
Quelle: Von Nessa los - Eigene Arbeit, CC BY-SA 3.0, commons.wikimedia
In dieser Architektur können sowohl das Format als auch die Medien dieser beiden Segmente des Systems ungleich sein, da die beiden Teile aus zwei getrennten Strukturen bestehen.
Einige Beispiele für Harvard-Architekturen betreffen frühe Computersysteme, bei denen sich Programmanweisungen auf einem Medium, beispielsweise auf Lochkarten, und gespeicherte Daten auf einem anderen Medium, beispielsweise auf Magnetbändern, befinden könnten.
Anwendungen
Diese Art von Architektur findet breite Anwendung in Video- und Audioverarbeitungsprodukten. Mit jedem Tool zur Verarbeitung von Video und Audio kann die Figur der Harvard-Architektur gesehen werden.
Analoge Geräte Blackfin-Prozessoren sind das Gerät, in dem sie hauptsächlich verwendet werden. In anderen Produkten auf der Basis elektronischer Chips ist die Harvard-Architektur ebenfalls weit verbreitet.
Die meisten Computer verwenden jedoch die von Neumann-Architektur und verwenden CPU-Caches, um eine Überlappung zu erzielen.
Ursprung
Die Arbeiten an der Harvard University in den 1940er Jahren unter der Leitung von Howard Aiken schufen einen originalen relaisbasierten Computer namens Harvard Mark I, aus dem das Konzept der Harvard-Architektur hervorging.
Dieser Computer verwendete separate Speichereinheiten zum Speichern von Daten und Anweisungen. Dann hat sich diese Architektur erheblich weiterentwickelt.
Aiken befürwortete die Verwendung separater Speicher für Daten und Programmanweisungen mit jeweils separaten Bussen.
Die ursprüngliche Harvard-Architektur speicherte normalerweise Anweisungen auf Lochbändern und Daten auf elektromechanischen Zählern.
Die Datenspeicherung dieser frühen Maschinen erfolgte vollständig innerhalb der Zentraleinheit. Andererseits gaben sie keinen Zugriff auf die Anweisungen, die als Daten gespeichert werden sollten. Ein Bediener musste die Programme laden.
Eine Harvard-Architektur kann Daten verarbeiten und gleichzeitig Befehle ausführen, da jeder von ihnen einen eigenen Adressbus hat.
Modell
Dieses Modell zeichnet sich dadurch aus, dass die Informationsbusse und der Speicher für die Daten und den Programmcode physisch getrennt sind.
Da die Busse autonom arbeiten, können Daten- und Programmanweisungen gleichzeitig abgerufen werden, wodurch die Geschwindigkeit gegenüber dem Einzelbusdesign verbessert wird.
Daher erweist sich das Harvard-Modell als komplexer. Durch die unabhängige Nutzung der Busse wird jedoch der Engpass vermieden, der durch die von Neumann-Architektur entsteht.
Ein Computer kann für eine Schaltung mit einer bestimmten Komplexität schneller sein, da das Suchen nach Anweisungen und der Zugriff auf Daten nicht um einen einzelnen Speicherbus kämpfen muss.
Zum Arbeiten gibt es zwei Speicheradressen. Daher gibt es ein Speicherregister für Maschinenanweisungen und ein anderes Speicherregister für Daten.
Im Gegensatz zur von Neumann-Architektur, die einen Bus verwendet, um sowohl Befehle als auch Daten im Speicher zu verschieben, verwendet die Harvard-Architektur einen Speicherbereich für Daten und einen anderen für Befehle.
Modifizierte Harvard-Architektur
In heutigen Computern gibt es keine physische Disaggregation der von Programmen und Daten verwendeten Speicherbereiche. Aus diesem Grund könnte man sagen, dass sie technologisch eine Von Neumann-Architektur haben.
Die modifizierte Harvard-Architektur dient jedoch dazu, die heutigen Computer am besten darzustellen.
Aktuelle Verarbeitungseinheiten teilen sich zwar den Speicher, sie verfügen jedoch über bestimmte Elemente, z. B. eindeutige Anweisungen, die verhindern, dass Daten mit Anweisungen verwechselt werden. Dies wird als modifizierte Harvard-Architektur bezeichnet.
Somit verfügt die modifizierte Harvard-Architektur über zwei separate Busse, einen für Code und einen für Daten, aber der Speicher selbst ist ein physisch gemeinsam genutztes Element.
Auf dem Speichercontroller befindet sich die Änderung, da dieses Gerät den Speicher verwaltet und wie er verwendet werden soll.
Moderne Computerdesigns werden von der modifizierten Harvard-Architektur unterstützt. Sie werden in Mikrocontrollern und in der digitalen Signalverarbeitung eingesetzt.
Wie funktioniert die Harvard-Architektur?
Die Harvard-Architektur hat unterschiedliche Speicheradressbereiche für das Programm und für die Daten.
Dies führt zu der Fähigkeit, eine Schaltung so zu gestalten, dass ein Bus und eine Steuerschaltung verwendet werden können, um den Informationsfluss aus dem Programmspeicher zu verarbeiten, und eine separate Schaltung, um den Informationsfluss zum Datenspeicher zu handhaben.
Durch die Verwendung separater Busse kann ein Programm abgerufen und ausgeführt werden, ohne durch die gelegentliche Übertragung von Daten in den Datenspeicher unterbrochen zu werden.
Beispielsweise könnte in einer einfachen Version dieser Architektur die Programmwiederherstellungseinheit damit beschäftigt sein, den nächsten Befehl in der Programmsequenz abzurufen und parallel eine Datenübertragungsoperation auszuführen, die Teil des vorherigen Programmbefehls gewesen sein könnte. .
Auf dieser Ebene weist die Harvard-Architektur eine Einschränkung auf, da es im Allgemeinen nicht möglich ist, Programmcode in den Datenspeicher zu stellen und von dort aus auszuführen.
Ergänzungen in der Architektur
Der einfachen Form der Harvard-Architektur können viele kompliziertere vorhandene Varianten hinzugefügt werden.
Eine übliche Ergänzung ist das Hinzufügen eines Befehls-Cache zum Datenbus des Programms, wodurch die Befehlsausführungseinheit einen schnelleren Zugriff auf den nächsten Schritt im Programm ermöglicht, ohne in einen langsameren Speicher gehen zu müssen, um zum Schritt zu gelangen. des Programms jedes Mal, wenn es benötigt wird.
Speicheradressen
Ein Computer mit Harvard-Architektur verfügt über unterschiedliche Befehls- und Datenadressbereiche: Die Befehlsadresse 1 ist nicht derselbe Bereich wie die Datenadresse 1.
Die Befehlsadresse 1 könnte einen 24-Bit-Wert enthalten, während die Datenadresse 1 ein 8-Bit-Byte angeben könnte, das nicht Teil dieses 24-Bit-Werts ist.
Speichersystem
Da es einen separaten Speicherbereich für Anweisungen und Daten gibt, der sowohl die Signale als auch den Speicher des Codes und der Daten trennt, ist es möglich, gleichzeitig auf jedes der Speichersysteme zuzugreifen.
Vorteil
- Es besteht eine geringere Wahrscheinlichkeit einer Beschädigung der Übertragung, da Daten und Anweisungen über verschiedene Busse übertragen werden.
- Auf Daten und Anweisungen wird auf die gleiche Weise zugegriffen.
- Ermöglicht verschiedene Speichermedien für Anweisungen und Daten. Zum Beispiel können Sie die Anweisungen in ein kostengünstiges ROM und die Daten in ein teures RAM stellen.
- Die beiden Speicher können unterschiedliche Zellengrößen verwenden, wodurch Ressourcen effektiv genutzt werden.
- Es hat eine größere Speicherbandbreite, die vorhersehbarer ist, wenn separate Speicher für Anweisungen und Daten vorhanden sind.
Schutzlevel
In Systemen ohne Speicherverwaltungseinheit bietet es eine zusätzliche Schutzstufe, da Daten nicht als Code gestartet werden können, wodurch das System vielen Problemen wie einem Pufferüberlauf ausgesetzt wäre.
Deshalb ist es bei kleinen eingebetteten Systemen wie der Mikrowelle oder einer Uhr beliebt.
Höhere Geschwindigkeit
Die Harvard-Architektur kann eine Anweisung lesen und gleichzeitig mit hoher Geschwindigkeit auf den Datenspeicher zugreifen.
Es bietet eine höhere Leistung, da gleichzeitig Daten und Anweisungen in separaten Speichern gespeichert und über verschiedene Busse übertragen werden können.
Eine Harvard-Architektur hilft einem Computer mit einer bestimmten Komplexität im Allgemeinen dabei, schneller als eine Von Neumann-Architektur zu laufen, solange keine Ressourcen zwischen Code und Datenspeichern gemeinsam genutzt werden müssen.
Wenn Pin-Einschränkungen oder andere Faktoren die Verwendung eines einzelnen Busses für den Zugriff auf beide Speicherbereiche erzwingen, werden diese Vorteile wahrscheinlich weitgehend zunichte gemacht.
Nachteile
Höhere Komplexität und Kosten
Das Problem bei der Harvard-Architektur ist ihre große Komplexität und ihre hohen Kosten, da anstelle eines Datenbusses jetzt zwei benötigt werden.
Die Herstellung eines Zwei-Bus-Computers ist viel teurer und dauert länger. Es erfordert eine Steuereinheit für zwei Busse, deren Entwicklung komplizierter und zeitaufwendiger und teurer ist.
Dies bedeutet eine komplexere Implementierung für die Hersteller. Es erfordert mehr Pins auf der CPU, ein komplexeres Motherboard und das Duplizieren von RAM-Chips sowie ein komplexeres Cache-Design.
Wenig Verwendung
Die Harvard-Architektur ist nicht weit verbreitet, was die Implementierung erschwert. Aus diesem Grund wird es außerhalb der CPU nur selten verwendet.
Diese Architektur wird jedoch manchmal innerhalb der CPU verwendet, um ihre Caches zu verwalten.
Missbrauch von Speicherplatz
Wenn im Datenspeicher freier Speicherplatz vorhanden ist, kann er nicht zum Speichern von Anweisungen verwendet werden und umgekehrt.
Daher müssen die besonderen Erinnerungen, die jedem von ihnen gewidmet sind, bei ihrer Herstellung sorgfältig ausgewogen sein.
Verweise
- Unterschiede auflisten (2019). Unterschied zwischen Von Neumann und Harvard Architecture? Entnommen aus: listdifferences.com.
- PC Magazine (2019). Definition von: Harvard-Architektur. Entnommen aus: pcmag.com.
- Techopedia (2019). Harvard-Architektur. Entnommen aus: deckenpedia.com.
- Scott Thornton (2018). Was ist der Unterschied zwischen Von-Neumann- und Harvard-Architekturen? Tipps für Mikrocontroller. Entnommen aus: microcontrollertips.com.
- Wikipedia, die freie Enzyklopädie (2019). Harvard-Architektur. Entnommen aus: en.wikipedia.org.
- Der verrückte Programmierer (2019). Unterschied zwischen Von Neumann und Harvard Architecture. Entnommen aus: thecrazyprogrammer.com.