Een CPU (Central Processing Unit) is hiërarchisch georganiseerd, waarbij verschillende niveaus samenwerken om instructies uit te voeren. We kunnen het opsplitsen in verschillende belangrijke componenten en hun relaties:
1. De Kern(en): Dit is het hart van de CPU. Moderne CPU's hebben vaak meerdere kernen, die elk afzonderlijk instructies kunnen uitvoeren. Elke kern bevat:
* Rekenkundige logische eenheid (ALU): Voert rekenkundige (optellen, aftrekken, etc.) en logische bewerkingen (AND, OR, NOT, etc.) uit op gegevens.
* Besturingseenheid (CU): Haalt instructies uit het geheugen, decodeert ze en coördineert de uitvoering van instructies door de ALU en andere componenten. Het beheert de stroom van gegevens en instructies binnen de kern.
* Registreert: Kleine, zeer snelle geheugenlocaties binnen de kern. Registers bevatten gegevens en instructies waar de ALU en CU momenteel aan werken. Ze zijn cruciaal voor de snelheid, omdat toegang tot registers veel sneller gaat dan toegang tot het hoofdgeheugen.
* Cachegeheugen: Een klein, extreem snel geheugen dat zich op of heel dicht bij de kern bevindt. Het slaat veelgebruikte gegevens en instructies op, waardoor de uitvoering verder wordt versneld. Er bestaan meerdere cacheniveaus (L1, L2, L3), waarbij L1 de snelste en kleinste is, en L3 de langzaamste en grootste.
2. Verbindingen: Dit zijn paden die verschillende delen van de CPU met elkaar verbinden en ervoor zorgen dat gegevens daartussen kunnen bewegen:
* Bussysteem: Een reeks elektrische paden die gegevens, adressen en besturingssignalen transporteren tussen verschillende componenten van de CPU, en tussen de CPU en andere delen van het computersysteem (zoals geheugen en I/O-apparaten). Verschillende bussen verwerken verschillende soorten informatie.
3. Geheugenbeheereenheid (MMU): Deze component zorgt voor de vertaling van virtuele adressen (gebruikt door programma's) naar fysieke adressen (werkelijke locaties in RAM). Dit is cruciaal voor multitasking en geheugenbescherming.
4. Andere componenten: Afhankelijk van de CPU-architectuur kunnen andere componenten worden opgenomen:
* Floating-Point-eenheid (FPU): Gespecialiseerde eenheid voor het verwerken van drijvende-kommaberekeningen (getallen met decimalen), cruciaal voor wetenschappelijke en grafische toepassingen.
* Vectorverwerkingseenheden: Eenheden die dezelfde bewerking tegelijkertijd op meerdere datapunten kunnen uitvoeren (SIMD - Single Instruction, Multiple Data).
De instructiecyclus: De kern werkt via een continue cyclus:
1. Ophalen: De CU haalt de volgende instructie uit het geheugen (vaak geholpen door cache).
2. Decoderen: De CU decodeert de opgehaalde instructie om te bepalen welke bewerking moet worden uitgevoerd en welke gegevens moeten worden gebruikt.
3. Uitvoeren: De ALU voert de bewerking uit met behulp van gegevens uit registers of geheugen.
4. Opslaan: Het resultaat van de bewerking wordt opgeslagen in een register of geheugen.
Samengevat: De CPU is een complex, goed georganiseerd systeem dat instructies efficiënt uitvoert. De organisatie richt zich op het minimaliseren van de tijd die nodig is om gegevens op te halen, te decoderen, uit te voeren en op te slaan, door gebruik te maken van hiërarchische geheugenstructuren en parallelle verwerkingstechnieken om de prestaties te maximaliseren. De interactie tussen de kernen, cache, registers en de besturingseenheid bepaalt de algehele werking van de CPU. |