Harvard-Architektur
On Januar 24, 2022 by adminGCSE Computerarchitektur (14-16 Jahre)
- Eine editierbare PowerPoint-Präsentation
- Editierbare Handouts zur Wiederholung
- Ein Glossar, das die Schlüsselbegriffe des Moduls abdeckt
- Mindmaps zum Thema, um die Schlüsselkonzepte zu visualisieren
- Ausdruckbare Lernkarten, um den Schülern zu helfen, sich aktiv zu erinnern und dieWiederholung zu unterstützen
- Ein Quiz mit begleitendem Antwortschlüssel, um das Wissen und Verständnis des Moduls zu testen
A-Level Die Merkmale zeitgenössischer Prozessoren (16-18 Jahre)
- Eine bearbeitbare PowerPoint-Präsentation
- Bearbeitbare Handouts zur Wiederholung
- Ein Glossar, das die Schlüsselbegriffe des Moduls abdeckt
- Mindmaps zum Thema, um die Schlüsselkonzepte zu visualisieren
- Ausdruckbare Karteikarten, um den Schülern zu helfen, sich aktiv zu erinnern und auf VertrauenWiederholung
- Ein Quiz mit begleitendem Antwortschlüssel, um Wissen und Verständnis des Moduls zu testen
EINFÜHRUNG
Mikrocontroller verwenden im Allgemeinen zwei Arten von Architektur.
- Von-Neumann-Architektur
- Harvard-Architektur
Die Von-Neumann-Architektur besteht aus einer Steuereinheit, einer arithmetischen und einer logischen Einheit, Eingängen/Ausgängen und Registern.
In der Von-Neumann-Architektur, die von vielen Mikrocontrollern verwendet wird, befindet sich der Speicherplatz auf demselben Bus, so dass Befehle und Daten denselben Speicher verwenden wollen. Sie verwendet das Konzept des speicherprogrammierten Computers.
Die Harvard-Architektur besteht aus der arithmetischen Logikeinheit, dem Datenspeicher, der Eingabe/Ausgabe, dem Datenspeicher, dem Befehlsspeicher und der Steuereinheit.
Die Harvard-Architektur verfügt über einen getrennten Speicher für Daten und Befehle. Auf diese Weise können sowohl Befehle als auch Daten gleichzeitig abgerufen werden, was es für die Benutzer bequem macht.
In der Harvard-Architektur werden Befehle im Nur-Lese-Speicher und Daten im Schreib-Lese-Speicher verwendet.
Die Harvard-Architektur wird meistens mit der CPU verwendet, aber manchmal auch mit dem Hauptspeicher, da sie etwas komplexer und teurer ist.
Die Größe des Speichers für Befehle und Daten ist im Fall der Harvard-Architektur unterschiedlich. Programme können niemals automatisch ablaufen und die Organisation des Speichers liegt nicht in den Händen des Benutzers. In diesem Artikel können wir die verschiedenen Merkmale der Harvard-Architektur betrachten.
BEISPIELE DER HARVARD-ARCHITEKTUR
Ein Beispiel für die Harvard-Architektur sind die frühen Großrechnersysteme, bei denen die Anweisungen auf einem Programmiermedium wie Lochkarten und die Daten auf dem anderen [Programmiermedium wie Bändern] gespeichert werden. Die Ergebnisse der Harvard-Architektur sind ihre entsprechenden Bilder.
Datenflussmaschinen und Reduktionsmaschinen sind ebenfalls Beispiele für die Harvard-Architektur. Sie weisen eine hohe Parallelität auf, was bedeutet, dass die Ergebnisse von Daten und Befehlen gleichzeitig erzielt werden können.
Quantencomputer können ebenfalls als Beispiel für die Harvard-Architektur angeführt werden. Der Unterschied zwischen anderen Computern und Quantencomputern besteht in der Zeit, die sie für die Erledigung einer Aufgabe benötigen, und in der Reihenfolge, in der sie Prioritäten setzen.
Die Enigma-Maschinen, die in den Weltkriegen eingesetzt wurden, folgen ebenfalls der Harvard-Architektur,
Ein weiteres wichtiges Beispiel für die Harvard-Architektur ist der DIGITALE SIGNALPROZESSOR, der in erster Linie auf dem Konzept der Harvard-Architektur beruht. Schauen wir uns an, wie der DSP im Detail funktioniert.
DIGITALER SIGNALPROZESSOR
- Digitale Signalprozessoren werden verwendet, um Daten zu streamen, und sie werden verwendet, um mehrere Befehle gleichzeitig zu holen, indem sie eine spezielle Speicherarchitektur und einen getrennten Daten- und Programmspeicher verwenden.
- DSP’s manipulieren mathematisch Prozeduren unter realen Aspekten wie Audio, Video, Stimme, Druck und digitalisieren sie.
- Sie werden auch zur Durchführung mathematischer Operationen wie Addition, Subtraktion, Multiplikation und Division verwendet. Die Verarbeitung von Signalen ist wichtig, weil die darin enthaltenen Informationen angezeigt und analysiert werden müssen, damit sie in ein anderes Signal umgewandelt werden können, und zwar in das Format, das die Benutzer benötigen, damit sie es interessant finden.
- Analog-Digital-Wandler übernehmen die Aufgabe, die oben genannten Aspekte in digitale Signale in Form von 0 und 1 umzuwandeln. Der DSP nimmt dann die digitalisierten Signale und verarbeitet sie.
- Er nimmt die digitalisierten Signale und wandelt sie mit Hilfe des Analog-Digital-Wandlers wieder in analoge Signale um und macht sie so für die reale Welt nutzbar. Die Geschwindigkeit, mit der all diese Prozesse ablaufen, ist sehr hoch.
- Lassen Sie uns sehen, wie der digitale Signalprozessor auf Mp3-Geräten arbeitet. Im Allgemeinen nimmt er die Eingänge über Empfänger auf und wandelt sie mit Hilfe eines Analog-Digital-Wandlers in ein digitales Signal (in Form von 0 und 1) um. Nach der Konvertierungsphase erfolgt die Kodierung, und die kodierte Datei wird im Speicher gespeichert.
- Danach folgt die Dekodierungsphase, in der die Datei aus dem Speicher entnommen und mit Hilfe eines Digital-Analog-Wandlers in analoge Signale umgewandelt wird, die dann über das Lautsprechersystem wiedergegeben werden. Dies ist der Prozess, der im MP3-Gerät abläuft. Es führt auch komplexe Funktionen wie die Steuerung der Lautstärke, die Bearbeitung von Frequenzen und, so weiter.
- Ein DPS kann vom Computer verwendet werden, um Dinge wie Effizienz, Übertragung usw. zu steuern. Die Signale durchlaufen zuerst die Verarbeitungsphase und dann die Übertragungsphase. Telekonferenzen verwenden Telefonsignale zur Übertragung von Audio- und Videoleitungen. Die Qualität der Signale kann manipuliert oder improvisiert werden, damit sie für die Augen des Benutzers besser erscheinen. Für die Augen des Benutzers ist sie unsichtbar. Beispiel: Echounterdrückung bei Telefonen.
- Obwohl Signale in der realen Welt auf analoge Weise verarbeitet werden können, können diese digital verarbeiteten Signale mit hoher Geschwindigkeit übertragen werden, und sie sind sehr genau.
KOMPONENTEN IN EINEM DSP
Digitaler Signalprozessor besteht aus folgenden Teilen:
Programmspeicher:
Er verwendet verarbeitete Daten und speichert das Programm im Speicher. Er ist im Allgemeinen nichtflüchtig. In diesem Programmspeicher wird ein Flash-Speicher verwendet, bei dem eine Neuprogrammierung über eine Hardwareschnittstelle möglich ist. Und der Programmspeicher verwendet im Allgemeinen das Konzept des Stacks.
Datenspeicher:
Datenspeicher wird Random Access Memory genannt. Es ist ein temporärer Ort zum Speichern von Variablen und Konstanten während der Programmausführung. Die Menge des Speichers, der RAM ist, variiert von einem Mikrocontroller zum anderen.
Compute Engine:
Sie führt mathematische Operationen aus und sammelt Daten und Programme von ihren jeweiligen Orten. Es sammelt Anweisungen aus dem Programmspeicher und es sammelt auch Daten aus dem Datenspeicher.
Eingabe/Ausgabe:
Die Technik, die verwendet wird, um Daten von einem externen Gerät und einem Mikrocontroller zu übertragen, wird Eingabe/Ausgabe genannt. Der Benutzer kommuniziert mit dem Mikrocontroller über die Eingabe/Ausgabe. Der Benutzer gibt seine Daten über die Tastatur des Eingabegeräts ein und holt sich die gewünschte Ausgabe von den Druckern oder Festplatten des externen Geräts. Diese Eingabe-/Ausgabegeräte werden als Peripheriegeräte bezeichnet und sind die häufigsten Geräte, die im Mikrocontrollersystem verwendet werden.
ARCHITEKTUR DES DIGITALEN SIGNALPROZESSORS
SOFTWARE-ARCHITEKTUR:
Die in DSP verwendeten Befehlssätze sind unregelmäßig. Während die üblichen Befehlssätze für die normalen Operationen eines Computers verwendet werden, werden die DSP-Sätze für spezielle mathematische Operationen verwendet.
Assembler-Programme werden in der Regel in Bibliotheken zur Wiederverwendung abgelegt, während andere Maschinen Compiler-Methoden verwenden, um wesentliche Algorithmen zu speichern. Viele Programme, die in DSP verwendet werden, sind im Allgemeinen handgeschrieben, um eine einfache Programmierung zu ermöglichen.
Die Datenbefehle umfassen verschiedene Operationen wie arithmetische Befehle, boolesche Befehle, logische Befehle und Ablaufbefehle.
Der Programmablauf besteht aus einer Pipeline-Architektur und mehreren Akkumulatoren.
Hardware-Architektur:
Die Hardware-Architektur besteht aus physischen Komponenten eines Systems. Im Allgemeinen bieten sie den Platz für andere Systeme, die in das Gerät passen, und sie bewerten auch die anderen Softwarekomponenten. Sie bieten auch Raum für die effektive Nutzung von Softwarekomponenten. Sie vereinen die verschiedenen Bereiche der Technik, um zusammenzuarbeiten und neue Maschinen und Architekturen zu entwickeln.
Wir müssen jedoch erkennen, dass Hardwarekomponenten ohne die Hilfe von Softwarekomponenten nicht richtig funktionieren können. Wenn wir zum Beispiel ein modernes Flugzeug nehmen, müssen wir eingebetteten Softwarecode verwenden, damit es effektiv läuft.
SPEICHERARCHITEKTUR:
Digitale Signalprozessoren werden im Allgemeinen für die Ausführung von Daten verwendet, und sie verwenden spezielle Speichertechniken, um Daten und Befehle getrennt auf verschiedenen Pfaden zu holen (das Konzept der Harvard-Architektur), und Daten und Befehle werden auf demselben Bus geholt, wie in der Von-Neumann-Architektur verwendet.
Der Speicher verwendet manchmal den Zwischenspeicher, um über die Verzögerungsoperationen Bescheid zu wissen.
VIRTUELLER SPEICHER:
DSPs verwenden im Allgemeinen keinen virtuellen Speicher, da sie auf Multitasking-Operationen angewiesen sind. Operationen, die virtuellen Speicher verwenden, nutzen in der Regel das Konzept der Konzeptumschaltung, das nachweislich die Latenzzeit erhöht.
Moderne DSP’S
Moderne digitale Signalprozessoren liefern noch bessere Ergebnisse. Das liegt an dem Low-Level-Design, dem fortschrittlichen Cache usw.
Jeder DSP kann unterschiedlich schnell sein. Es gibt viele digitale Signalprozessoren mit niedriger Geschwindigkeit, die für bestimmte Aufgaben entwickelt wurden.
XMOS produziert viele Mikrokernprozessoren. Sie sind leicht mit der Sprache C programmierbar.
SEVA ist der moderne DSP, der eine MAC-Struktur verwendet.
Analog Devices verwendet ein SHARC-basiertes DSP-System.
Microchip Technologies verwendet PIC 24 Bilder.
Die meisten DSP’s verwenden feste arithmetische Werte. Fließende DSP’s können im Falle dynamischer Werte ungültig werden. Viele Produktdesigner verwenden Floating DSP’s, wenn sie der Meinung sind, dass das Gerät kostengünstig sein sollte sowie im Austausch von zuverlässiger Software gegen teure Hardwaresysteme.
Moderne DSP’s werden im Allgemeinen in leicht implementierbaren Algorithmen verwendet.
PROS UND CONS OF DSP’S
PROS:
- Sie sind sehr genau. Ihre Ausgänge haben eine hohe Genauigkeit im Vergleich zu analogen Geräten.
- Die Reorganisation von analogen Geräten könnte sich als sehr schwierig erweisen. In digitalen Signalprozessoren, ist es einfach, wie der Code in Sekunden geflasht wird, so dass es bequem für die Nutzer.
- High-Level-Algorithmen können mit bestimmten Methoden implementiert werden.
- Die Kosten für die Umsetzung in digitalen Signalprozessoren ist viel geringer, wenn im Vergleich zu den analogen Prozessoren.
- Die DSP’s können im Vergleich zu den anderen Prozessoren leicht heruntergefahren werden.
- DSP’s können auch offline betrieben werden, was sie für den einfachen Transport zugänglich macht.
CONS:
- Es ist ziemlich komplex, da es Wandler verwendet. ADC (Analog-Digital-Wandler) und DAC (Digital-Analog-Wandler).
- Jeder DSP hat separate Hardware- und Softwaregeräte. Daher können DSP’s nicht ohne entsprechende Schulung verwendet werden.
- Für die digitale Übertragung ist eine größere Bandbreite erforderlich als für die analoge Übertragung.
- IC’s müssen mit Vorsicht verwendet werden, da sie sehr teuer sind.
- Wir müssen die Konzepte klar beherrschen, da die vorhandene Steuereinheit komplexer ist und ein Re-Design eine langwierige Arbeit wäre.
Fakten über HARVARD ARCHITEKTUR
- Die Harvard-Architektur beschleunigt die Prozessorgeschwindigkeit. Da Daten und Befehle in getrennten Bussen gespeichert werden, ist sie für viele Benutzer sehr vorteilhaft.
- Die Harvard-Architektur folgt der „Pipeline“-Anordnung. Wenn eine Anweisung ausgeführt wird, wird die andere Anweisung aus dem Speicher geholt. Dies ermöglicht die Überlappung von Befehlen, wodurch die Ausführungsrate erheblich gesteigert wird.
- RISC (Reduced Instruction Set Computer) und CISC (Complex Instruction Set Computer) sind die in der Harvard-Architektur verwendeten Methoden. Bei RISC-Mikrocontrollern sind die Daten 8 Bit groß, während die Anweisungen 12 oder 16 Bit breit sind. So wird alles gleichzeitig ausgeführt, was zu einer höheren Leistung führt.
- In CISC sind sowohl Daten als auch Befehle 8 Bit breit. Sie haben im Allgemeinen über 200 Anweisungen. Sie können jedoch nicht gleichzeitig ausgeführt, sondern nur gleichzeitig abgerufen werden.
- Die Ausführungseinheit besteht aus zwei arithmetischen und logischen Einheiten, einem Schieber, einem Multiplikator, Akkumulatoren usw. So können sie arithmetische Operationen stabil und mit hervorragender Parallelität ausführen.
- Viele Mikrocontroller verwenden auch Lookup Table. (LUT). Sie werden für Modulationszwecke verwendet.
VORTEILE UND NACHTEILE DER HARVARD-ARCHITEKTUR
VORTEILE:
- Da Daten und Befehle in separaten Bussen gespeichert werden, gibt es nur sehr wenige Möglichkeiten der Verfälschung.
- Daten, die im Read-Only-Modus und Befehle, die im Read-Write-Modus verwendet werden, werden auf die gleiche Weise betrieben. Sie können auch in ähnlicher Weise zugegriffen werden.
- Im Allgemeinen würden zwei Speicher vorhanden sein, einer für Daten und der andere für Anweisungen, sie haben unterschiedliche Zellengrößen, die die Ressourcen sehr effektiv nutzen.
- Die Bandbreite, die für den Speicher verwendet wird, ist besser vorhersehbar.
- Sie bieten im Allgemeinen eine hohe Leistung, da Daten und Busse in getrennten Speichern gehalten werden und auf verschiedenen Bussen reisen.
- Der parallele Zugriff auf Daten und Befehle kann beibehalten werden.
- Eine Zeitplanung ist nicht mehr erforderlich, da es getrennte Busse für Daten und Befehle gibt.
- Programmierer können die Speichereinheit entsprechend ihren Anforderungen gestalten.
- Die Steuereinheit erhält Daten und Befehle aus einem Speicher. Dadurch wird die Architektur der Steuereinheit vereinfacht.
NACHTEILE:
- Der nicht belegte Datenspeicher kann nicht von Befehlen und der freie Befehlsspeicher nicht von Daten genutzt werden. Der jeder Einheit zugewiesene Speicher muss sorgfältig abgewogen werden.
- Das Programm kann nicht wie bei der Von-Neumann-Architektur von der Maschine selbst geschrieben werden.
- Die Entwicklung der Steuereinheit nimmt mehr Zeit in Anspruch und ist teurer.
- Es gibt 2 Busse bei dieser Architektur. Was wiederum bedeutet, dass die Hauptplatine komplexer ist, was wiederum bedeutet, dass es zwei RAMs gibt und somit tendenziell ein sehr komplexes Cache-Design hat. Das ist der Grund dafür, dass er meist innerhalb der CPU und nicht außerhalb verwendet wird.
- Die Herstellung von Computern mit 2 Bussen nimmt mehr Zeit in Anspruch und ist wiederum teurer als das Steuergerät.
- Sie hat mehr Pins auf ihren ICs. Daher ist es sehr schwierig, sie zu implementieren.
- Sie wird nicht weit verbreitet, so dass die Entwicklung von ihr auf der Rückseite sein würde.
- Sie macht nicht die meisten der Central Processing Unit, immer.
Zusammenfassung der HARVARD ARCHITEKTUR
- Grundlagen: Er basiert auf dem Harvard-I-Computermodell.
- Speicher: Er hat getrennten Speicher für Daten und Anweisungen. So kann auf jedes System im Speicher gleichzeitig zugegriffen werden.
- Befehlsverarbeitung: In der Harvard-Architektur kann die Befehlsverarbeitung in einer einzigen Phase abgeschlossen werden, wenn sich die Pipelines an den entsprechenden Stellen befinden.
- Kosten: Die Steuereinheit in der Harvard-Architektur benötigt mehr Zeit zur Entwicklung und ist auf der teuren Seite.
- Verwendungen: Sie werden hauptsächlich in Mikrocontrollern und digitalen Signalprozessoren verwendet.
Wir sollten uns also für die Harvard-Architektur entscheiden, wenn
- Anweisungen größer sind als Daten. In diesem Fall können die Anweisungen, wenn sie getrennt verarbeitet werden, zu einer zuverlässigeren Ausgabe führen. Werden sie hingegen in dieselbe Zelle wie die Daten eingefügt, neigen sie dazu, sich zu überlappen, was zu Fehlern führt.
- Wir sollten darauf achten, ob die Caches schreibgeschützt sind. Denn wenn die Caches eine Read-Write-Option haben, könnte die Entwicklung mehr Zeit in Anspruch nehmen und auch komplexer sein.
- Sie sollten eine separate Bandbreite für eine bessere Optimierung haben.
- Sehr effektiv im Falle von „JIT“, Just-in-Time-Compilern, wo Copy-Paste-Strafe beleidigt wäre, Metaprogrammierung vorhanden ist und selbst-modifizierender Code auch verfügbar ist.
- Wo der Programmieraspekt das Hauptanliegen wäre. Denn mit Mikrocontrollern wäre es schwierig, andere Varianten zu entwerfen und zu entwickeln, da die darin enthaltenen Motherboards komplex zu verstehen wären und sich insgesamt als langwierige Aufgabe herausstellen würden.
- Eingebettete Prozessoren können entwickelt werden, weil sie Eigenschaften haben sollen, die wiederum das Übersprechen über beide Seiten fördern, wenn sie große Speicherbandbreiten und eine flache Adressverknüpfung haben.
- Das Konzept des Stacks ist implementiert. Die Adresseinheit sollte nicht kompliziert werden, da sie mindestens 2 Pfade parallel laufen muss. Der Programmzähler und der Stapelzeiger wären vorhanden. Register, die in den Zeigern vorhanden sind, können inkrementiert oder dekrementiert werden.
- Einige digitale Signalprozessoren verwenden das „LIFO“-Konzept. Last in First Out. Dies wird auch als Hardware-Stack bezeichnet. Auf diese Weise können wir den Stack schneller ein- und auslagern, so dass die Verwendung von Adressbussen nicht erforderlich ist.
ZUSAMMENFASSUNG:
Damit haben wir die Harvard-Architektur im Detail besprochen. Wir haben auch alle Vor- und Nachteile der Harvard-Architektur gesehen. Es wurden Beispiele besprochen, um es für den Benutzer anschaulicher zu machen. Wir müssen also sicherstellen, dass wir die Architektur vollständig beherrschen, um die besten Ergebnisse damit zu erzielen. Wir sollten uns auch darüber im Klaren sein, in welchem Fall wir die Harvard- und Von-Neumann-Architektur verwenden sollten, und das, was wir verwenden, effektiv nutzen. Fühlen Sie sich frei, Kommentare zu posten und Ihre Vorschläge zu teilen, um mehr zu diskutieren!!!
- https://en.wikipedia.org/wiki/Harvard_architecture
- https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
- https://www.google.com/search?q=advantages+of+harvard+architecture&safe=strict&tbm=isch&source=iu&ictx=1&fir=sJHdbNlHdCfBnM%253A%252C3B-t13LzqLeqjM%252C_&vet=1&usg=AI4_-kQJCxwrxhCUXW7xWDgGIGpD3yUVAA&sa=X&ved=2ahUKEwinsPip1tfpAhVIwKQKHYUXCdsQ9QEwCnoECAUQHA#imgrc=g1JuuAOnXWWyKM&imgdii=jUPAKYHNfW-wyM
- https://www.sciencedirect.com/topics/engineering/harvard-architecture
Schreibe einen Kommentar