EuraStudy
Samenvattingen/Informatica/Domein E: Architectuur
Samenvattingen · InformaticaNL · VWO

Domein E: Architectuur

Domein E opent de computer: hoe werkt de machine onder de programma’s? Centraal staat de von Neumann-architectuur (processor met ALU, besturingseenheid en registers, gekoppeld aan geheugen en in-/uitvoer via een bus) en de instructiecyclus fetch-decode-execute die daarop draait. Daarnaast de geheugenhiërarchie (van snelle registers tot trage opslag), de gelaagdheid van hardware, besturingssysteem en toepassingen, en de taken van het besturingssysteem. Alles draait om abstractielagen: elke laag verbergt de complexiteit van de laag eronder.

4 Onderdelen·~13 min leestijd·4 Vaardigheden·Niveau Basis 1 · Standaard 3

T·0555 / 18
Examenprofiel
E · De von Neumann-architectuur beschrijven: CPU (ALU, besturingseenheid, registers), geheugen, bus en in-/uitvoerE · De instructiecyclus fetch-decode-execute uitleggenE · De geheugenhiërarchie en de rol van cache verklarenE · De gelaagdheid hardware–besturingssysteem–toepassing en de taken van het OS benoemen
Operatoren:beschrijfleg uitbenoemverklaarorden

basisniveau

De onderdelen van de von Neumann-machine en de instructiecyclus zijn kernstof; ze verklaren hoe elk programma uiteindelijk draait.

verhoogd niveau

De geheugenhiërarchie (waarom cache), scheduling en geheugenbeheer door het besturingssysteem vormen de verdieping (zie ook keuze K).

Diepte

Leesdiepte: Verdieping

Tekst

Tekstgrootte: Standaard

Inhoud · 4 onderdelen▾
  1. Domein E: Architectuur
    • 01De von Neumann-architectuur○
    • 02De instructiecyclus (fetch-decode-execute)◐
    • 03Geheugenhiërarchie◐
    • 04Besturingssysteem en abstractielagen◐
§ 01

De von Neumann-architectuur#

●○○BasisLPexamenblad-informatica-E

Kernpunten

Vrijwel elke moderne computer volgt de von Neumann-architectuur: een processor (CPU) gekoppeld aan één geheugen en aan in-/uitvoer, verbonden door een bus. Afb. 1 toont het schema. De CPU bevat drie kernonderdelen: de ALU (arithmetic logic unit) die reken- en logische bewerkingen uitvoert, de besturingseenheid (control unit) die de instructies aanstuurt, en snelle registers die de gegevens vasthouden waarmee de CPU op dat moment werkt. Deze verdeling — rekenen, sturen, tijdelijk onthouden — is de basisanatomie van de processor.

De von Neumann-architectuur

Von NeumannSchema met 8 elementen, CPU, ALU, Besturing, Registers, Geheugen, In-/uitvoer, busCPUALUBesturingRegistersGeheugenIn-/uitvoerbus
Afb. 1Afb. 1 — De CPU (ALU, besturing, registers) communiceert via de bus met één gedeeld geheugen en met in-/uitvoer.
Het beslissende inzicht van von Neumann is het stored-program-principe: instructies (het programma) en gegevens staan sámen in hetzelfde geheugen, in dezelfde binaire vorm. Daarvóór waren machines vastbedraad voor één taak; door het programma óók als data in het geheugen te zetten, werd de computer universeel — je verandert wat hij doet door simpelweg een ander programma te laden, zonder de hardware aan te passen. Dit ene idee maakt de computer tot de veelzijdige machine die hij is en verbindt domein E met de berekenbaarheidstheorie van keuze G.
De bus is het verbindingskanaal waarover alles reist. Men onderscheidt de databus (de gegevens zelf), de adresbus (welke geheugenplek wordt bedoeld) en de besturingsbus (stuursignalen zoals lezen/schrijven). Omdat CPU en geheugen alles via die ene bus uitwisselen, is de bus vaak de flessenhals van het systeem — de beroemde ‘von-Neumann-flessenhals’. Hoe snel de processor ook rekent, hij moet wachten als de bus de gegevens niet snel genoeg aanvoert; dat verklaart mede waarom er een geheugenhiërarchie met cache nodig is (sectie 3).
Het geheugen is een lange rij genummerde plekken (adressen), elk met een byte of woord. De CPU leest en schrijft door een adres op de adresbus te zetten en via de databus de inhoud uit te wisselen. In-/uitvoerapparaten (toetsenbord, scherm, schijf, netwerk) hangen ook aan de bus en worden op vergelijkbare wijze aangesproken. Zo ontstaat één samenhangend beeld: de besturingseenheid haalt een instructie uit het geheugen, de ALU voert hem uit op waarden in registers, en resultaten gaan terug naar geheugen of naar de buitenwereld — precies de cyclus van de volgende sectie.
Uitgewerkt voorbeeld

