EuraStudy
Samenvattingen/Informatica/Keuze K: Computerarchitectuur
Samenvattingen · InformaticaNL · VWO

Keuze K: Computerarchitectuur

Dit keuzethema gaat een niveau dieper dan domein E: hoe bouw je uit niets anders dan schakelaars een rekenende machine? Het behandelt digitale logica (poorten en waarheidstabellen), combinatorische schakelingen (de opteller), sequentiële schakelingen die een bit kunnen ónthouden (flip-flops, dankzij terugkoppeling), en machinetaal met registers en de ALU. De rode draad is de opbouw van abstractielagen: van transistor via poort en opteller naar processor. Verdieping binnen het schoolexamen.

4 Onderdelen·~14 min leestijd·4 Vaardigheden·Niveau Standaard 2 · Verdieping 2

T·101010 / 18
Examenprofiel
K · Logische poorten (AND, OR, NOT, XOR, NAND) en hun waarheidstabellenK · Combinatorische schakelingen ontwerpen en analyseren (halve/volle opteller)K · Sequentiële schakelingen: flip-flops en geheugen door terugkoppelingK · Machinetaal/assembly, registers en de ALU
Operatoren:stel opanalyseervul inleg uitspeel na

basisniveau

Logische poorten en waarheidstabellen zijn de kern en sluiten aan op de logica van keuze G.

verhoogd niveau

De opteller, flip-flops en machinetaal laten zien hoe een processor uit poorten wordt opgebouwd.

Diepte

Leesdiepte: Verdieping

Tekst

Tekstgrootte: Standaard

Inhoud · 4 onderdelen▾
  1. Keuze K: Computerarchitectuur
    • 01Logische poorten en waarheidstabellen◐
    • 02Combinatorische schakelingen: de opteller●
    • 03Sequentiële schakelingen en geheugen●
    • 04Machinetaal, registers en de ALU◐
§ 01

Logische poorten en waarheidstabellen#

●●○StandaardLPexamenblad-informatica-K

Kernpunten

Op het laagste niveau werkt een computer met bits die twee spanningsniveaus voorstellen: hoog (1) en laag (0). Logische poorten zijn de elementaire bouwstenen die deze bits verwerken; elk realiseert een operator uit de propositielogica (keuze G) in hardware. De basis: de AND-poort (uitgang 1 alleen als beide ingangen 1 zijn), de OR-poort (1 als minstens één ingang 1 is), de NOT-poort of inverter (keert de bit om) en de XOR-poort (1 als de ingangen verschillen). Afb. 1 geeft de waarheidstabellen van de tweeingangs-poorten; die tabel ís de complete definitie van de poort.

Waarheidstabellen van de basispoorten

PoortenTabel met 5 kolommen en 4 rijen, Gegevens: a · b · AND · OR · XOR; 0 · 0 · 0 · 0 · 0; 0 · 1 · 0 · 1 · 1; 1 · 0 · 0 · 1 · 1; 1 · 1 · 1 · 1 · 0ABANDORXOR00000010111001111110
Afb. 1Afb. 1 — De waarheidstabel definieert elke poort; let op het verschil tussen OR en XOR bij ingangen 1, 1.
Uit deze poorten bouw je elke gewenste logische functie op. Sterker nog: sommige poorten zijn universeel — met alleen NAND-poorten (of alleen NOR-poorten) kun je élke andere poort en dus elke digitale schakeling maken. Dat is diep en praktisch tegelijk: fabrikanten kunnen een hele processor uit één soort poort opbouwen. Het laat zien dat de enorme complexiteit van een computer terug te voeren is op de herhaalde combinatie van één simpel, universeel bouwsteentje — abstractie en decompositie (domein A) tot op het niveau van silicium.
De XOR-poort verdient aparte aandacht, want ze verschijnt overal waar het om verschil of optellen gaat. XOR geeft 1 als de ingangen ongelijk zijn en 0 als ze gelijk zijn — precies het gedrag van de laatste bit bij het optellen van twee bits (0+0=0, 0+1=1, 1+1=10, waarvan de laatste bit 0). Die eigenschap maakt XOR de kern van de opteller (sectie 2). XOR speelt ook een rol in eenvoudige versleuteling (keuze N) en in foutdetectie (pariteitsbits).
Waarheidstabellen zijn het gereedschap om schakelingen te analyseren en te ontwerpen. Analyseren: gegeven een schakeling van poorten, bereken je de uitgang voor elke combinatie van ingangen door de tabel rij voor rij in te vullen. Ontwerpen: gegeven een gewenst gedrag (een waarheidstabel), bepaal je welke poorten dat realiseren. Bij nnn ingangen heeft de tabel 2n2^n2n rijen — dezelfde exponentiële groei als bij bits (domein C) en waarheidstabellen (keuze G). Deze twee vaardigheden, een schakeling naar zijn tabel en een tabel naar een schakeling, vormen de kern van dit keuzethema.
Uitgewerkt voorbeeld

