Een CPU (Central Processing Unit), ook wel microprocessor genoemd, bestaat uit verschillende belangrijke componenten die samenwerken:
* Rekenkundige logische eenheid (ALU): Voert rekenkundige bewerkingen (optellen, aftrekken, vermenigvuldigen, delen) en logische bewerkingen (AND, OR, NOT, XOR) uit op gegevens. Dit is waar de daadwerkelijke berekeningen plaatsvinden.
* Besturingseenheid (CU): Haalt instructies uit het geheugen, decodeert ze en stuurt de stroom van gegevens en instructies binnen de CPU. Het fungeert als het ‘brein’ dat alle andere componenten coördineert.
* Registreert: Kleine, snelle opslaglocaties binnen de CPU. Ze bevatten gegevens en instructies waar de ALU en CU momenteel aan werken. Toegang tot registers is veel sneller dan toegang tot het hoofdgeheugen.
* Cache: Een klein, zeer snel geheugen waarin veelgebruikte gegevens en instructies worden opgeslagen. Het fungeert als buffer tussen de CPU en het hoofdgeheugen (RAM), waardoor de toegang tot veelgebruikte informatie wordt versneld. Er zijn doorgaans meerdere cacheniveaus (L1, L2, L3), elk met verschillende snelheden en groottes.
* Klok: Genereert pulsen die de werking van de CPU synchroniseren. De kloksnelheid (gemeten in GHz) bepaalt hoeveel instructies de CPU per seconde kan uitvoeren.
* Businterface-eenheid (BIU): Beheert de communicatie tussen de CPU en andere componenten van het computersysteem, zoals geheugen en invoer-/uitvoerapparaten. Het verzorgt de overdracht van gegevens en instructies van en naar de CPU.
Moderne CPU's bevatten ook extra componenten, zoals:
* Floating-Point-eenheid (FPU): Behandelt drijvende-kommaberekeningen (berekeningen met decimale getallen), die cruciaal zijn voor grafische en wetenschappelijke computergebruik. Vaak geïntegreerd in de ALU.
* Geheugenbeheereenheid (MMU): Zorgt voor geheugenbescherming en virtueel geheugen, waardoor meerdere programma's gelijktijdig kunnen worden uitgevoerd zonder elkaar te hinderen.
* Instructie Prefetch-eenheid: Voorspelt welke instructies vervolgens nodig zijn en haalt deze vooraf uit het geheugen, waardoor de prestaties worden verbeterd.
* Takkenvoorspellingseenheid: Voorspelt welke codetak als volgende wordt uitgevoerd, waardoor de prestaties in voorwaardelijke instructies worden verbeterd.
De exacte componenten en hun organisatie kunnen aanzienlijk variëren, afhankelijk van de CPU-architectuur (bijvoorbeeld x86, ARM) en de fabrikant. De hierboven genoemde fundamentele componenten zijn echter gemeenschappelijk voor bijna alle CPU's. |