Harvard Architectuur
On januari 24, 2022 by adminGCSE Computer Architectuur (14-16 jaar)
- Een bewerkbare PowerPoint-lespresentatie
- Een bewerkbare revisiehand-out
- Een verklarende woordenlijst met de belangrijkste terminologieën van de module
- Onderwerpen mindmaps voor het visualiseren van de belangrijkste concepten
- Afdrukbare flashcards om leerlingen te helpen met actieve herinnering en op vertrouwen gebaseerde herhaling
- Printbare flashcards om leerlingen te helpen met actieve herinnering en op vertrouwen gebaseerde herhalingherhaling
- Een quiz met bijbehorende antwoordtoets om kennis en begrip van de module te testen
A-Niveau De kenmerken van hedendaagse verwerkers (16-18 jaar)
- Een bewerkbare PowerPoint-presentatie
- Een bewerkbare revisiehand-out
- Een verklarende woordenlijst met de belangrijkste terminologieën van de module
- Mindmaps om de belangrijkste concepten te visualiseren
- Afdrukbare flashcards om leerlingen te helpen zich de les actief eigen te maken en op vertrouwen gebaseerde herhaling
- Printbare flashcards om leerlingen te helpen zich de les actief eigen te maken en op vertrouwen gebaseerdegebaseerde herhaling
- Een quiz met bijbehorende antwoordtoets om kennis en begrip van de module te testen
INLEIDING
Microcontrollers gebruiken over het algemeen twee typen Architectuur.
- Von Neumann Architectuur
- Harvard Architectuur
De Von Neumann Architectuur bestaat uit Besturingseenheid, Rekenkundige en LOGISCHE eenheid, Ingang/Uitgang, en Registers.
In de Von Neumann Architectuur, die door veel microcontrollers wordt gebruikt, bevindt de geheugenruimte zich op dezelfde bus en is het dus de bedoeling dat instructies en gegevens gebruik maken van hetzelfde geheugen. Het maakt gebruik van het concept van de opgeslagen-programma computer.
Harvard Architectuur bestaat uit Arithmetic Logic Unit, Data Memory, Input/output, Data Memory, Instruction Memory, en de Control Unit.
Harvard Architectuur, heeft gescheiden geheugen voor data en instructies. Op die manier kunnen zowel instructies als gegevens tegelijkertijd worden opgehaald, wat het voor de gebruikers comfortabel maakt.
In de Harvard-architectuur worden instructies gebruikt in het alleen-lezen-geheugen en gegevens in het lezen-schrijven-geheugen.
De Harvard-architectuur wordt meestal gebruikt voor de CPU, maar soms ook voor het werkgeheugen, omdat het wat complex en duur is.
De grootte van het geheugen voor zowel instructies als gegevens is bij de Harvard-architectuur verschillend. Programma’s kunnen nooit automatisch worden uitgevoerd en de organisatie van het geheugen ligt niet in handen van de gebruiker. We kunnen in dit artikel de verschillende kenmerken van de Harvard Architectuur bekijken.
VOORBEELDEN VAN DE HARVARD ARCHITECTUUR
Een voorbeeld van de Harvard Architectuur zijn de vroege computer Mainframe systemen waarbij instructies worden opgeslagen in de ene programmeermedia zoals ponskaarten en gegevens worden opgeslagen in de andere [programmeermedia zoals Tapes. De resultaten van de Harvard Architectuur zijn de overeenkomstige beelden.
Dataflow machines en Reduction machines zijn ook voorbeelden van de Harvard Architectuur. Zij vertonen een hoge mate van parallellisme, wat betekent dat de resultaten van gegevens en instructies tegelijkertijd kunnen worden verkregen.
Quantumcomputers kunnen ook als voorbeeld van de Harvard-architectuur worden genoemd. Het verschil tussen andere computers en Quantumcomputers is de tijd die ze nodig hebben om een taak te voltooien en de volgorde waarin ze hun timings prioriteren.
Enigma-machines die in de wereldoorlogen werden gebruikt, volgen ook de Harvard-architectuur.
Een ander belangrijk voorbeeld van de Harvard-architectuur is de DIGITAL SIGNAL PROCESSOR, die vooral op het concept van de Harvard-architectuur is gebaseerd. Laten we eens kijken, hoe de DSP in detail werkt.
DIGITAL SIGNAL PROCESSOR
- Digital Signal Processors worden gebruikt om gegevens te streamen en ze worden gebruikt om meerdere instructies tegelijk op te halen met behulp van een gespecialiseerde geheugenarchitectuur en gescheiden data- en programmageheugen.
- DSP’s manipuleren op wiskundige wijze procedures die aspecten uit de werkelijkheid zoals audio, video, stem, druk, digitaliseren.
- Ze worden ook gebruikt voor het uitvoeren van wiskundige bewerkingen zoals optellen, aftrekken, vermenigvuldigen en delen. De verwerking van signalen is essentieel omdat de informatie die zij bevatten moet worden weergegeven en geanalyseerd, zodat zij kunnen worden omgezet in een ander signaal, in het formaat dat de gebruikers wensen, zodat zij het interessant vinden.
- Analoog naar Digitaal Converters nemen de taak op zich om de bovengenoemde aspecten om te zetten in digitale signalen in termen van 0’s en 1’s. De DSP neemt vervolgens het gedigitaliseerde signaal en verwerkt het.
- Het neemt de gedigitaliseerde signalen en zet ze weer om in analoge signalen met behulp van Analoog naar Digitaal-omzetter waardoor het bruikbaar wordt voor de echte wereld. De snelheid waarmee al deze processen plaatsvinden is zeer hoog.
- Laten we eens kijken hoe de Digitale Signaal Processor werkt op Mp3 apparaten. Hij neemt in het algemeen de ingangen via ontvangers en zet ze om in een digitaal signaal (in de vorm van 0’s en 1’s) met behulp van Analoog-Digitaal-omzetter. Na de omzettingsfase wordt de codering uitgevoerd en wordt het gecodeerde bestand in het geheugen opgeslagen.
- Na de decoderingsfase wordt het bestand uit het geheugen gehaald, omgezet in analoge signalen met behulp van de digitaal-analoog-omzetter en vervolgens wordt de uitvoer via het luidsprekersysteem ontvangen. Dit is het proces dat in het Mp3-apparaat plaatsvindt. Het voert ook complexe functies uit, zoals het regelen van het volume, het bewerken van frequenties, enzovoort.
- Een DPS kan door de computer worden gebruikt om zaken als efficiëntie, transmissie, enzovoort te regelen. Signalen gaan eerst door de verwerkingsfase en dan door de transmissiefase. Teleconferenties maken gebruik van telefoonsignalen om audio- en videolijnen over te brengen. De kwaliteit van de signalen kan worden gemanipuleerd of geïmproviseerd om beter over te komen bij de ogen van de gebruiker. Het zal onzichtbaar zijn voor de ogen van de gebruiker. Voorbeeld: Echo-onderdrukking op telefoons.
- Hoewel signalen in de echte wereld op analoge wijze kunnen worden verwerkt, kunnen deze digitaal verwerkte signalen met hoge snelheid worden overgebracht en zijn zij zeer nauwkeurig.
COMPONENTEN BINNEN EEN DSP
Digitale signaalprocessor bestaat uit de volgende onderdelen:
Programmageheugen:
Het gebruikt verwerkte gegevens en slaat het programma op in het geheugen. Het is over het algemeen niet-vluchtig. In dit programmageheugen wordt flash-geheugen gebruikt, waar herprogrammering mogelijk is met behulp van een hardware-interface. En het programmageheugen maakt in het algemeen gebruik van het concept stack.
Data Memory:
Data Memory wordt Random Access Memory genoemd. Het is een tijdelijke plaats voor het opslaan van variabelen en constanten tijdens de uitvoering van het programma. De hoeveelheid geheugen, RAM genaamd, varieert per microcontroller.
Compute Engine:
Hij voert wiskundige bewerkingen uit en verzamelt gegevens en programma’s van hun respectieve plaatsen. Het verzamelt instructies uit het programmageheugen en het verzamelt ook gegevens uit het datageheugen.
Input/Output:
De techniek die wordt gebruikt om gegevens van een extern apparaat en een microcontroller over te brengen, wordt Input/Output genoemd. De gebruiker communiceert met de microcontroller via de Input/Output. De gebruikers voeren hun gegevens in via het toetsenbord van het invoerapparaat, en halen hun gewenste uitvoer op via de printers of harde schijven van het externe apparaat. Deze Input/output apparaten worden randapparaten genoemd en zij zijn de meest voorkomende apparaten die op het microcontrollersysteem worden gebruikt.
ARCHITECTUUR VAN DIGITAL SIGNAL PROCESSOR
SOFTWARE ARCHITECTUUR:
De instructiesets die in DSP worden gebruikt, zijn onregelmatig. Terwijl de gewone instructiesets worden gebruikt bij gewone bewerkingen van een computer, worden DSP-sets gebruikt bij gespecialiseerde wiskundige bewerkingen.
Assemblageprogramma’s worden over het algemeen in bibliotheken gestopt voor hergebruik, in plaats daarvan gebruiken andere machines compiler-methoden om essentiële algoritmen op te slaan. Veel programma’s die in DSP worden gebruikt, zijn over het algemeen handgeschreven, om het programmeren te vergemakkelijken.
De data-instructies omvatten diverse bewerkingen, zoals rekenkundige instructies, booleaanse instructies, logische instructies en, flow-instructies.
Programmastroom bestaat uit een pijplijnarchitectuur en meerdere accumulatoren.
HARDWARE ARCHITECTUUR:
Hardware-architectuur bestaat uit fysieke componenten van een systeem. In het algemeen bieden zij de ruimte voor andere systemen om in het apparaat te passen en zij beoordelen ook de andere softwarecomponenten. Zij bieden ook ruimte voor effectief gebruik van softwarecomponenten. Zij combineren de verschillende sectoren van de techniek om samen te werken en nieuwe machines en architectuur te ontwikkelen.
We moeten ons echter realiseren dat hardware-componenten niet goed kunnen werken zonder de hulp van software-componenten. Als we bijvoorbeeld moderne vliegtuigen nemen, moeten we software-ingebedde code gebruiken om het effectief te laten werken.
MEMORY ARCHITECTURE:
Digitale signaalprocessoren worden over het algemeen gebruikt voor het uitvoeren van gegevens en zij gebruiken gespecialiseerde geheugentechnieken om gegevens en instructies afzonderlijk op verschillende paden op te halen (het concept van de Harvard-architectuur) en gegevens en instructies worden op dezelfde bus opgehaald zoals gebruikt in de Von Neumann-architectuur.
Het geheugen gebruikt soms het cachegeheugen om op de hoogte te zijn van de vertragingsoperaties.
VIRTUELE GEHEUGEN:
DSP’s gebruiken over het algemeen geen virtueel geheugen omdat zij vertrouwen op multi-tasking operaties. Operaties die gebruik maken van virtueel geheugen maken over het algemeen gebruik van het concept van concept switching, waarvan is bewezen dat het de latentie verhoogt.
MODERNE DSP’S
Moderne Digitale Signaal Processoren leveren nog betere resultaten. Dit komt door het low-level ontwerp, geavanceerde cache etc.
Elke DSP kan verschillende snelheden hebben. Er zijn veel Digitale Signaal Processoren met lage snelheid, ontworpen om specifieke taken uit te voeren.
XMOS produceert veel micro core processoren. Ze zijn gemakkelijk programmeerbaar met behulp van C taal.
SEVA is de moderne DSP die MAC structuur gebruikt.
Analog Devices gebruikt SHARC gebaseerd DSP systeem.
Microchip Technologies worden gebruikt in PIC 24 images.
De meeste van de DSP’s gebruiken vaste rekenkundige waarden. Zwevende DSP’s kunnen ongeldig worden in geval van dynamische waarden. Veel productontwerpers gebruiken zwevende DSP’s, als zij denken dat het apparaat kosteneffectief moet zijn, evenals in ruil voor betrouwbare software voor dure hardwaresystemen.
Moderne DSP’s worden over het algemeen gebruikt in gemakkelijk implementeerbare algoritmen.
PROS EN CONS VAN DSP’S
PROS:
- Ze zijn zeer nauwkeurig. Hun uitgangen hebben een hoge nauwkeurigheid in vergelijking met analoge apparaten.
- Herordening van analoge apparaten kan zeer moeilijk blijken te zijn. In Digitale Signaal Processoren, is het gemakkelijk als de code wordt geflasht in seconden, waardoor het comfortabel voor de gebruikers.
- High-level algoritmen kunnen worden geïmplementeerd met behulp van specifieke methoden.
- De kosten van de uitvoering in Digitale Signaal Processoren is veel minder in vergelijking met de analoge processoren.
- De DSP’s kunnen gemakkelijk worden gedaald in vergelijking met de andere processoren.
- DSP’s kunnen ook offline worden bediend, waardoor het gemakkelijk kan worden vervoerd.
CONS:
- Het is vrij complex omdat het convertors gebruikt. ADC (Analoog naar Digitaal-omzetter) en DAC (Digitaal naar Analoog-omzetter).
- Elke DSP heeft afzonderlijke hardware- en software-apparaten. DSP’s kunnen dus niet zonder de juiste opleiding worden gebruikt.
- Er is meer bandbreedte nodig voor digitale transmissie dan voor analoge.
- IC’s moeten met voorzichtigheid worden gebruikt, omdat ze erg duur zijn.
- We moeten de concepten duidelijk onder de knie krijgen, omdat de aanwezige besturingseenheid complexer is en het herontwerpen een vervelend karwei zou zijn.
FACTS ABOUT HARVARD ARCHITECTURE
- Harvard Architecture versnelt de processorsnelheid. Aangezien gegevens en instructies in afzonderlijke bussen worden opgeslagen, is dit voor veel gebruikers zeer voordelig.
- Harvard Architecture volgt de “Pipeline”-opstelling. Als de uitvoering van een instructie aan de gang is, wordt de andere instructie uit het geheugen opgehaald. Hierdoor kunnen instructies elkaar overlappen, waardoor de uitvoeringssnelheid aanzienlijk toeneemt.
- RISC (Reduced Instruction Set Computer) en CISC (Complex Instruction Set Computer) zijn de methodes die in de Harvard-architectuur worden gebruikt. In RISC-microcontroller is data 8 bits, terwijl instructies 12 of 16 bits breed zijn. Alles wordt dus tegelijk uitgevoerd, waardoor de prestaties toenemen.
- In CISC zijn zowel data als instructies 8 bits breed. Zij hebben in het algemeen meer dan 200 instructies. De uitvoeringseenheid bestaat uit 2 rekeneenheden en logische eenheden, 1 shifter, 1 vermenigvuldiger, accumulatoren, enz. Aldus kunnen zij rekenkundige bewerkingen op een stabiele manier en met uitstekend parallellisme uitvoeren.
- Vele microcontrollers maken ook gebruik van Lookup Table. (LUT). Ze worden gebruikt voor modulatiedoeleinden.
ADVANTAGES EN DISADVANTAGES VAN DE HARVARD ARCHITECTUUR
ADVANTAGES:
- Omdat gegevens en instructies in afzonderlijke bussen worden opgeslagen, is er zeer weinig kans op corruptie.
- Gegevens die alleen-lezen mode gebruiken en instructies die lees-schrijf mode gebruiken, worden op dezelfde manier bediend. Ze kunnen ook op dezelfde manier worden benaderd.
- In het algemeen zijn er twee geheugens, een voor gegevens en de andere voor instructies, ze hebben verschillende celgroottes waardoor de middelen zeer effectief worden gebruikt.
- De bandbreedte die wordt gebruikt voor het geheugen is beter voorspelbaar.
- Ze bieden in het algemeen hoge prestaties omdat gegevens en bussen in afzonderlijke geheugens worden bewaard en op verschillende bussen reizen.
- Parallelle toegang tot gegevens en instructies kan worden gehandhaafd.
- Scheduling zou niet langer nodig zijn, omdat er afzonderlijke bussen voor gegevens en instructies zijn.
- Programmeurs kunnen de geheugeneenheid ontwerpen volgens hun eisen.
- Controle-eenheid krijgt gegevens en instructies uit één geheugen. Het vereenvoudigt dus de architectuur van de besturingseenheid.
DISADVANTAGES:
- Het niet-bezette datageheugen kan niet door instructies worden gebruikt en het vrije instructiegeheugen kan niet door data worden gebruikt. Het aan elke eenheid toegewezen geheugen moet zorgvuldig worden afgewogen.
- Het programma kan niet door de machine zelf worden geschreven zoals in de Von Neumann-architectuur.
- Controle-eenheid kost meer tijd om te ontwikkelen en is aan de dure kant.
- Er zijn 2 bussen in de architectuur. Dit betekent dat het moederbord complexer zou zijn, wat weer betekent dat er twee RAM’s zouden zijn en dus de neiging zou hebben om een zeer complex cache-ontwerp te hebben. Dat is de reden waarom het meestal binnen de CPU wordt gebruikt en niet erbuiten.
- De produktie van een computer met 2 bussen neemt meer tijd in beslag en is weer aan de dure kant, net als de besturingseenheid.
- Het heeft meer pennen op de IC’s. Daarom is het erg moeilijk te implementeren.
- Het wordt niet op grote schaal gebruikt, dus de ontwikkeling ervan zou aan de achterlijke kant zijn.
- Het maakt niet het grootste deel van de Central Processing Unit, altijd.
SUMMARY OF HARVARD ARCHITECTURE
- Basics: Het is gebaseerd op het Harvard I-computermodel.
- Geheugen: Het heeft gescheiden geheugen voor gegevens en instructies. Dus, elk systeem op het geheugen kan gelijktijdig worden benaderd.
- Instructieverwerking: In de Harvard-architectuur kan de instructieverwerking in een enkele fase worden voltooid als de pijplijnen op hun juiste plaats liggen.
- Kosten: Control Unit in de Harvard Architectuur kost meer tijd om te ontwikkelen en is aan de dure kant.
- Gebruiksmogelijkheden: Ze worden voornamelijk gebruikt in Microcontrollers en Digitale Signaal Processoren.
Dus, we moeten kiezen voor de Harvard Architectuur als,
- Instructies breder zijn dan data. In dit geval kunnen instructies, als ze apart worden verwerkt, tot een betrouwbaardere output leiden. Worden ze echter samen met de gegevens in dezelfde cel geplaatst, dan hebben ze de neiging elkaar te overlappen en zo fouten te veroorzaken.
- We moeten uitkijken of de Caches alleen-lezen zijn. Dit is omdat als de Caches een Read-Write optie hebben, dit meer tijd zou kunnen kosten voor de ontwikkeling ervan en het zou ook complex kunnen zijn.
- Ze zouden een aparte bandbreedte moeten hebben voor een betere optimalisatie.
- Zeer effectief in het geval van “JIT”, Just in Time Compilers waar copy-paste penalty zou worden beledigd, metaprogrammering aanwezig is en zelf-modificerende code ook beschikbaar is.
- Waarbij het programmeeraspect de hoofdzorg zou zijn. Want met microcontrollers zou het moeilijk zijn om andere varianten te ontwerpen en te ontwikkelen, omdat de moederborden daarin complex zijn om te begrijpen en over het geheel genomen een vervelende taak zouden blijken te zijn.
- Embedded processors kunnen worden ontwikkeld omdat zij eigenschappen moeten hebben die op hun beurt de overspraak over en weer bevorderen, als zij grote geheugenbandbreedten en een vlakke adresverbinding hebben.
- Het concept van stack is geïmplementeerd. De adreseenheid zou niet ingewikkeld moeten worden, omdat deze ten minste 2 paden parallel zou moeten lopen. De programmateller en stack pointer zouden aanwezig zijn. Registers die in de pointers aanwezig zijn, kunnen worden verhoogd of verlaagd.
- Sommige Digitale Signaal Processoren gebruiken het “LIFO” concept. Last in First Out. Dit wordt ook wel Hardware stack genoemd. Op deze manier kunnen we de stack sneller pushen en poppen, waardoor het gebruik van adresbussen niet nodig is.
CONCLUSIE:
Tus hebben we de Harvard-architectuur in detail besproken. We hebben ook alle voor- en nadelen van de Harvard Architectuur gezien. Er zijn voorbeelden besproken om het voor de gebruiker duidelijker te maken. We moeten er dus voor zorgen dat we de architectuur volledig beheersen om er de beste resultaten mee te behalen. Het moet ook duidelijk zijn in welk geval we de Harvard- en Von Neumann-architectuur moeten gebruiken, zodat we effectief gebruik kunnen maken van wat we gebruiken. Voel je vrij om commentaar te geven en suggesties te doen voor meer discussie!
- 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
Geef een antwoord