Een schakeling analyseren

Bepaal de uitgang van ‘a XOR b’ gevolgd door een NOT (dus NOT(a XOR b)) voor alle combinaties van a en b.

  1. 01Bereken XOR

    a XOR b is 1 als a en b verschillen: (0,0)→0, (0,1)→1, (1,0)→1, (1,1)→0.

  2. 02Pas NOT toe

    Keer elke uitkomst om: (0,0)→1, (0,1)→0, (1,0)→0, (1,1)→1.

  3. 03Herken de functie

    De uitgang is 1 precies als a en b gelíjk zijn — dit is de XNOR- of gelijkheidspoort.

Resultaat: NOT(a XOR b) geeft 1 als a en b gelijk zijn: de schakeling test op gelijkheid van twee bits.

Eindexamen-focus

  • Examendoel: geef de waarheidstabel van de poorten AND, OR, NOT en XOR en bereken de uitgang van een combinatie van poorten.
  • Examendoel: leg uit dat NAND (of NOR) universeel is en dat elke schakeling uit poorten is op te bouwen.

Veelgemaakte fouten

  • De OR-poort verwarren met XOR: bij 1 en 1 geeft OR een 1, maar XOR juist een 0 (XOR is 1 alleen bij ongelijke ingangen).
  • Vergeten dat een schakeling met n ingangen 2ⁿ rijen in de waarheidstabel heeft, waardoor niet alle combinaties worden gecontroleerd.

Actieve herhaling

Bepaal met een waarheidstabel de uitgang van de schakeling ‘(a AND b) OR (NOT a)’ voor alle vier de combinaties van a en b.

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — keuze K (digitale logica) (CvTE / Examenblad)

§ 02

Combinatorische schakelingen: de opteller#

●●●VerdiepingLPexamenblad-informatica-K

De halve opteller

Halve optellerGraaf, a → XOR, b → XOR, a → AND, b → AND, XOR → som S, AND → carry CabXORANDsom Scarry C
Afb. 2Afb. 1 — De halve opteller: de sombit is a XOR b, de carry is a AND b.

Kernpunten

Een combinatorische schakeling is er een waarvan de uitgang uitsluitend van de huidige ingangen afhangt — geen geheugen, geen geschiedenis. Door poorten te combineren bouw je zo functies op die echt iets nuttigs doen. Het paradevoorbeeld is de opteller, want optellen is de basisbewerking waarop de ALU (sectie 4) en al het rekenen steunt. Afb. 1 toont de eenvoudigste, de halve opteller: hij telt twee bits aaa en bbb op en levert een sombit SSS en een carry (overdracht) CCC.
De halve opteller volgt direct uit het binair optellen van twee bits: 0+0=00+0=00+0=0, 0+1=10+1=10+1=1, 1+0=11+0=11+0=1 en 1+1=101+1=101+1=10. In het laatste geval is de som 0 met een carry 1. Vergelijk je dit met de poorten: de sombit SSS is precies aaa XOR bbb (1 bij ongelijke bits, 0 bij 1+11+11+1), en de carry CCC is precies aaa AND bbb (1 alleen bij 1+11+11+1). De halve opteller is dus niets meer dan een XOR-poort en een AND-poort op dezelfde twee ingangen — een prachtig voorbeeld hoe rekenen uit pure logica ontstaat.
De halve opteller kan geen binnenkomende carry verwerken, en dat is nodig zodra je meer dan één bit optelt. Daarvoor dient de volle opteller: die telt drie bits op — aaa, bbb en een binnenkomende carry CinC_{in}Cin​ — en levert een som en een uitgaande carry CoutC_{out}Cout​. Door nnn volle optellers achter elkaar te schakelen, waarbij de carry van de ene de CinC_{in}Cin​ van de volgende is (een ripple-carry-opteller), tel je twee volledige nnn-bits getallen op — precies het binair optellen ‘met onthouden’ dat je met de hand doet, maar dan in hardware.
Dezelfde optelschakeling verwerkt óók negatieve getallen, dankzij het tweecomplement uit domein C. Omdat aftrekken a−ba - ba−b gelijk is aan a+(−b)a + (-b)a+(−b), en −b-b−b in tweecomplement gewoon een bitpatroon is, hoeft de hardware alleen te kunnen optellen om zowel op te tellen als af te trekken. Zo groeit uit een handvol poorten een schakeling die alle gehele rekenkunde aankan. Deze opbouw — van poort naar opteller naar rekeneenheid — is het bewijs dat de indrukwekkende rekenkracht van een computer volledig terug te voeren is op de herhaalde combinatie van simpele logische poorten.
Uitgewerkt voorbeeld

