Cos'è la CPU?
La CPU (Central Processing Unit) è il nucleo computazionale e di controllo di un computer.
La CPU è composta da un’unità logica aritmetica, un’unità di controllo, registri e bus che facilitano la comunicazione tra di loro. Le sue funzioni principali includono l’interpretazione delle istruzioni del computer e l’elaborazione dei dati nel software per computer.

Prima degli anni ’70, i processori centrali consistevano in più unità indipendenti. Successivamente sono emersi processori centrali di circuiti integrati, noti come microprocessori. Questi componenti altamente compatti sono quelli che chiamiamo microprocessori e i circuiti più complessi al loro interno sono progettati come potenti unità individuali, comunemente note come core.
Il funzionamento di quasi tutte le CPU può essere diviso in quattro fasi: recupero, decodifica, esecuzione e writeback. La CPU recupera le istruzioni dalla memoria o dalla cache ad alta velocità, le inserisce in un registro delle istruzioni, le decodifica e quindi esegue le istruzioni. Il concetto di programmabilità di un computer riguarda principalmente la programmazione della CPU.
Cos'è l'MPU?
Un MPU (Micro Processor Unit), noto anche come microprocessore, è un circuito integrato speciale programmabile.
Un MPU è solo un processore che deve essere accoppiato con numerose altre periferiche come la memoria per costituire un sistema.
I microprocessori rappresentano in genere potenti CPU (simili a CPU avanzate). Questi chip spesso fungono da CPU di base nei computer e nei sistemi di fascia alta.

Hanno guadagnato una popolarità significativa negli anni ’80, quando i microcomputer e le console di gioco utilizzavano le MPU. Nel tempo, le MPU sono diventate di dimensioni inferiori. Al giorno d’oggi, solo le CPU Intel e AMDS x86 serie sono considerate MPUS. Anche queste CPU sono diventate sempre più complesse e etichettarle come “microprocessori” potrebbe essere alquanto inadeguato.
Nel regno dei personal computer, puoi osservare schede madri simili al diagramma sopra. Collegando componenti come la CPU, i moduli di memoria, le schede audio, ecc., si forma un sistema informatico completo. L’intera scheda madre è di grandi dimensioni e intricata nella produzione.
Cos'è l'MCU?
Un MCU (Micro Control Unit), noto anche come microcontrollore, si riferisce a un microcomputer dove, con l’emergere e lo sviluppo di circuiti integrati su larga scala, il processore centrale, la memoria, i timer/contatori, varie interfacce di input/output, ecc., sono tutti integrati su un unico patatine. Può funzionare con componenti minimi (come resistori, condensatori) per formare un sistema minimo in grado di eseguire il codice.

Rispetto ai microprocessori generici utilizzati nei personal computer, un MCU enfatizza l’autosufficienza (non basandosi su hardware esterno) e l’efficacia in termini di costi.
Il suo più grande vantaggio è la sua dimensione compatta, che consente di essere posizionata all’interno dei dispositivi, ma ha una capacità di archiviazione limitata, semplici interfacce di input/output e funzionalità inferiori.
Lo sviluppo di MCU ha attraversato fasi tra cui 8 bit 8051 microcontrollori, microcontrollori AVR a 16 bit e 32 bit Microcontrollori STM.
Gli MCU integrano processori e vari moduli come controller USB, controller UART, memoria, flash, ecc. Con solo pochi componenti esterni, è possibile costruire un sistema elettronico.
Cos'è Soc e Sop?
Un sistema su chip (SOC) è un circuito integrato che integra un computer o altri sistemi elettronici su un singolo chip.

Per fornire un confronto: un MCU è a livello di chip, mentre un SoC è a livello di sistema. Combina i vantaggi di MCU e MPU, avendo RAM e ROM integrate pur essendo potenti come un MPU. Può memorizzare ed eseguire codice a livello di sistema, il che significa che può eseguire sistemi operativi (principalmente OS Linux).
Inoltre, SOPC è un concetto che vale la pena capire. Rispetto ai suddetti concetti, la SOPC non si incontra così frequentemente, ma il suo significato rimane inalterato.
SOPC (sistema su un chip programmabile) consente di modificare le configurazioni hardware, il che significa che è possibile costruire il proprio chip.
MCU vs. SOC: quali sono le principali differenze?
Nei moderni sistemi embedded, il confine tra un MCU e un SoC può essere sottile, ma le differenze fondamentali risiedono nella complessità e nell’applicazione.
1. Architettura e integrazione di base
MCU (microcontrollore): un computer a livello di chip. Integra una CPU, una piccola quantità di RAM/Flash e periferiche di base (GPIO, ADC, PWM) su un singolo die. È progettato per “autosufficienza” in compiti semplici.
SOC (sistema su chip): un’integrazione a livello di sistema. Include tutto ciò che un MCU ha più moduli complessi come a GPU, NPU, DSPe interfacce ad alta velocità (USB 3.0, PCIe). È essenzialmente un computer completo su un singolo chip.
2. Prestazioni e sistemi operativi
MCU: Funziona a velocità MHz. in genere funziona metallo nudo codice o un peso leggero RTO (come FreeRTOS) per prestazioni elevate in tempo reale e tempi di avvio inferiori al millisecondo.
Soc: Funziona a velocità GHz. È progettato per eseguire sistemi operativi complessi come Linux, Android o QNX, supportando il calcolo multitasking e ad alte prestazioni.