Onderdeel bij functie

Koppel de taak aan het juiste onderdeel: (a) 3 + 5 uitrekenen; (b) de volgende instructie ophalen en decoderen; (c) een tussenwaarde vasthouden.

  1. 01Rekenen

    3 + 5 is een rekenbewerking → de ALU.

  2. 02Sturen

    Instructies ophalen en decoderen → de besturingseenheid.

  3. 03Tijdelijk bewaren

    Een tussenwaarde direct beschikbaar houden → een register.

Resultaat: ALU rekent, besturingseenheid stuurt, registers bewaren — de drie kerntaken binnen de CPU.

Eindexamen-focus

  • Examendoel: benoem de onderdelen van de von Neumann-architectuur (ALU, besturingseenheid, registers, geheugen, bus, in-/uitvoer) en hun functie.
  • Examendoel: leg het stored-program-principe uit en waarom het de computer universeel maakt.

Veelgemaakte fouten

  • Denken dat programma’s en gegevens in gescheiden geheugens staan; in de von Neumann-architectuur delen instructies en data juist hetzelfde geheugen.
  • De ALU en de besturingseenheid verwarren: de ALU rékent, de besturingseenheid stúúrt (haalt instructies op en coördineert).

Actieve herhaling

Teken of beschrijf de von Neumann-architectuur met alle onderdelen uit Afb. 1 en geef bij elk onderdeel in één zin zijn functie. Leg uit wat de ‘von-Neumann-flessenhals’ is.

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — domein E (architectuur) (CvTE / Examenblad)

§ 02

De instructiecyclus (fetch-decode-execute)#

●●○StandaardLPexamenblad-informatica-E

De instructiecyclus

Fetch-decode-executeGraaf, ophalen (fetch) → decoderen (decode), decoderen (decode) → uitvoeren (execute), uitvoeren (execute) → resultaat opslaan, resultaat opslaan → ophalen (fetch)ophalen (fetch)decoderen(decode)uitvoeren(execute)resultaatopslaan
Afb. 2Afb. 1 — De CPU herhaalt onophoudelijk: ophalen, decoderen, uitvoeren, opslaan — en weer ophalen.

Kernpunten

Een draaiend programma is niets anders dan de CPU die miljarden keren per seconde dezelfde lus doorloopt: de instructiecyclus fetch-decode-execute. Afb. 1 toont hem als een kring. In de fetch (ophalen) haalt de besturingseenheid de volgende instructie uit het geheugen; welke, houdt een speciaal register bij: de programmateller (program counter), die naar het adres van de volgende instructie wijst. Na het ophalen schuift de programmateller op naar de instructie erna. Dit register is de ‘vinger op de regel’ die de plaats in het programma onthoudt.
In de decode (decoderen) ontcijfert de besturingseenheid de opgehaalde instructie: welke bewerking wordt gevraagd (de opcode) en op welke gegevens of adressen (de operanden)? Een instructie is immers zelf ook een bitpatroon; decoderen is het opsplitsen daarvan in ‘wat te doen’ en ‘waarmee’. Op grond daarvan stuurt de besturingseenheid de juiste onderdelen aan — bijvoorbeeld ‘tel op’ naar de ALU, met de betrokken registers.
In de execute (uitvoeren) gebeurt het werk: de ALU rekent, of er wordt een waarde uit het geheugen geladen, of een sprong verandert de programmateller. Daarna eventueel het resultaat opslaan (write-back) in een register of geheugen — en dan begint de cyclus opnieuw met de fetch van de volgende instructie. Zo krap is het fundament: alle software, van een spel tot een besturingssysteem, is uiteindelijk deze eenvoudige lus, ontelbare keren herhaald op eenvoudige instructies.
Een cruciaal detail is de sprong-instructie. Normaal verwerkt de CPU instructies keurig op volgorde (de programmateller loopt op), maar een sprong zet de programmateller op een ánder adres. Zo worden de controlestructuren uit domein D werkelijkheid op hardwareniveau: een `als`-selectie is een voorwaardelijke sprong (spring alleen als een voorwaarde geldt), en een lus is een sprong terug naar een eerder adres. De hoog-abstracte control flow die je in code schrijft, wordt hier vertaald naar het simpelweg verzetten van één register — een prachtig voorbeeld van de abstractielagen uit domein A.
Uitgewerkt voorbeeld