Waarheidstabel van de halve opteller

Stel de waarheidstabel van de halve opteller op en controleer dat S = a XOR b en C = a AND b.

  1. 01Alle combinaties

    0+0 = 0 (S=0, C=0); 0+1 = 1 (S=1, C=0); 1+0 = 1 (S=1, C=0); 1+1 = 10 (S=0, C=1).

  2. 02Somkolom

    S is 1 bij (0,1) en (1,0), 0 bij (0,0) en (1,1): dat is precies a XOR b.

  3. 03Carrykolom

    C is 1 alleen bij (1,1): dat is precies a AND b.

Resultaat: De tabel bevestigt S = a XOR b en C = a AND b; de halve opteller is één XOR- en één AND-poort.

Eindexamen-focus

  • Examendoel: stel de waarheidstabel van de halve opteller op en toon aan dat de sombit een XOR en de carry een AND van de ingangen is.
  • Examendoel: leg uit hoe volle optellers met doorgegeven carry twee meerbits getallen optellen (ripple-carry).

Veelgemaakte fouten

  • De carry vergeten bij 1 + 1; twee bits optellen geeft niet ‘2’ in één bit, maar sombit 0 met carry 1.
  • Denken dat aftrekken een aparte schakeling vereist; met tweecomplement gebeurt aftrekken met dezelfde optelschakeling.

Actieve herhaling

Stel de volledige waarheidstabel van de halve opteller op (kolommen a, b, som S, carry C) en geef de poort die S levert en de poort die C levert.

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — keuze K (combinatorische schakelingen) (CvTE / Examenblad)

§ 03

Sequentiële schakelingen en geheugen#

●●●VerdiepingLPexamenblad-informatica-K

Een flip-flop met terugkoppeling (SR-latch)

Flip-flopGraaf, S (set) → NOR 1, R (reset) → NOR 2, NOR 1 → Q, NOR 2 → ¬Q, Q → NOR 2, ¬Q → NOR 1S (set)R (reset)NOR 1NOR 2Q¬Qterugkoppelingterugkoppeling
Afb. 3Afb. 1 — Twee kruislings gekoppelde poorten houden door terugkoppeling één bit vast (Q).

Kernpunten

Een combinatorische schakeling kan rekenen maar niets onthouden: zet je de ingangen weg, dan is de uitgang weg. Om een bit te bewaren heb je een sequentiële schakeling nodig, waarvan de uitgang mede afhangt van de vórige toestand. Het geheim daarvan is terugkoppeling (feedback) — precies het idee uit domein F: de uitgang wordt teruggevoerd naar de ingang. Afb. 1 toont een flip-flop (een SR-latch): twee poorten die elkaars uitgang als ingang gebruiken, zodat de schakeling in een stabiele toestand ‘blijft hangen’ en zo één bit vasthoudt.
De werking berust op die kruiskoppeling. Zet je de latch met een puls op de set-ingang (S), dan gaat de uitgang QQQ naar 1 en houdt de terugkoppeling die 1 vast, óók nadat de puls weg is. Een puls op de reset-ingang (R) zet QQQ terug naar 0, weer blijvend. Zonder puls behoudt de schakeling haar toestand — ze onthoudt dus welke ingang het laatst actief was. Dit is het fundamentele geheugenelement: één flip-flop bewaart één bit, en het is de terugkoppeling die het geheugen mogelijk maakt.
Uit deze bouwsteen groeit al het snelle geheugen van de computer. Een register (domein E) is niets anders dan een rijtje flip-flops, één per bit; een 8-bits register is acht flip-flops. Grotere lappen sneller geheugen (cache, en het werkgeheugen SRAM) zijn op dezelfde manier uit flip-flops of vergelijkbare cellen opgebouwd. Zo verklaart de flip-flop concreet waar de registers en het cachegeheugen uit domein E fysiek uit bestaan: uit teruggekoppelde poorten die elk één bit vasthouden.
In een echte processor moeten miljarden van deze cellen gelijktijdig en geordend schakelen. Daarvoor zorgt de klok: een signaal dat miljarden keren per seconde tikt en aangeeft wanneer alle flip-flops hun nieuwe waarde mogen overnemen. De klokfrequentie (in gigahertz) is dus letterlijk het aantal van deze tikken per seconde en bepaalt mede het tempo van de processor. De combinatie van combinatorische logica (die rekent) en sequentiële elementen (die onthouden), gestuurd door een klok, is het complete recept van elke digitale processor — de fetch-decode-execute-cyclus van domein E, uitgevoerd op dit fundament van poorten en flip-flops.
Uitgewerkt voorbeeld