Differenziazione del livello del software:
La differenza fondamentale del software risiede nell’ambiente operativo.
MCU: Ottimizzato per efficienza, corsa metallo nudo o un leggero RTO Come FreeRTOS, garantendo prestazioni deterministiche e tempi di avvio bassi.
Soc: Costruito per multitasking complesso, eseguendo a OS ricco (Linux, Android o QNX) supportato da un completo BSP (pacchetto di supporto di bordo), abilitando lo sviluppo di applicazioni di alto livello.
3. Tabella di confronto: MCU vs. SOC
| Criterio di Confronto | Microcontrollore (MCU) | System on Chip (SoC) |
|---|---|---|
| Numero di Core | Tipicamente Single o Dual-core (es. Cortex-M0+/M4F) | Multi-core Eterogeneo (4-8 core CPU+GPU+NPU) |
| Frequenza Principale | 48 MHz - 300 MHz | 1 GHz - 2,5+ GHz |
| Potenza di Calcolo | Livello DMIPS (Semplici attività di controllo) | Livello TOPS (Calcolo IA, es. NVIDIA Orin 254 TOPS) |
| Memoria (RAM/Flash) | Flash: 128 KB - 8 MB RAM: 16 KB - 1 MB | Flash: 64 GB - 512 GB (UFS/eMMC) RAM: 8 GB - 32 GB (LPDDR) |
| Elaborazione Grafica | Nessuna GPU; Supporto per pilotaggio LCD semplice | GPU Integrata; Supporta Display 4K/8K e Rendering 3D |
| Accelerazione IA | Nessuna NPU; Le attività di IA si affidano al software sulla CPU | NPU dedicata integrata per l'inferenza di IA |
| Nodo di Processo | 40 nm - 90 nm (Maturità / Grado Automotive) | 5 nm - 16 nm (Processo Avanzato) |
| Sistema Operativo | RTOS (FreeRTOS, uCOS) o Bare Metal | OS Completo (Linux, Android, QNX) |
La differenza principale è che un MCU è un controller autonomo per attività semplici e in tempo reale, mentre un SoC è un sistema complesso che integra più processori (come GPU e NPU) per eseguire sistemi operativi pesanti e attività di intelligenza artificiale.
MCU vs. MPU
L’MCU integra periferiche su chip e puoi aggiungere direttamente periferiche semplici (resistenze, condensatori) per eseguire il codice. In sostanza, è ancora un microcomputer completo a chip singolo con un processore e varie interfacce. Tutto lo sviluppo si basa sull’architettura del sistema esistente. Ciò che l’utente deve fare è sviluppare programmi software e aggiungere dispositivi esterni.
L’MPU non dispone di dispositivi periferici (come gli array di memoria), è un processore generico altamente integrato ed è un MCU che rimuove le periferiche integrate. MCU, come Arms Cortex-A Series, non può eseguire direttamente il codice, perché è essenzialmente una versione migliorata della CPU e devono essere aggiunti RAM e ROM corrispondenti.
| Caratteristica | Microcontrollore (MCU) | Microprocessore (MPU) |
|---|---|---|
| Larghezza di Bit | Standard: 8-32 bit, Alcuni a 64 bit | Minimo: 32 bit, Standard: 64 bit |
| Frequenza Operativa | Da diversi MHz a diverse centinaia di MHz | Standard: Da centinaia di MHz a diversi GHz |
| Architettura | Sistemi a pipeline o a logica casuale sono lo standard, con alcuni di tipo superscalare | L'architettura superscalare è lo standard |
| Gestione della Memoria | Può avere memoria esterna, ma la memoria principale è integrata, con alcuni dotati di cache integrata e unità MMC | Lo standard prevede l'uso di memoria esterna, con alcuni dotati di cache integrata e unità MMC |
| Set di Istruzioni | Operazioni aritmetiche e logiche di base, supporto limitato a DSP e virgola mobile nelle versioni di fascia alta | Supporta una gamma più ampia di istruzioni, comprese operazioni DSP e in virgola mobile |
| Prezzo | Basso | Alto |
| Esempi | ARM Cortex-M (Progettato per applicazioni di controllo a basso consumo e ingombro ridotto) | ARM Cortex-A (Sviluppato con focus su processori di applicazione ad alte prestazioni) |
FAQ
Qual è la differenza principale tra un MCU e un SoC?
La differenza principale è che un MCU è un controller a livello di chip per compiti semplici a bassa potenza, mentre un SoC è un chip a livello di sistema che integra core multipli (GPU, NPU) in grado di eseguire sistemi operativi complessi come Linux.