Eén instructie door de cyclus

Volg de instructie ‘A ← A + B’ door de instructiecyclus.

  1. 01Fetch

    De besturingseenheid haalt de instructie op van het adres waar de programmateller naar wijst; de programmateller schuift op naar de volgende instructie.

  2. 02Decode

    De instructie wordt ontcijferd: opcode = optellen, operanden = register A en register B.

  3. 03Execute

    De ALU telt de waarden van A en B op.

  4. 04Store

    Het resultaat wordt teruggeschreven in register A. Daarna start de cyclus opnieuw met de volgende instructie.

Resultaat: De instructie is in vier stappen verwerkt; de programmateller staat klaar op de volgende instructie.

Eindexamen-focus

  • Examendoel: beschrijf de stappen fetch, decode en execute en de rol van de programmateller in de instructiecyclus.
  • Examendoel: leg uit hoe een (voorwaardelijke) sprong de programmateller verandert en zo selectie en iteratie op hardwareniveau realiseert.

Veelgemaakte fouten

  • De programmateller verwarren met een gewoon dataregister; de programmateller houdt het adres van de vólgende instructie bij, niet een rekenwaarde.
  • Denken dat de CPU instructies altijd strikt op volgorde uitvoert; een sprong-instructie verzet de programmateller en breekt de volgorde bewust.

Actieve herhaling

Beschrijf voor de instructie ‘tel de waarde in register A op bij register B’ wat er in de fetch-, decode- en execute-fase gebeurt, inclusief wat er met de programmateller gebeurt.

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — domein E (instructiecyclus) (CvTE / Examenblad)

§ 03

Geheugenhiërarchie#

●●○StandaardLPexamenblad-informatica-E

De geheugenhiërarchie

Geheugenhiërarchiepiramide, 4 niveaus, Gegevens: Externe opslag (SSD/HDD), RAM (werkgeheugen), Cache (L1–L3), RegistersExterne opslag (SSD/HDD)TB — traag, niet-vluchtigRAM (werkgeheugen)GB — snel, vluchtigCache (L1–L3)KB–MB — zeer snelRegistersbytes — snelst
Afb. 3Afb. 1 — Van boven naar beneden: sneller en kleiner naar trager en groter; cache overbrugt CPU en RAM.

Kernpunten

