Come Funziona un Microprocessore: Ciclo Fetch-Decode-Execute
Un microprocessore (CPU) è un circuito digitale sincrono che esegue ripetutamente il ciclo fetch–decode–execute su istruzioni memorizzate in memoria. Ecco la visione moderna, dall'ISA alla microarchitettura.
1. Instruction Set Architecture (ISA)
Il contratto tra software e hardware. ISA dominanti:
- x86-64 (Intel/AMD) — CISC, lunghezza variabile, decodifica complessa.
- ARMv8-A / ARMv9 (AArch64) — RISC, 32 bit fisso, load/store.
- RISC-V — Aperto, modulare, varianti 32/64/128 bit.
2. Stadi della Pipeline (Core Superscalar Out-of-Order)
- Fetch: Il branch predictor seleziona il prossimo PC; L1 I-cache fornisce 16–64 B.
- Decode: x86 → µops (1–4 per istruzione); ARM/RISC-V → ops nativi.
- Rename/Allocate: Rinomina registro (elimina rischi WAR/WAW); riserva voci ROB, slot coda load/store.
- Schedule/Dispatch: Ops pronti → stazioni di prenotazione / scheduler unificato.
- Execute: ALU, FPU, SIMD (AVX/SVE/NEON), unità load/store, unità branch.
- Writeback/Retire: Risultati → registri architettonici in ordine di programma (testa ROB).
3. Moltiplicatori di Prestazioni
| Caratteristica | Effetto |
|---|---|
| Più Core | Parallelismo a livello di thread (TLP); l'OS programma i thread tra i core. |
| SMT / Hyper-Threading | 2 thread logici/core → migliore utilizzo delle porte di esecuzione. |
| Gerarchia Cache (L1/L2/L3) | Riduce latenza memoria; L3 condivisa (10–100 MB). |
| Larghezza SIMD | Vettori 128/256/512-bit → parallelismo a livello di dati (DLP). |
| Esecuzione Speculativa | Predice branch, pre-fetch, esegue in anticipo; rollback su mispredict. |
4. Clock e Potenza
- Frequenza: 1–5,5 GHz (DVFS dinamico).
- Potenza: P ∝ C·V²·f; gestita tramite C-states, P-states, turbo per core.
5. Integrazione di Sistema
I SoC moderni integrano core CPU + GPU + NPU + ISP + controller memoria + controller PCIe/USB/Display + enclave sicura — tutto su un unico die.
Tendenze Future
- Chiplets (AMD Zen, Intel Meteor Lake) — die disaggregati su packaging avanzato.
- Stacking 3D (Hybrid Bonding, Foveros) — cache/logica su livelli separati.
- Acceleratori Domain-Specifici — tensor core, crypto, offload compressione.
- Espansione RISC-V — da microcontrollori a datacenter (Venture, SiFive P670).
Il microprocessore rimane il cuore programmabile di ogni dispositivo di calcolo, evolvendo tramite innovazione ISA, ingegno microarchitettonico e progressi nel packaging.