GCSE Von Neumann 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
  • Afdrukbare flashcards om leerlingen te helpen met actieve herinnering en op vertrouwen gebaseerde herhaling
  • Drukbare flashcards om leerlingen te helpen met actieve herinnering en op vertrouwen gebaseerdegebaseerde herhaling
  • Een quiz met bijbehorende antwoordtoets om kennis en begrip van de module te testen

A-Niveau Eigentijdse processoren (16-18 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 actief te herinneren en op vertrouwen gebaseerde herhaling
  • Afdrukbare flashcards om leerlingen te helpen actief te herinneren en op vertrouwen gebaseerdegebaseerde herhaling
  • Een quiz met bijbehorende antwoordtoets om de kennis en het begrip van de module te testen

De term computerarchitectuur verwijst naar een reeks regels die aangeven hoe computersoftware en -hardware worden gecombineerd en hoe ze samenwerken om een computer functioneel te maken, Bovendien geeft de computerarchitectuur ook aan welke technologieën de computer aankan.

Computerarchitectuur is een specificatie, die beschrijft hoe software en hardware op elkaar inwerken om een functionerend platform te produceren.

Wanneer een persoon denkt aan het woord “architectuur”, zal de menselijke geest waarschijnlijk denken aan de assemblage van gebouwen of huizen, bovendien, met hetzelfde principe in gedachten, houdt computerarchitectuur de constructie van een computersysteem intern en extern in.

Er zijn drie hoofdcategorieën in de computerarchitectuur:

  • Systeemontwerp:
    • Het systeemontwerp bestaat uit de hardware-onderdelen, waaronder multiprocessoren, geheugencontrollers, CPU, gegevensprocessoren en directe geheugentoegang. Het systeemontwerp kan worden beschouwd als het eigenlijke computersysteem.
  • Instructieset-architectuur:
    • Dit draait om de CPU. Het omvat de mogelijkheden en functies van de CPU, verder omvat het ook de gegevensformaten van de CPU, de programmeertaal en de soorten registers en instructies van de processor, die door de computerprogrammeurs worden gebruikt.
    • De CPU is het onderdeel in een computer, dat een programma laat draaien, of dat nu het besturingssysteem was of een toepassing als Photoshop.
  • Microarchitectuur:
    • De microarchitectuur in een systeem zal de opslagelementen/datapaden bepalen en hoe deze zullen worden geïmplementeerd in de instructiesetarchitectuur, de microarchitectuur is ook verantwoordelijk voor de gegevensverwerking.

Al deze zullen in een bepaalde volgorde samenvloeien om het systeem functioneel te maken.

Wat is de von Neumann Architectuur?

In 1945 had John von Neumann, die toen wiskundige was, zich verdiept in de studie dat, een computer een vaste eenvoudige structuur zou kunnen hebben en toch in staat zou zijn om elke soort van berekening uit te voeren zonder hardware-aanpassing. Dit is op voorwaarde dat de computer goed is geprogrammeerd met de juiste instructies, waarin het in staat is om ze uit te voeren.

Von Neumann’s belangrijkste vooruitgang werd aangeduid als “voorwaardelijke controle overdracht”, die had toegestaan dat een programma-sequentie kon worden onderbroken en vervolgens opnieuw gestart op elk punt, verder had deze vooruitgang toegestaan dat gegevens worden opgeslagen met instructies in dezelfde geheugeneenheid.

Dit was gunstig, want als instructies werden gewenst, kunnen ze rekenkundig worden gewijzigd op dezelfde manier als de gegevens.

De von Neumann-architectuur beschrijft een ontwerpmodel voor een digitale computer met opgeslagen programma’s, die slechts één enkele verwerkingseenheid bevat en één enkele afzonderlijke opslagstructuur, die zowel instructies als gegevens zal bevatten.

De von Neumann architectuur verwijst naar een architectuur die zowel de gegevens als de geprogrammeerde instructies in lees-schrijf RAM (Random Access Memory) bewaart.

Karakteristieken van de von Neumann Architectuur

Zoals hierboven vermeld, is de von Neumann Architectuur gebaseerd op het feit dat de programmagegevens en de instructiegegevens in dezelfde geheugeneenheid worden opgeslagen. Dit kan ook worden aangeduid als het “opgeslagen programma concept”.

Dit ontwerp wordt nog steeds gebruikt in de computer die tegenwoordig wordt geproduceerd:

Von-Neumann vs Harvard Architectuur Afbeelding 1

Centrale verwerkingseenheid (CPU):

  • De CPU is een elektronische schakeling, die de instructies van het computerprogramma uitvoert.
  • De CPU kan ook worden aangeduid als microprocessor of processor.

In de CPU bevinden zich de ALU, de CU en de registers, die hieronder nader worden beschreven:

Control Unit:

  • Stuurt de werking van de ALU, het geheugen en de input/output, door deze te instrueren hoe te reageren op de instructies van het programma dat het zojuist uit de geheugeneenheid heeft gelezen en geïnterpreteerd. De regeleenheid stuurt de bewerkingen van de CPU door de volgende opdrachten uit te voeren:
    • Het coördineren en controleren van de activiteiten van de CPU
    • Het beheren van de gegevensstroom tussen andere componenten en de CPU
    • Het bevestigen en accepteren van de volgende instructie
    • Het decoderen van instructies
    • Het terugplaatsen van de resulterende gegevens in een geheugeneenheid

Arithmetic and Logical Unit (ALU):

  • Maakt het mogelijk logische en rekenkundige bewerkingen uit te voeren, zoals optellen en aftrekken.
  • (Logische operatoren zijn: AND, OR, NOT, XOR)

Geheugeneenheid:

  • Bestaat uit RAM, dat gepartitioneerd is en bestaat uit een adres en de inhoud, die in binaire vorm zijn.
  • RAM (Random Access Memory) is een snel type geheugen in tegenstelling tot harde schijven, het is ook direct toegankelijk voor de CPU.
  • Door het bestaan van RAM in een CPU, kan deze veel sneller en dus efficiënter functioneren.

Registers:

  • Klein blok in de CPU dat bestaat uit een hoge snelheid opslag geheugencellen die gegevens opslaan voordat ze worden verwerkt, alle logische, rekenkundige en shift bewerkingen vinden hier plaats.
  • Het register bestaat uit 5 componenten
    • Program Counter (PC): Bevat het adres van de volgende instructie die moet worden uitgevoerd
    • Accumulator (AC): Opslaggebied waar logische en rekenkundige resultaten worden opgeslagen
    • Memory Address Register (MAR): Bevat het adres van een locatie van de gegevens die moeten worden gelezen van of geschreven naar
    • Memory Data Register (MDR): Tijdelijke opslagplaats waar gegevens worden opgeslagen die zijn gelezen, of gegevens die nog moeten worden geschreven
    • Current Instruction Register (CIR): Gebied waar de huidige instructie wordt uitgevoerd. De operatie is verdeeld in operand en opcode.
      • Operand: Bevat gegevens of het adres van de gegevens (waar de bewerking zal worden uitgevoerd)
      • Opcode: Specificeert het type instructie dat moet worden uitgevoerd

Bussen:

  • Dit zijn een aantal parallelle draden, die componenten (twee of meer) binnen de CPU met elkaar verbinden. Binnen de CPU zijn er drie soorten bussen, en deze worden alle aangeduid als een systeembus. De bussoorten zijn: Data bus, Control bus, en Address bus.
  • Gegevensbus: Deze bus wordt een bi-directionele bus genoemd, hetgeen betekent dat “bits” in beide richtingen kunnen worden vervoerd. Deze bus wordt gebruikt om gegevens en instructies te transporteren tussen de processor, de geheugeneenheid en de in-/uitvoer.
  • Adresbus: Transmitteert het geheugenadres dat specificeert waar de relevante gegevens moeten worden verzonden of opgehaald. (De adresbus draagt niet de data, alleen het adres)
  • Control bus: Dit is ook een tweerichtingsbus die wordt gebruikt om “besturingssignalen”/opdrachten van de CPU (en statussignalen van andere componenten) door te geven om alle activiteiten binnen de computer te besturen en te coördineren.

Input/Outputs:

  • Informatie doorgegeven van de gebruiker/informatie ontvangen door de gebruiker.

Voordelen en nadelen van de von Neumann-architectuur

Voordelen Nadelen
De besturingseenheid haalt instructies en gegevens op dezelfde manier uit één geheugeneenheid. Dit vereenvoudigt de ontwikkeling en het ontwerp van de besturingseenheid Parallelle uitvoering van programma’s is niet toegestaan als gevolg van seriële instructieverwerking
Het bovenstaande voordeel zou ook betekenen dat gegevens uit het geheugen en uit apparaten op dezelfde manier worden benaderd. Daardoor wordt de efficiency verhoogd Er kan slechts één “bus” tegelijk worden benaderd. Dit heeft tot gevolg dat de CPU inactief is (omdat hij sneller is dan een databus) Dit wordt beschouwd als de von Neumann Bottleneck
Een voordelige eigenschap is dat programmeurs controle hebben over de geheugenorganisatie Hoewel zowel instructies als gegevens op dezelfde plaats worden opgeslagen, kan dit in zijn geheel als een voordeel worden beschouwd. Dit kan er echter toe leiden dat er opnieuw overheen wordt geschreven, waardoor gegevens verloren gaan, als gevolg van een fout in een programma
Als een defect programma er niet in slaagt geheugen vrij te geven wanneer het niet nodig is (of er niet mee klaar is), kan dit de computer doen crashen, als gevolg van onvoldoende beschikbaar geheugen

Von Neumann bottleneck

Aangezien processoren en computers in de loop der jaren een toename van de verwerkingssnelheid hebben doorgemaakt, en geheugenverbeteringen meer in capaciteit dan in snelheid zijn toegenomen, heeft dit geleid tot de term “von Neumann bottleneck”. Dit komt doordat de CPU een grote hoeveelheid tijd inactief is (niets doet), terwijl hij wacht tot gegevens uit het geheugen worden opgehaald. Het maakt niet uit hoe snel de processor is, dit hangt uiteindelijk af van de overdrachtssnelheid; als de processor sneller is, betekent dit in feite alleen maar dat hij een grotere “idle” tijd zal hebben.

Mogelijkheden om dit knelpunt op te lossen zijn:

  • Caching:
    • Gegevens die gemakkelijker toegankelijk zijn in RAM, in plaats van opgeslagen in het hoofdgeheugen. Het soort gegevens dat hier wordt opgeslagen, is het soort gegevens dat vaak wordt gebruikt.
  • Prefetching:
    • Het transport van bepaalde gegevens naar de cache voordat ze worden opgevraagd. Dit versnelt de toegang wanneer de gegevens worden opgevraagd.
  • Multithreading:
    • Het beheren van veel verzoeken tegelijkertijd in afzonderlijke threads.
  • Nieuwe typen RAM:
    • Zoals DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
    • Dit type RAM activeert de uitgang zowel op de neergaande als op de opgaande flank van de systeemklok, in plaats van alleen op de opgaande flank.
    • Dit kan de uitgang potentieel verdubbelen.
  • RAMBUS:
    • Een subsysteem dat de RAM-controller, het RAM-geheugen en de bus (het pad) verbindt die het RAM-geheugen verbindt met de microprocessor en apparaten binnen de computer die er gebruik van maken.
  • Processing in Memory (PIM):
    • PIM’s integreren een processor en geheugen in één microchip.

Wat is de Harvard-architectuur?

De Harvard-architectuur is genoemd naar de “Harvard Mark I”, een op relais gebaseerde computer, die een IBM-computer was aan de universiteit van Harvard.

De computer sloeg instructies op “ponsband” (24 bits breed) op, en verder werden de gegevens opgeslagen in elektro-mechanische tellers. De CPU van deze vroege computersystemen bevatte de gegevensopslag volledig, en bood geen toegang tot de instructieopslag als gegevens.

De Harvard-architectuur is een type architectuur, die de gegevens en instructies afzonderlijk opslaat, waardoor de geheugeneenheid wordt gesplitst.

De CPU in een Harvard-architectuursysteem kan tegelijkertijd gegevens en instructies ophalen, doordat de architectuur afzonderlijke bussen heeft voor gegevensoverdracht en instructie-fetches.

Karakteristieken van de Harvard-architectuur

Beide typen architecturen bevatten dezelfde componenten, maar het belangrijkste verschil is dat in een Harvard-architectuur het ophalen van instructies en het overbrengen van gegevens gelijktijdig (simultaan) kan geschieden (omdat het systeem twee bussen heeft, een voor het overbrengen van gegevens en een voor het ophalen van instructies).

Von-Neumann vs Harvard-architectuur Afbeelding 2

Voordelen en nadelen van de Harvard-architectuur

Voordelen Nadelen
Doordat instructies en gegevens in verschillende bussen worden overgedragen, betekent dit dat er een kleinere kans is op datacorruptie Het geheugen dat aan elk (data en instructies) is toegewezen, moet door de fabrikant worden uitgebalanceerd. Want als er data-geheugen vrij is, kan het niet voor instructies worden gebruikt en omgekeerd
Instructies en data kunnen op dezelfde manier worden benaderd Dit voordeel (naar links) resulteert echter in een complexere architectuur, omdat er twee bussen nodig zijn. Dit betekent dat de fabricage meer tijd kost en dat deze systemen duurder zijn
De Harvard-architectuur biedt een hoge prestatie, omdat deze architectuur een gelijktijdige stroom van gegevens en instructies mogelijk maakt. Deze worden in apart geheugen bewaard en lopen via aparte bussen Deze architectuur is echter, ondanks de hoge prestaties, zeer complex, vooral voor moederbordfabrikanten om te implementeren
Er is een grotere geheugenbandbreedte die beter voorspelbaar is, doordat de architectuur apart geheugen heeft voor instructies en data Hoewel, zoals hierboven vermeld, om het voordeel aan de linkerkant te bereiken, de Harvard-architectuur een controle-eenheid voor twee bussen vereist. Wat de complexiteit verhoogt en de ontwikkeling moeilijker maakt. Dit alles verhoogt de prijs van het systeem

Gemodificeerde Harvard Architectuur

Von Neumann Architectuur vs. Harvard Architectuur:

Von Neumann Architectuur Harvard Architectuur
Gebaseerd op het concept van een opgeslagen programmacomputer Gebaseerd op het Harvard Mark I relais-gebaseerde computermodel
Gebruikt hetzelfde fysieke geheugenadres voor instructies en data Het gebruikt aparte geheugenadressen voor instructies en data
De processoren hebben twee klokcycli nodig om een instructie uit te voeren De processor heeft slechts één cyclus nodig om een instructie te voltooien
De von Neumann architectuur bestaat uit een eenvoudiger besturingseenheid ontwerp, wat betekent dat er minder complexe ontwikkeling nodig is. Dit betekent dat het systeem minder kostbaar zal zijn De controle-eenheid van de Harvard-architectuur bestaat uit twee bussen, wat resulteert in een gecompliceerder systeem. Dit verhoogt de ontwikkelingskosten, wat resulteert in een duurder systeem
Instructie-fetches en gegevensoverdrachten kunnen niet tegelijkertijd worden uitgevoerd Instructie-fetches en gegevensoverdrachten kunnen tegelijkertijd worden uitgevoerd
Gebruikt in laptops, personal computers, en werkstations Gebruikt in signaalverwerking en microcontrollers

Gemodificeerde Harvard Architectuur:

Een zuivere Harvard-architectuur lijdt onder het nadeel dat moet worden voorzien in een mechanisme om de lading van het uit te voeren programma te scheiden in het instructiegeheugen en dus alle te bewerken gegevens in het datageheugen te laten.

Hoewel moderne systemen tegenwoordig gebruik maken van een read only technologie voor het instructiegeheugen en een read/write technologie voor hetzelfde geheugen.

Dit stelt een systeem in staat de uitvoering van een vooraf geladen programma mogelijk te maken zodra de stroom wordt ingeschakeld.

De gegevens zullen zich echter in een onbekende toestand bevinden, zodat zij geen vooraf gedefinieerde waarden aan het programma kunnen verstrekken.

De oplossing hiervoor is het verstrekken van machinetaalinstructies, zodat de inhoud van het instructiegeheugen kan worden gelezen alsof het gegevens zijn, alsmede het verstrekken van een hardwarepad.

De meeste adopties van de Harvard-architectuur tegenwoordig is een aangepaste vorm, dit is om de strikte scheiding tussen de gegevens en de code te versoepelen, met behoud van een hoge prestaties gelijktijdige gegevens en instructie toegang van de oorspronkelijke Harvard-architectuur.

De aangepaste Harvard-architectuur is een variatie van de oorspronkelijke Harvard-architectuur. Het verschil tussen de twee is echter dat de gewijzigde architectuur toestaat dat de inhoud van het instructiegeheugen als data wordt benaderd.

De drie belangrijkste wijzigingen die op een gemodificeerde Harvard-architectuur worden toegepast zijn:

  • Split-cache-architectuur:
    • Zeer vergelijkbaar met de von Neumann-architectuur, bouwt deze wijziging een geheugenhiërarchie op met CPU-caches voor instructies en data op lagere niveaus van de hiërarchie.
  • Instructiegeheugen-als-gegevens-architectuur:
    • Deze wijziging maakt het mogelijk de inhoud van het instructiegeheugen te benaderen als de gegevens. Dit is mogelijk omdat gegevens niet direct als instructies kunnen worden uitgevoerd.
    • (Hoewel er discussie is of dit nu wel of niet de naam “gemodificeerde” Harvard-architectuur mag dragen)
  • Data-geheugen-als-instructie-architectuur:
    • Uitvoeren van instructies die uit een willekeurig geheugensegment worden gehaald, in tegenstelling tot de Harvard-architectuur, die alleen instructies kan uitvoeren die uit het programmageheugensegment worden gehaald.

Samenvatting en feiten

De von Neumann-architectuur was een grote vooruitgang ten opzichte van de programmagestuurde computers, die in de jaren veertig werden gebruikt. Dergelijke computers werden geprogrammeerd door het plaatsen van patch leads en schakelaars om gegevens en controlesignalen tussen verschillende functionele sets te routeren.

Waar tegenwoordig de meerderheid van computersystemen hetzelfde geheugen delen voor zowel gegevens als programma-instructies.

De CPU in een Harvard-architectuur systeem wordt in staat gesteld om tegelijkertijd gegevens en instructies op te halen, doordat de architectuur afzonderlijke bussen heeft voor gegevensoverdracht en instructie-opvragingen.

Wat is de von Neumann-architectuur?

De von Neumann-architectuur verwijst naar een architectuur die zowel de gegevens als de geprogrammeerde instructies in lees- en schrijf-RAM (Random Access Memory) bewaart.

Karakteristieken van de von Neumann-architectuur:

  • Centrale verwerkingseenheid (CPU)
  • Besturingseenheid
  • Ritmetische en logische eenheid (ALU)
  • Geheugeneenheid
  • Registers:
    • Programmateller (PC)
    • Accumulator (AC)
    • Memory Address Register (MAR)
    • Memory Data Register (MDR)
    • Current Instruction Register (CIR)
  • Bussen:
    • Data-bus
    • Address-bus
    • Control-bus
  • Input/Outputs

Voordelen:

  • Minder duur/complex vergeleken met Harvard architectuur
  • Efficiënt

Nadelen:

  • Von Neumann Bottleneck
  • Grote kans op dataverlies

Wat is Harvard Architectuur?

  • De Harvard-architectuur is een computersysteem dat twee gescheiden gebieden bevat voor gegevens en opdrachten/instructies.
  • De Harvard-architectuur is een type architectuur, waarin de gegevens en instructies gescheiden worden opgeslagen, waardoor de geheugeneenheid wordt gesplitst.

Voordelen:

  • Minder kans op gegevenscorruptie
  • Hoge prestaties
  • Grote geheugenbandbreedte

Nadelen:

  • Complex
  • Dure

Gemodificeerde Harvard-architectuur:

De gemodificeerde Harvard-architectuur is een variatie op de oorspronkelijke Harvard-architectuur. Het verschil tussen de twee is echter, dat de gewijzigde architectuur het mogelijk maakt de inhoud van het instructiegeheugen als data te benaderen.

De drie belangrijkste wijzigingen die op een gemodificeerde Harvard-architectuur worden toegepast, zijn:

  • Split-cache architectuur
  • Instructie-geheugen-als-data architectuur
  • Data-geheugen-als-instructie-architectuur
  1. https://www.techopedia.com/definition/19737/harvard-architecture
  2. https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
  3. https://getrevising.co.uk/grids/von-neumann-architecture
  4. http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
  5. https://en.wikipedia.org/wiki/Von_Neumann_architecture
  6. https://www.geeksforgeeks.org/computer-organization-von-neumann-architecture/
  7. https://www.techopedia.com/definition/32480/von-neumann-architecture
  8. http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
  9. https://www.computerscience.gcse.guru/theory/von-neumann-architecture
  10. https://en.wikipedia.org/wiki/Modified_Harvard_architecture
  11. https://www.edaboard.com/threads/harvard-vs-modified-harvard-architechture.111764/

Articles

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.