Snel geheugen is duur en klein; groot geheugen is goedkoop maar traag. Die spanning lost de computer op met een geheugenhiërarchie: een stapel geheugensoorten van klein-en-snel naar groot-en-traag. Afb. 1 toont de piramide. Bovenaan zitten de registers in de CPU (enkele tientallen, razendsnel), daaronder de cache (kilobytes tot megabytes, zeer snel), dan het werkgeheugen (RAM, gigabytes, snel), en onderaan de externe opslag (SSD of harde schijf, terabytes, traag maar niet-vluchtig). Elke laag is een compromis tussen snelheid, grootte en prijs.
De cache is de sleutel tot prestaties. Omdat de CPU veel sneller rekent dan het RAM gegevens kan aanleveren (de von-Neumann-flessenhals), plaatst men er een klein, supersnel geheugen tussen dat kopieën van veelgebruikte gegevens bewaart. Vindt de CPU wat ze zoekt in de cache (een cache hit), dan hoeft ze niet op het trage RAM te wachten; zo niet (een cache miss), dan wordt het uit RAM gehaald én in de cache gezet voor de volgende keer. Een goed werkende cache verbergt de traagheid van het grote geheugen achter de snelheid van het kleine.
Waarom werkt een klein cachegeheugen zo goed? Door het principe van lokaliteit. Temporele lokaliteit: gegevens die net gebruikt zijn, worden waarschijnlijk snel weer gebruikt (denk aan een lusvariabele). Ruimtelijke lokaliteit: gegevens vlak náást wat je net gebruikte, komen waarschijnlijk zo aan de beurt (denk aan opeenvolgende array-elementen). Programma’s vertonen dit gedrag vanzelf, en de cache buit het uit door telkens een blokje omliggende gegevens mee te nemen. Wie efficiënte code wil, houdt rekening met lokaliteit — bijvoorbeeld een array netjes op volgorde doorlopen in plaats van willekeurig.
Naast snelheid verschillen de lagen in vluchtigheid. Registers, cache en RAM zijn vluchtig (volatile): hun inhoud verdwijnt zodra de stroom wegvalt. Externe opslag is niet-vluchtig: bestanden blijven bewaard. Dat verklaart waarom niet-opgeslagen werk bij een stroomstoring verloren gaat — het stond nog in het vluchtige RAM en was nog niet naar de schijf geschreven. De hiërarchie verklaart dus zowel de prestaties van een computer als praktische ervaringen van elke gebruiker.
Uitgewerkt voorbeeld

Cache hit of miss

Een lus telt herhaald bij dezelfde teller op. Verklaar waarom die teller na de eerste keer vrijwel altijd een cache hit oplevert.

  1. 01Eerste toegang

    De teller staat nog niet in de cache: een cache miss. Hij wordt uit RAM gehaald en in de cache geplaatst.

  2. 02Temporele lokaliteit

    De lus gebruikt dezelfde teller telkens opnieuw, kort na elkaar.

  3. 03Volgende toegangen

    De teller zit nu in de snelle cache: elke volgende toegang is een cache hit, zonder wachten op RAM.

Resultaat: Door temporele lokaliteit levert de teller na de eerste miss steeds cache hits — de lus draait op cachesnelheid.

Eindexamen-focus

  • Examendoel: orden de geheugensoorten (registers, cache, RAM, opslag) naar snelheid, grootte en prijs en leg de afruil uit.
  • Examendoel: verklaar de rol van cache met het begrip lokaliteit en het onderscheid cache hit / cache miss.

Veelgemaakte fouten

  • RAM en externe opslag gelijkstellen; RAM is snel maar vluchtig (leeg na uitschakelen), opslag is trager maar niet-vluchtig (bewaart bestanden).
  • Denken dat meer cache altijd evenredig sneller is; cache helpt alleen dankzij lokaliteit, en boven een bepaalde grootte neemt de winst sterk af.

Actieve herhaling

Leg uit waarom een computer zowel snelle registers als traag maar groot opslaggeheugen heeft, in plaats van alles van één soort. Beschrijf wat er gebeurt bij een cache hit en bij een cache miss.

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — domein E (geheugenhiërarchie) (CvTE / Examenblad)

§ 04

Besturingssysteem en abstractielagen#

●●○StandaardLPexamenblad-informatica-E

Een bestandssysteem als boom

BestandssysteemBoomdiagram, 4 paden, Gegevens: home → leerling → verslag.txt; home → leerling → foto.jpg; etc; binleerlinghome/ (wortel)verslag.txtfoto.jpgetcbin
Afb. 4Afb. 1 — Het bestandssysteem is een boom van mappen en bestanden; een pad is de route van de wortel naar een bestand.

Kernpunten

