Das Harvard-Architektur ist eine Computerkonfiguration, bei 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 die Anweisungen und die Daten bereitzustellen..
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 befinden könnten, beispielsweise auf Lochkarten, und gespeicherte Daten sich auf einem anderen Medium befinden könnten, beispielsweise auf Magnetbändern..
Artikelverzeichnis
Diese Art von Architektur findet breite Anwendung in Video- und Audioverarbeitungsprodukten. Mit jedem Tool zur Verarbeitung von Video und Audio können Sie die Figur der Harvard-Architektur sehen.
Analoge Geräte Blackfin-Prozessoren sind das Gerät, bei dem sie hauptsächlich verwendet werden. In anderen auf elektronischen Chips basierenden Produkten 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.
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 gewährten sie keinen Zugriff auf die Anweisungen, die als Daten gespeichert werden sollten. Ein Bediener musste die Programme laden.
Eine Harvard-Architektur kann gleichzeitig Daten verarbeiten und Anweisungen ausführen, da jede von ihnen einen eigenen Adressbus hat.
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 verursacht wird.
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..
In heutigen Computern gibt es keine physische Auflösung 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. Wird in Mikrocontrollern und in der digitalen Signalverarbeitung verwendet.
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, den Programmcode im Datenspeicher abzulegen und von dort aus auszuführen.
Zu 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 jedes Mal in einen langsameren Speicher gehen zu müssen, um zum Schritt des Programms zu gelangen erforderlich.
Ein Computer mit Harvard-Architektur hat unterschiedliche Daten- und Anweisungsadressbereiche: Die Anweisungsadresse 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..
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..
- Die Wahrscheinlichkeit einer Beschädigung der Übertragung ist geringer, 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. Beispielsweise können Sie die Anweisungen in einem kostengünstigen ROM und die Daten in einem teuren RAM ablegen..
- Die beiden Speicher können unterschiedliche Zellengrößen verwenden, wodurch Ressourcen effektiv genutzt werden.
- Es hat eine höhere Speicherbandbreite, die vorhersehbarer ist, wenn separate Speicher für Anweisungen und Daten vorhanden sind..
In Systemen ohne Speicherverwaltungseinheit bietet es eine zusätzliche Schutzstufe, da es nicht möglich ist, Daten wie Code auszuführen, wodurch das System zahlreichen Problemen wie einem Pufferüberlauf ausgesetzt wäre.
Aus diesem Grund ist es bei kleinen eingebetteten Systemen wie einer Mikrowelle oder einer Uhr beliebt..
Die Harvard-Architektur kann eine Anweisung lesen und gleichzeitig mit hoher Geschwindigkeit auf den Datenspeicher zugreifen.
Es bietet eine höhere Leistung, da es das gleichzeitige Abrufen von Daten und Anweisungen ermöglicht, indem es in separaten Speichern gespeichert wird und durch verschiedene Busse fährt.
Eine Harvard-Architektur hilft im Allgemeinen einem Computer mit einer bestimmten Komplexität, schneller als eine Von Neumann-Architektur zu arbeiten, solange keine Ressourcen zwischen Daten- und Codespeichern gemeinsam genutzt werden müssen..
Wenn Pin-Einschränkungen oder andere Faktoren die Verwendung eines einzelnen Busses für den Zugriff auf beide Speicherplätze erzwingen, werden solche Vorteile wahrscheinlich weitgehend zunichte gemacht.
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 zeitaufwändiger in der Herstellung. Erfordert eine Steuereinheit für zwei Busse, deren Entwicklung komplizierter, zeitaufwändiger und kostspieliger ist.
Dies bedeutet eine komplexere Implementierung für die Hersteller. Es erfordert mehr Pins auf der CPU, ein komplexeres Motherboard und das Duplizieren der RAM-Chips sowie ein komplexeres Cache-Design.
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..
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..
Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.