Harvard-architectuur, oorsprong, model, hoe het werkt

2324
Egbert Haynes

De Harvard-architectuur is een computerconfiguratie waarin de gegevens en instructies van een programma zich in afzonderlijke geheugencellen bevinden, die onafhankelijk kunnen worden geadresseerd. 

Dat wil zeggen, het is de term die wordt gebruikt voor een computersysteem dat twee afzonderlijke gebieden bevat: voor opdrachten of instructies en voor gegevens. Daarom is de belangrijkste functie van deze architectuur om de gegevens fysiek gescheiden op te slaan, waardoor verschillende signaalpaden voor de instructies en de gegevens worden geboden..

Bron: Van Nessa los - Eigen werk, CC BY-SA 3.0, commons.wikimedia

In deze architectuur kunnen zowel het formaat als de media van deze twee segmenten van het systeem ongelijk zijn, aangezien de twee delen uit twee afzonderlijke structuren bestaan..

Enkele voorbeelden van Harvard-architecturen zijn vroege computersystemen, waarbij programma-instructies op het ene medium kunnen staan, bijvoorbeeld op ponskaarten, en opgeslagen gegevens op een ander medium kunnen staan, bijvoorbeeld op magnetische banden..

Artikel index

  • 1 Toepassingen
  • 2 Oorsprong
  • 3 model
    • 3.1 Gewijzigde Harvard-architectuur
  • 4 Hoe werkt de architectuur van Harvard??
    • 4.1 Toevoegingen in architectuur
    • 4.2 Geheugenadressen
    • 4.3 Geheugensysteem
  • 5 voordelen
    • 5.1 Beschermingsniveau
    • 5.2 Hogere snelheid
  • 6 nadelen
    • 6.1 Grotere complexiteit en kosten
    • 6.2 Weinig gebruik
    • 6.3 Misbruik van geheugenruimte
  • 7 referenties

Toepassingen

Dit type architectuur heeft een brede toepassing in video- en audioverwerkingsproducten. Met elke tool om video en audio te verwerken, kun je de figuur van de Harvard-architectuur zien.

Analoge apparaten Blackfin-processors zijn het specifieke apparaat waarop het zijn belangrijkste gebruik heeft gevonden. In andere op elektronische chips gebaseerde producten wordt de architectuur van Harvard ook veel gebruikt.

De meeste computers gebruiken echter de von Neumann-architectuur en gebruiken CPU-caches om overlap te bereiken.

Bron

Werk dat in de jaren veertig aan de Harvard University onder leiding van Howard Aiken werd gedaan, creëerde een originele op relais gebaseerde computer, de Harvard Mark I, de term waaruit het concept van de architectuur van Harvard is ontstaan..

Deze computer gebruikte afzonderlijke geheugeneenheden om gegevens en instructies op te slaan. Dan is er een belangrijke ontwikkeling geweest met deze architectuur.

Aiken moedigde het gebruik van aparte geheugens aan voor data en voor programma-instructies, met aparte bussen voor elk..

In de oorspronkelijke architectuur van Harvard werden doorgaans instructies opgeslagen op geperforeerde banden en gegevens op elektromechanische tellers..

De gegevensopslag van deze vroege machines bevond zich volledig binnen de centrale verwerkingseenheid. Aan de andere kant gaven ze geen toegang om de instructies als gegevens op te slaan. Een operator moest de programma's laden.

Een Harvard-architectuur kan gegevens verwerken en instructies tegelijkertijd uitvoeren, omdat elk van hen zijn eigen adresbus heeft.

Model

Dit model kenmerkt zich doordat de informatiebussen en de opslag fysiek gescheiden zijn voor de data en de programmacode..

Omdat de bussen autonoom werken, kunnen gegevens en programma-instructies tegelijkertijd worden verkregen, waardoor de snelheid ten opzichte van het ontwerp met enkele bus wordt verbeterd..

Daarom blijkt het Harvard-model complexer te zijn. Door de bussen onafhankelijk te hebben, wordt de bottleneck vermeden die wordt veroorzaakt door de von Neumann-architectuur.