Een computer is gelaagd. Onderaan de fysieke hardware, daarboven de firmware en het besturingssysteem (OS), en bovenaan de toepassingen (apps) waarmee de gebruiker werkt. Elke laag biedt de laag erboven een vereenvoudigde interface en verbergt de details eronder — dezelfde abstractie-idee als in domein A, nu als bouwprincipe van het hele systeem. Een app die een bestand opslaat, praat met het OS en hoeft niets te weten van magnetische schijven of geheugenadressen; het OS regelt dat. Zo kan één app op heel verschillende hardware draaien.
Het besturingssysteem is de spil tussen hardware en toepassingen, met vier kerntaken. Procesbeheer: het OS verdeelt de processortijd over de draaiende programma’s (processen) en wisselt razendsnel tussen ze (scheduling), zodat het lijkt alsof alles tegelijk draait op één CPU. Geheugenbeheer: het OS wijst elk proces een deel van het geheugen toe en beschermt processen tegen elkaar, zodat het ene programma niet in het geheugen van het andere kan schrijven.
De twee andere kerntaken zijn bestandsbeheer en apparaatbeheer. Het OS ordent gegevens op de schijf in een bestandssysteem: een hiërarchie van mappen en bestanden. Afb. 1 toont zo’n boom, met een wortelmap waaronder mappen en bestanden vertakken — dezelfde boomstructuur uit domein B, hier als organisatie van opslag; een pad (zoals /home/leerling/verslag.txt) is de route van de wortel naar een bestand. Via apparaatbeheer (stuurprogramma’s) praat het OS met randapparaten en biedt het apps een uniforme manier om ze te gebruiken.
Deze gelaagdheid verklaart veel dagelijkse ervaringen. Dat programma’s ‘tegelijk’ draaien is de scheduler die tussen processen wisselt. Dat een crashende app niet de hele computer meesleept, komt door geheugenbescherming. Dat dezelfde app op verschillende computers werkt, komt doordat het OS de hardwareverschillen wegabstraheert. En de scheiding tussen een bevoorrechte kernelmodus (waarin het OS bij alle hardware mag) en een beperkte gebruikersmodus (waarin apps draaien) is een fundament van beveiliging — een brug naar keuze N (security). Het OS is daarmee zowel manager, scheidsrechter als beschermer van het systeem.
Uitgewerkt voorbeeld

Het OS aan het werk bij het openen van een app

Je start een app. Beschrijf welke OS-kerntaken daarbij betrokken zijn.

  1. 01Procesbeheer

    Het OS maakt een nieuw proces aan en plant CPU-tijd in voor de app.

  2. 02Geheugenbeheer

    Het OS wijst het proces geheugen toe en schermt dat af van andere processen.

  3. 03Bestands- en apparaatbeheer

    Het OS laadt het programmabestand van de schijf en koppelt scherm, toetsenbord en muis via stuurprogramma’s.

Resultaat: Het openen van één app raakt alle vier de OS-taken; de app zelf hoeft van de hardware niets te weten.

Eindexamen-focus

  • Examendoel: benoem de vier kerntaken van het besturingssysteem (proces-, geheugen-, bestands- en apparaatbeheer) en licht ze toe.
  • Examendoel: leg de gelaagdheid hardware–OS–toepassing uit en waarom abstractielagen apps hardware-onafhankelijk maken.

Veelgemaakte fouten

  • Het besturingssysteem als ‘een gewoon programma’ zien; het OS staat een laag lager, beheert de hardware en bedient álle andere programma’s.
  • Denken dat meerdere programma’s letterlijk tegelijk op één CPU-kern draaien; de scheduler wisselt zó snel dat het gelijktijdig lijkt, maar de kern doet één ding tegelijk.

Actieve herhaling

Leg met de vier kerntaken van een besturingssysteem uit wat er allemaal moet gebeuren als je in een tekstverwerker een document opent, bewerkt en opslaat.

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — domein E (besturingssysteem en lagen) (CvTE / Examenblad)

Inhoud

Sectie -- / 04

    • 01De von Neumann-architectuur○
    • 02De instructiecyclus (fetch-decode-execute)◐
    • 03Geheugenhiërarchie◐
    • 04Besturingssysteem en abstractielagen◐

0/4 Gelezen

Van samenvatting naar oefening

Domein E: Architectuur

Verstevig dit onderwerp met vragen uit de vragenbank.

~13
min
4
Vaardigheden
Oefenen

Referenties en bronnen

Bronnen

CvTE / Examenblad

  • Examenprogramma informatica vwo — domein E (architectuur)

Vorig onderwerp

Domein D: Programmeren

Volgend onderwerp

Domein F: Interactie

EuraStudy·Samenvattingen T·05·MMXXVI

Ga verder met het volgende onderwerp — je leerpad blijft bewaard.