Hoe de latch een bit bewaart

Volg de SR-latch: geef een korte set-puls (S = 1, R = 0) en beschrijf wat er met Q gebeurt nadat de puls wegvalt.

  1. 01Set-puls

    S = 1 dwingt Q naar 1; via de kruiskoppeling wordt ¬Q dan 0.

  2. 02Puls valt weg

    S wordt weer 0, maar ¬Q = 0 houdt via de terugkoppeling Q op 1 — de toestand blijft stabiel.

  3. 03Onthouden

    Zonder nieuwe puls blijft Q = 1: de latch onthoudt dat set het laatst actief was.

Resultaat: De terugkoppeling houdt Q op 1 nadat de puls weg is; de latch bewaart één bit tot een reset hem wist.

Eindexamen-focus

  • Examendoel: leg uit dat een sequentiële schakeling door terugkoppeling een toestand (bit) kan onthouden, en beschrijf de set- en reset-werking van een flip-flop.
  • Examendoel: verklaar dat registers en snel geheugen uit flip-flops bestaan en welke rol de klok speelt.

Veelgemaakte fouten

  • Denken dat een flip-flop rekent; hij ónthoudt juist een bit — het is de terugkoppeling, niet de logische bewerking, die telt.
  • Combinatorisch en sequentieel verwarren; alleen sequentiële schakelingen hebben een toestand die van de geschiedenis afhangt.

Actieve herhaling

Leg uit hoe een flip-flop een bit vasthoudt nadat de set-puls is weggevallen, en waarom een 8-bits register uit acht flip-flops bestaat. Welke rol speelt de klok?

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — keuze K (sequentiële schakelingen) (CvTE / Examenblad)

§ 04

Machinetaal, registers en de ALU#

●●○StandaardLPexamenblad-informatica-K

Enkele assembly-instructies

AssemblyTabel met 2 kolommen en 4 rijen, Gegevens: Instructie · Betekenis; LOAD R1, 5 · laad de waarde 5 in register 1; ADD R1, R2 · R1 ← R1 + R2 (via de ALU); STORE R1, X · schrijf R1 naar geheugenplek X; JMP 0 · spring naar adres 0 (verzet de programmateller)INSTRUCTIEBETEKENISLOAD R1, 5laad de waarde 5 in register1ADD R1, R2R1 ← R1 + R2 (via de ALU)STORE R1, Xschrijf R1 naar geheugenplekXJMP 0spring naar adres 0 (verzetde programmateller)
Afb. 4Afb. 1 — De processor kent maar een handvol elementaire instructies; elk hoog-niveau programma wordt hiernaartoe vertaald.

Kernpunten