Een computer kan sneller zijn voor een circuit van een bepaalde complexiteit, omdat het zoeken naar instructies en toegang krijgen tot gegevens niet hoeft te vechten voor een enkele geheugenbus.

Om te werken zijn er twee geheugenadressen. Daarom is er een geheugenregister voor machine-instructies en een ander geheugenregister voor gegevens..

In tegenstelling tot de von Neumann-architectuur, die een bus gebruikt om zowel instructies als gegevens in het geheugen te verplaatsen, gebruikt de Harvard-architectuur één geheugengebied voor gegevens en een ander voor instructies..

Gewijzigde Harvard-architectuur

In de computers van vandaag is er geen fysieke desintegratie van de geheugengebieden die worden gebruikt door programma's en gegevens. Om deze reden zou je kunnen zeggen dat ze technologisch gezien een Von Neumann-architectuur hebben.

De aangepaste architectuur van Harvard is echter de beste weergave van de huidige computers..

Hoewel de huidige verwerkingseenheden geheugen delen, hebben ze bepaalde elementen, zoals unieke instructies, die voorkomen dat gegevens in de war raken met instructies. Dit wordt gemodificeerde Harvard-architectuur genoemd..

De gemodificeerde Harvard-architectuur heeft dus twee aparte bussen, één voor code en één voor data, maar het geheugen zelf is een fysiek gedeeld element..

De geheugencontroller is waar de verandering zit, omdat dit apparaat het geheugen is en hoe het moet worden gebruikt.

Moderne computerontwerpen worden ondersteund door de gewijzigde Harvard-architectuur. Gebruikt in microcontrollers en digitale signaalverwerking.

Hoe werkt de architectuur van Harvard?

De Harvard-architectuur heeft verschillende geheugenadresgebieden voor het programma en voor de gegevens.

Dit resulteert in de mogelijkheid om een ​​circuit zo te ontwerpen dat een bus en een stuurcircuit kunnen worden gebruikt om de informatiestroom uit het programmageheugen af ​​te handelen en een aparte om de informatiestroom naar het datageheugen af ​​te handelen..

Door het gebruik van aparte bussen kan een programma worden opgehaald en uitgevoerd zonder te worden onderbroken door incidentele gegevensoverdracht naar het datageheugen..

In een eenvoudige versie van deze architectuur zou de programmahersteleenheid bijvoorbeeld bezig kunnen zijn met het ophalen van de volgende instructie in de programmasequentie en tegelijkertijd met het uitvoeren van een gegevensoverdrachtoperatie die deel had kunnen uitmaken van de vorige programma-instructie..

Op dit niveau heeft de architectuur van Harvard een beperking, aangezien het over het algemeen niet mogelijk is om de programmacode in het datageheugen te plaatsen en van daaruit uit te voeren.

Toevoegingen in de architectuur

Aan de eenvoudige vorm van de Harvard-architectuur kunnen veel meer gecompliceerde bestaande varianten worden toegevoegd..

Een veel voorkomende toevoeging is het toevoegen van een instructiecache aan de databus van het programma, waardoor de instructie-uitvoeringseenheid sneller toegang heeft tot de volgende stap in het programma, zonder dat je naar een langzamer geheugen hoeft te gaan om elke keer bij de stap van het programma te komen. verplicht.

Geheugenadressen

Een computer met een Harvard-architectuur heeft verschillende gegevens- en instructie-adresgebieden: instructie-adres één is niet hetzelfde gebied als gegevensadres één.

Instructie-adres één kan een vierentwintig-bits waarde bevatten, terwijl data-adres één een acht-bits byte kan aangeven, die geen deel uitmaakt van die vierentwintig-bits waarde..

Geheugensysteem

Aangezien er een apart geheugengebied is voor instructies en gegevens, waarbij zowel de signalen als de geheugenopslag van de code en gegevens worden gescheiden, is het mogelijk om gelijktijdig toegang te krijgen tot elk van de geheugensystemen..

