I microcontrollori e i microprocessori presentano molte differenze tra loro in termini di potenza di elaborazione, in termini di costi e di consumo energetico. Differenti sono anche le applicazioni in cui le due architetture possono essere adoperate.
Un’applicazione classica del microprocessore è un personal computer. Tramite l’ausilio di un PC si possono fare moltissime cose: possiamo usarlo per giocare con un videogioco o per la navigazione web, per la creazione di documenti, per effettuare dei calcoli matematici o streaming multimediali. Dunque, il microprocessore viene sostanzialmente utilizzato in tutte quelle applicazioni in cui l’attività non è predefinita, ma dipende dall’utente. Inoltre, è impiegato in tutte le applicazioni in cui è richiesta una potenza di calcolo elevata.
Un microcontrollore invece viene impiegato in attività specifiche. Un microcontrollore esegue alcune elaborazioni e fornisce dei risultati in uscita in base agli input in ingresso. Un input potrebbe essere fornito da un utente oppure proveniente da un sensore. Un’applicazione del microcontrollore è il sistema di gestione dei programmi in una lavatrice. Questa possiede delle attività predefinite e, una volta impostato il programma, avrai dei vestiti puliti.
Il microprocessore può essere utilizzato per un’applicazione molto leggera come la creazione di documenti o applicazioni molto intense come giochi o streaming multimediale. Pertanto, la quantità di memoria richiesta dipende dall’applicazione. Il chip del microprocessore contiene solo la CPU, cioè l’unità centrale di elaborazione, mentre tutti gli elementi di memoria e le interfacce sono esterne al chip. Perciò, tutti gli elementi come porte I/O, RAM, ROM, interfacce seriali e timer sono collegati esternamente.
Poiché un microcontrollore viene utilizzato per attività specifiche, la quantità di memoria e le porte di I/O sono limitate. In un microcontrollore tutti gli elementi di memoria e le porte di I/O sono integrati insieme alla CPU all’interno di un singolo chip. Pertanto, la dimensione complessiva del sistema è molto piccola. Infatti, nel caso di un microprocessore, poiché tutti gli elementi di memoria e le porte di I/O sono collegati esternamente, le dimensioni complessive del sistema sono maggiori del microcontrollore.
Per capire le differenze in termini di potenza di elaborazione, consideriamo alcuni parametri interni nei due chips.
Nel caso di un sistema a microprocessore, poiché tutte le periferiche sono collegate esternamente, il costo complessivo del sistema è maggiore rispetto ad un microcontrollore. Ad esempio, in commercio si possono trovare dei microcontrollori a 8 bit ad un prezzo inferiore ai 50 centesimi di euro. Ma esistono anche dei microcontrollori di fascia alta il cui costo può superare quello di un microprocessore. Poiché il microprocessore viene usato in applicazioni in cui è richiesta un’elevata capacità di elaborazione, il suo consumo energetico risulta maggiore rispetto a quello di un microcontrollore. Oggi esistono microcontrollori low power a 32 bit, adoperati in tutte quelle applicazioni che richiedono un consumo energetico ultra basso: è il caso dei dispositivi indossabili e dei dispositivi per le reti IoT.