En CPU (Central Processing Unit), även känd som en mikroprocessor, består av flera viktiga komponenter som arbetar tillsammans:
* aritmetisk logikenhet (ALU): Utför aritmetiska operationer (tillägg, subtraktion, multiplikation, uppdelning) och logiska operationer (och, eller, inte, XOR) på data. Det är här de faktiska beräkningarna inträffar.
* styrenhet (CU): Hämtar instruktioner från minnet, avkodar dem och riktar flödet av data och instruktioner inom CPU. Det fungerar som "hjärnan" som samordnar alla andra komponenter.
* Register: Små, höghastighetslagringsplatser inom CPU. De har data och instruktioner som ALU och CU för närvarande arbetar med. Tillgång till register är mycket snabbare än att komma åt huvudminnet.
* cache: Ett litet, mycket snabbt minne som lagrar ofta åtkomst till data och instruktioner. Det fungerar som en buffert mellan CPU och huvudminnet (RAM) och påskyndar åtkomst till ofta använt information. Det finns vanligtvis flera nivåer av cache (L1, L2, L3), var och en med varierande hastigheter och storlekar.
* klocka: Genererar pulser som synkroniserar CPU:s operationer. Klockhastigheten (mätt i GHz) avgör hur många instruktioner CPU kan utföra per sekund.
* bussgränssnittsenhet (BIU): Hanterar kommunikation mellan CPU och andra komponenter i datorsystemet, såsom minne och inmatning/utgångsenheter. Den hanterar överföring av data och instruktioner till och från CPU.
Moderna CPU:er inkluderar också ytterligare komponenter som:
* flytande punktenhet (FPU): Handtag flytande punkt aritmetik (beräkningar som involverar decimalnummer), som är avgörande för grafik och vetenskaplig datoranvändning. Ofta integrerad i ALU.
* Memory Management Unit (MMU): Hanterar minnesskydd och virtuellt minne, vilket gör att flera program kan köras samtidigt utan att störa varandra.
* Instruktionsföredragsenhet: Förutsäger vilka instruktioner som kommer att behövas därefter och hämtar dem från minnet i förväg och förbättrar prestanda.
* Branch Prediction Unit: Förutsäger vilken kodgren som kommer att köras därefter och förbättrar prestanda i villkorade uttalanden.
De exakta komponenterna och deras organisation kan variera avsevärt beroende på CPU -arkitekturen (t.ex. x86, ARM) och tillverkaren. De grundläggande komponenterna som anges ovan är emellertid gemensamma för nästan alla CPU:er.