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

Prima degli anni ’70, i processori centrali consistevano in unità multiple indipendenti. Successivamente, sono emersi processori centrali fabbricati con circuiti integrati, noti come microprocessori. Questi componenti altamente compatti sono ciò che chiamiamo microprocessori e i circuiti più complessi al loro interno sono progettati come unità individuali potenti, comunemente note come core.
Il funzionamento di quasi tutte le CPU può essere suddiviso in quattro fasi: Fetch, Decode, Execute e Writeback. La CPU recupera le istruzioni dalla memoria o dalla cache ad alta velocità, le inserisce in un registro di istruzioni, le decodifica ed esegue le istruzioni. Il concetto di programmabilità di un computer si riferisce principalmente alla programmazione della CPU.
Cos'è la MPU?
Un MPU (Micro Processor Unit), noto anche come microprocessore, è un circuito integrato speciale programmabile.
Un MPU è solo un processore che deve essere abbinato a numerosi altri dispositivi periferici come la memoria per costituire un sistema.
I microprocessori rappresentano tipicamente CPU potenti (simili a CPU migliorate). Questi chip spesso fungono da CPU principale nei computer e nei sistemi di fascia alta.

Hanno guadagnato una notevole popolarità negli anni ’80 quando i microcomputer e le console di gioco utilizzavano MPU. Nel tempo, gli MPU sono diventati più piccoli. Oggi, solo le CPU della serie x86 di Intel e AMD sono considerate MPU. Queste CPU sono diventate anche sempre più complesse e definirle “microprocessori” potrebbe essere un po’ inadeguato.
Nel campo 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 complessa da fabbricare.
Cos'è la MCU?
Un MCU (Micro Control Unit), noto anche come microcontroller, si riferisce a un microcomputer in cui, 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 singolo chip. Può funzionare con componenti minimi (come resistori, condensatori) per formare un sistema minimo in grado di eseguire codice.

Rispetto ai microprocessori di uso generale utilizzati nei personal computer, un MCU enfatizza l’autosufficienza (non fare affidamento su hardware esterno) e l’economicità.
Il suo più grande vantaggio è la sua dimensione compatta, che gli consente di essere posizionato all’interno dei dispositivi, ma ha una capacità di archiviazione limitata, interfacce di input/output semplici e funzionalità inferiori.
Lo sviluppo degli MCU è passato attraverso fasi tra cui i microcontroller 8051, i microcontroller AVR a 16 bit e i microcontroller STM a 32 bit.
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 SOPC?
Un System on a 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 potente come un MPU. Può memorizzare ed eseguire codice a livello di sistema, il che significa che può eseguire sistemi operativi (principalmente il sistema operativo Linux).
Inoltre, SOPC è un concetto che vale la pena comprendere. Rispetto ai concetti sopra menzionati, SOPC non è così frequentemente incontrato, ma la sua importanza rimane inalterata.
SOPC (System On a Programmable Chip) consente di modificare le configurazioni hardware, il che significa che puoi costruire il tuo chip.
MCU Vs. MPU
L’MCU integra dispositivi periferici on-chip e puoi aggiungere direttamente dispositivi periferici semplici (resistenze, condensatori) per eseguire il codice. In sostanza, è ancora un microcomputer a chip singolo completo con un processore e varie interfacce. Tutto lo sviluppo si basa sull’architettura di sistema esistente. Ciò che l’utente deve fare è sviluppare programmi software e aggiungere dispositivi esterni.
L’MPU non ha dispositivi periferici (come array di memoria), è un processore multiuso altamente integrato ed è un MCU a cui sono stati rimossi i dispositivi periferici integrati. MCU, come la serie ARM Cortex-A, non può eseguire direttamente il codice, perché è essenzialmente una versione migliorata della CPU e devono essere aggiunte RAM e ROM corrispondenti.
| Feature | Microcontroller (MCU) | Microprocessor (MPU) |
|---|---|---|
| Bit Width | Mainstream: 8-32 bits, Some 64-bit | Minimum: 32 bits, Mainstream: 64-bit |
| Operating Frequency | Several MHz to several hundreds of MHz | Mainstream: From hundreds of MHz to several GHz |
| Architecture | Pipeline or random logic systems are mainstream, with some being superscalar | Superscalar architecture is mainstream |
| Memory Management | Can have some external memory, but main memory is built-in, with some having built-in cache and MMC units | Mainstream to have external memory, with some having built-in cache and MMC units |
| Instruction Set | Basic arithmetic and logic operations, limited DSP and floating-point operation support in high-end versions | Supports a wider range of instructions, including DSP and floating-point operations |
| Price | Low | High |
| Examples | ARM Cortex-M (Designed for small-footprint/low-power controller applications) | ARM Cortex-A (Developed with a focus on high-performance application processors) |