De poorten en flip-flops uit de vorige secties vormen samen de twee werkpaarden van de processor: de ALU (rekent, uit combinatorische logica) en de registers (onthouden, uit flip-flops). De CPU voert machinetaal uit: instructies die als bitpatronen in het geheugen staan (domein E). Elke instructie bestaat uit een opcode (welke bewerking) en operanden (op welke registers of adressen). Machinetaal is de laagste, voor mensen vrijwel onleesbare laag; assembly is een dunne, leesbare bovenlaag waarin elke machine-instructie een korte naam krijgt (LOAD, ADD, STORE, JMP).
Afb. 1 toont enkele typische assembly-instructies. Ze zijn opvallend eenvoudig: gegevens laden uit het geheugen in een register (LOAD), rekenen op registers via de ALU (ADD, SUB), een resultaat terugschrijven naar het geheugen (STORE), en de uitvoervolgorde veranderen met een sprong (JMP, of een voorwaardelijke sprong). Deze handvol operaties is alles wat de hardware direct kan. Elke lus, functie en berekening uit een hoge programmeertaal (domein D) wordt uiteindelijk door de compiler vertaald naar zulke elementaire instructies — opnieuw de abstractielagen van domein A.
De registers zijn de kladblokken waarop de processor werkt: klein in aantal maar razendsnel, want ze zitten ín de CPU. Omdat de ALU alleen op registers rekent (niet direct op het trage geheugen), volgt bijna elke berekening het patroon laden → rekenen → opslaan: haal operanden uit het geheugen in registers, laat de ALU rekenen, en schrijf het resultaat terug. Dit verklaart waarom er zoveel LOAD- en STORE-instructies nodig zijn en waarom de geheugenhiërarchie (domein E) zo belangrijk is: de CPU wil zijn gegevens zo dicht mogelijk bij zich hebben.
De voorwaardelijke sprong is wat de machine echt krachtig maakt. De ALU zet bij een bewerking statusbits (flags): is het resultaat nul, negatief, was er overloop? Een voorwaardelijke sprong verzet de programmateller (domein E) alléén als zo’n vlag gezet is. Daarmee ontstaan de selectie en de iteratie uit domein D op het allerlaagste niveau: een `als` is een sprong afhankelijk van een vlag, een lus een terugsprong die stopt zodra een teller nul is. Zo sluit de cirkel van dit thema: uit poorten bouw je een ALU en flip-flops, daaruit een processor die een handvol simpele instructies uitvoert, en daaruit — via lagen van abstractie — elk programma dat je maar kunt bedenken.
Uitgewerkt voorbeeld

Een klein assembly-programma naspelen

Speel na: LOAD R1, 5 · LOAD R2, 3 · ADD R1, R2 · STORE R1, X. Wat staat er in X?

  1. 01Laden

    LOAD R1, 5 zet R1 = 5; LOAD R2, 3 zet R2 = 3.

  2. 02Rekenen

    ADD R1, R2 laat de ALU R1 + R2 berekenen: R1 = 5 + 3 = 8.

  3. 03Opslaan

    STORE R1, X schrijft de waarde van R1 (8) naar geheugenplek X.

Resultaat: Na afloop staat er 8 in X — het patroon laden, rekenen, opslaan in vier machine-instructies.

Eindexamen-focus

  • Examendoel: lees en speel een klein assembly-programma na met LOAD, ADD, STORE en (voorwaardelijke) sprong-instructies.
  • Examendoel: leg uit waarom berekeningen het patroon laden–rekenen–opslaan volgen en hoe voorwaardelijke sprongen selectie en iteratie realiseren.

Veelgemaakte fouten

  • Denken dat de ALU direct op het geheugen rekent; de ALU werkt op registers, dus gegevens moeten eerst geladen en na afloop weer opgeslagen worden.
  • Assembly en machinetaal als een aparte, hogere taal zien; assembly is een leesbare één-op-één-weergave van de machine-instructies zelf.

Actieve herhaling

Schrijf in de assembly van Afb. 1 een programmaatje dat de getallen 5 en 3 optelt en het resultaat in geheugenplek X bewaart. Speel het na en geef de eindwaarde van X.

Actief ophalen

Haal de kernpunten op — onthul ze daarna.

Bronnen: Examenprogramma informatica vwo — keuze K (machinetaal en ALU) (CvTE / Examenblad)

Inhoud

Sectie -- / 04

    • 01Logische poorten en waarheidstabellen◐
    • 02Combinatorische schakelingen: de opteller●
    • 03Sequentiële schakelingen en geheugen●
    • 04Machinetaal, registers en de ALU◐

0/4 Gelezen

Van samenvatting naar oefening

Keuze K: Computerarchitectuur

Verstevig dit onderwerp met vragen uit de vragenbank.

~14
min
4
Vaardigheden
Oefenen

Referenties en bronnen

Bronnen

CvTE / Examenblad

  • Examenprogramma informatica vwo — keuze K (digitale logica)

Vorig onderwerp

Keuze H: Databases

Volgend onderwerp

Keuze L: Netwerken

EuraStudy·Samenvattingen T·10·MMXXVI

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