| "Descrizione" by RS232 (2002 pt) | 2026-Jan-29 17:57 |
CPU – microprocessore
Definizione
La CPU (central processing unit) è un MICROPROCESSORE programmabile che, in un unico chip o circuito integrato, ha il compito di dirigere e controllare il funzionamento degli altri componenti di un sistema elettronico. La CPU interpreta ed esegue un software (sequenze di istruzioni) e, tramite bus e segnali di controllo, coordina memorie e periferiche della scheda su cui è montata. In pratica, la CPU è l’elemento che decide “cosa fare” e “quando farlo”, orchestrando letture/scritture e flussi di dati verso gli altri circuiti integrati.

Come lavora
Una CPU esegue un ciclo continuo (semplificando):
Fetch: preleva un’istruzione dalla memoria.
Decode: la interpreta (tipo operazione e operandi).
Execute: esegue l’operazione (calcolo, salto, accesso memoria, I/O).
Write-back: scrive il risultato (registri o memoria).
Per farlo usa:
Registri (memorie velocissime interne).
ALU (unità aritmetico-logica) e spesso FPU (per virgola mobile) o unità vettoriali.
Unità di controllo (logica che gestisce flussi, salti, pipeline).
Cache (memorie veloci integrate) per ridurre l’attesa verso la RAM.
Velocità: MHz e GHz (e perché non basta “alzare la frequenza”)
Storicamente la “velocità” della CPU è stata comunicata tramite la frequenza di clock:
MHz: tipico delle CPU dagli anni ’80 fino a parte degli anni 2000.
GHz: tipico delle CPU più recenti, quando i processi produttivi e l’architettura hanno permesso frequenze più elevate.
Tuttavia, aumentare la frequenza comporta costi fisici: la potenza dissipata cresce e genera calore. In termini pratici, superata una certa soglia si entra in un’area di rendimento decrescente: serve più energia e sistemi di raffreddamento più aggressivi, e si rischiano limiti termici che riducono affidabilità e stabilità.
Dal “solo clock” al multi-core
Per evitare che l’aumento di frequenza trasformi la CPU in un “forno” (consumi e temperature elevate), a partire dagli anni 2010 la tendenza dominante è stata integrare più core nello stesso chip:
Dual-core: due core.
Quad-core: quattro core.
Hexa-core (esacore): sei core.
(e oltre: octa-core, deca-core, ecc., a seconda della classe).
Un core è, in sostanza, una “CPU completa” (o quasi) dentro la stessa CPU fisica. Il vantaggio è che, a parità o con aumento moderato della frequenza, si possono eseguire più thread/processi in parallelo, migliorando prestazioni complessive in scenari multitasking o applicazioni parallelizzabili.
Limite importante: il multi-core non moltiplica automaticamente le prestazioni su qualunque software. Serve che il carico sia parallelizzabile (più thread, più processi, pipeline software) e che il sottosistema memoria non diventi il collo di bottiglia.
Componenti tipici attorno a una CPU (sistema a microprocessore)
In un sistema “MICROPROCESSORE classico”, la CPU è affiancata da componenti esterni o integrati (dipende dalla generazione):
RAM: memoria di lavoro volatile.
Memoria non volatile (ROM/FLASH/SSD): contiene firmware e sistema operativo.
Chipset / controller: gestiscono bus, periferiche e spesso la memoria (nelle architetture più vecchie erano separati; in molte moderne funzioni sono integrate).
I/O controller: USB, SATA, PCIe, seriali, audio, rete, ecc.
Eventuale GPU dedicata o integrata.
Differenza con il MICROCONTROLLER
Una versione diversa del microprocessore, orientata al controllo embedded, è il MICROCONTROLLER (MCU), che integra nello stesso chip:
CPU
Memoria (tipicamente FLASH/ROM + RAM)
Canali I/O e periferiche (GPIO, TIMER, UART, SPI, I2C, ADC, ecc.)
Quindi:
CPU/MICROPROCESSORE (MPU): spesso richiede memorie e I/O esterni per costruire un sistema completo; eccelle in sistemi complessi e general-purpose.
MICROCONTROLLER (MCU): “computer su chip”, pensato per controllo real-time, consumi ridotti e integrazione.
Schizzo dei collegamenti più importanti
┌──────────────────────────────┐ │ CPU │ │ core + cache + control unit │ └───────┬───────────┬──────────┘ │ │ bus memoria bus I/O │ │ ▼ ▼ ┌────────────────┐ ┌─────────────────────┐ │ RAM │ │ I/O controllers │ │ (volatile) │ │ (USB, UART, PCIe…) │ └────────────────┘ └─────────────────────┘ │ ▼ ┌────────────────┐ │ ROM/FLASH/SSD │ │ (non volatile) │ └────────────────┘
Tabella 1 – Dati essenziali di una CPU/MICROPROCESSORE
| Caratteristica | Significato pratico |
|---|---|
| Funzione | Esegue software e controlla il sistema |
| Programmabilità | Usa istruzioni (ISA) per comandare memoria e periferiche |
| Frequenza | Tipicamente in MHz (storico) o GHz (moderno) |
| Core | 1 (single-core) o più (dual/quad/hexa-core) |
| Prestazioni reali | Dipendono da architettura, cache, memoria, parallelismo, non solo dal clock |
| Dipendenze esterne | Spesso richiede RAM e I/O esterni (a seconda della piattaforma) |
Tabella 2 – Confronto sintetico: MICROPROCESSORE (CPU/MPU) vs MICROCONTROLLER (MCU)
| Aspetto | MICROPROCESSORE (CPU/MPU) | MICROCONTROLLER (MCU) |
|---|---|---|
| Integrazione | CPU principalmente, con parti spesso esterne | CPU + memoria + I/O nello stesso chip |
| Memoria | RAM esterna comune in molti sistemi | RAM/FLASH interne tipiche |
| Uso tipico | General-purpose, sistemi complessi, OS completo | Controllo embedded, real-time, low-power |
| Consumi/termica | Più critici ad alte prestazioni | Ottimizzati per efficienza |
| Progetto HW | Più complesso (bus esterni, controller) | Più semplice (BOM ridotta) |
| Evaluate |