Voordeel

- Er is minder kans op corruptie bij de verzending, omdat gegevens en instructies via verschillende bussen worden verzonden.

- Gegevens en instructies worden op dezelfde manier benaderd.

- Staat verschillende opslagmedia toe voor instructies en gegevens. U kunt bijvoorbeeld de instructies in een goedkope ROM plaatsen en de gegevens in een duur RAM-geheugen..

- De twee geheugens kunnen verschillende celgroottes gebruiken, waardoor effectief gebruik wordt gemaakt van bronnen.

- Het heeft een hogere geheugenbandbreedte, die voorspelbaarder is door aparte geheugens voor instructies en gegevens..

Beschermingsniveau

In systemen die geen geheugenbeheereenheid hebben, biedt het een extra beschermingsniveau, aangezien het niet mogelijk zal zijn om gegevens uit te voeren alsof het code is, wat het systeem aan tal van problemen zou blootstellen, zoals bufferoverloop.

Daarom is het populair bij kleine embedded systemen, zoals een magnetron of een klok..

Hogere snelheid

De architectuur van Harvard kan een instructie lezen en tegelijkertijd met hoge snelheid toegang tot het gegevensgeheugen uitvoeren.

Het biedt betere prestaties, omdat het gelijktijdig gegevens en instructies kan verkrijgen door te worden opgeslagen in afzonderlijke geheugens en door verschillende bussen te reizen.

Een Harvard-architectuur zal over het algemeen een computer met een bepaald niveau van complexiteit helpen om sneller te werken dan een Von Neumann-architectuur, zolang het niet nodig is om bronnen te delen tussen gegevens en codegeheugens..

Als pinbeperkingen of andere factoren het gebruik van een enkele bus dwingen om toegang te krijgen tot beide geheugenruimtes, zullen dergelijke voordelen waarschijnlijk grotendeels teniet worden gedaan.

Nadelen

Grotere complexiteit en kosten

Het probleem met de architectuur van Harvard is de grote complexiteit en kosten, omdat er nu twee nodig zijn in plaats van één databus.

Het vervaardigen van een computer met twee bussen is veel duurder en tijdrovender om te vervaardigen. Vereist een besturingseenheid voor twee bussen, wat ingewikkelder en tijdrovender en duurder is om te ontwikkelen.

Dit betekent een complexere implementatie voor fabrikanten. Het vereist meer pinnen op de CPU, een complexer moederbord en het dupliceren van de RAM-chips, evenals een complexer cache-ontwerp.

Weinig gebruik

De architectuur van Harvard wordt niet veel gebruikt, waardoor het moeilijker te implementeren is. Dit is waarom het zelden buiten de CPU wordt gebruikt.

Deze architectuur wordt echter soms binnen de CPU gebruikt om zijn caches te verwerken..

Misbruik van geheugenruimte

Als er vrije ruimte is in het datageheugen, kan het niet worden gebruikt om instructies op te slaan en vice versa.

Daarom moeten de specifieke herinneringen die aan elk van hen zijn opgedragen, zorgvuldig worden afgewogen bij de vervaardiging ervan..

Referenties

  1. Lijstverschillen (2019). Verschil tussen Von Neumann en Harvard Architecture? Genomen van: listdifferences.com.
  2. PC Magazine (2019). Definitie van: Harvard-architectuur. Genomen van: pcmag.com.
  3. Techopedia (2019). Harvard-architectuur. Genomen uit: ceilingpedia.com.
  4. Scott Thornton (2018). Wat is het verschil tussen de architecturen van Von-Neumann en Harvard? Microcontroller-tips. Genomen uit: microcontrollertips.com.
  5. Wikipedia, de gratis encyclopedie (2019). Harvard-architectuur. Genomen uit: en.wikipedia.org.
  6. The Crazy Programmer (2019). Verschil tussen Von Neumann en Harvard Architecture. Genomen uit: thecrazyprogrammer.com.

Niemand heeft nog op dit artikel gereageerd.