Home
Accesso / Registrazione
 di 

Differenze tra microprocessore e microcontrollore

Le differenze tra microprocessore e microcontrollore riguardano soprattutto la presenza o assenza di periferiche e altri dispositivi

Le differenze tra microprocessore e microcontrollore sono molte. Siete sicuri di conoscerle tutte? La più importante è che un microprocessore è la parte centrale di un computer, ma ha bisogno di altre integrazioni per poter funzionare, tra cui le periferiche di ingresso e uscita; un microcontrollore, invece, non ha bisogno di altri componenti, ma ha capacità di calcolo ridotte. Scopri in questo articolo le altre differenze…

Microprocessori e microcontrollori: qualche definizione

Quali sono le differenze tra microprocessore e microcontrollore? Il primo potrebbe essere definito come il “cuore” di un computer, fisso o portatile che sia. Dal punto di vista tecnico è l'integrazione di una serie di funzioni in un unico pacchetto IC ed è un componente che ha bisogno di numerose integrazioni esterne aggiuntive per poter funzionare, tra le quali la memoria, un oscillatore di clock, periferiche di ingresso e uscita. Inventato nel 1971, il microprocessore è attualmente l'implementazione fisica più comune di una CPU, ed è utilizzato su quasi tutti i computer e i dispositivi digitali come telefoni cellulari e scanner.

Un microcontrollore, invece, riunisce tutti gli elementi all'interno di un unico piccolo contenitore, e in teoria non ha bisogno di altri componenti esterni per poter funzionare. Tutto è infatti racchiuso in un unico chip, compresa la memoria per il programma, la memoria RAM, l'oscillatore di clock, il circuito di reset e le periferiche.

Le capacità di calcolo di un microcontrollore sono estremamente ridotte. Ad esempio la memoria RAM è formata da qualche centinaio di celle, e di solito non è espandibile. I microprocessori, al contrario, possono essere usati per effettuare elaborazioni complesse su grandi quantità di informazioni. Tra le tipiche applicazioni di un microcontrollore ci possono essere gli antifurti, gli strumenti di misurazione, quelli per la regolazione della luminosità, i carica batterie e i trasmettitori/ricevitori. Per questi motivi, i microcontrollori sono progettati per eseguire un piccolo insieme di funzioni specifiche, ad esempio nel caso di un Digital Signal Processor, che svolge un piccolo insieme di funzioni di elaborazione del segnale ed è ampiamente utilizzato per regolare i freni su tutte e quattro le ruote, o per regolare l’aria condizionata in auto.

Invece un microprocessore esegue una vasta gamma di compiti in un PC e può essere considerato il "motore" di elaborazione dei dati, racchiuso in un unico circuito integrato, capace di leggere, elaborare e scrivere informazioni in una memoria o in altri dispositivi digitali. La costruzione dei microprocessori fu resa possibile dall'avvento della tecnologia LSI, fondata sulla nuova tecnologia "Silicon Gate Technology" sviluppata nel 1968 da un italiano, Federico Faggin della Fairchild. Con l’integrazione di una CPU completa in un solo chip permise di ridurre di molto il costo dei computer. Secondo la legge di Moore, il numero di transistor integrabili sullo stesso chip dovrebbe raddoppiare ogni 18 mesi e l'evoluzione del microprocessore ha seguito con buona approssimazione questa regola.

Altre differenze tra microprocessori e microcontrollori

Il microcontrollore, quindi, è un dispositivo elettronico integrato su singolo chip e viene utilizzato generalmente in sistemi cosiddetti “embedded”, cioè per applicazioni specifiche di controllo digitale. È progettato per interagire direttamente con il mondo esterno tramite un programma residente nella propria memoria interna e mediante l'uso di pin specializzati o configurabili dal programmatore. I microcontrollori sono disponibili in tre fasce di capacità elaborativa: 8 bit, 16 bit e 32 bit. Per i microcontrollori sono rilasciati sistemi di sviluppo amatoriali e professionali anche in modalità open source. A differenza dei microprocessori, il microcontrollore è progettato per avere la massima autosufficienza funzionale ed ottimizzare il rapporto tra il costo e le prestazioni in uno specifico settore di utilizzo.

Anche l'esecuzione delle applicazioni si basa su un'architettura hardware diversa da quella che utilizzano i microprocessori. Mentre questi ultimi eseguono i programmi applicativi sfruttando dispositivi di memoria di massa o a memoria volatile, i microcontrollori eseguono il programma applicativo che è solitamente memorizzato su un dispositivo di memoria ROM.

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di @Facebook

Certo che non siamo sicuri

Certo che non siamo sicuri di conoscere tutte le differenze ma fa piacere sapere di non essere gli unici.

Aliberto Maltagliati @Facebook

ritratto di @Facebook

Come scriveva su CQ

Come scriveva su CQ Elettronica tanti, ma tanti anni fa :-) il Digitalizzatore (alias Ing Giardina) "al micro facce caso che ti prende per il naso"

Paolo Lencioni @Facebook

ritratto di Rossella De Marchi

Differenze

Certo le differenze sono tante e questo argomento potrebbe essere approfondito in moltissimi modi. L'importante è sapere almeno quali sono le differenze principali! =)

ritratto di @Facebook

il mP(processore)svolge

il mP(processore)svolge tante funzioni mentre il mC microcontrollore svolge una funzione ben precisa.

Mario Zara @Facebook

ritratto di @Facebook

Secondo me è piu corretto

Secondo me è piu corretto dire: un microprocessore da solo non fa nulla perche deve caricare istruzioni da altri chip (rom-ram) e interagisce con l'utente attraverso dispositivi d'uscita esterni; il microcontrollore invece ha gia tutto al s...uo interno quindi si porta con se la memoria e ci possiamo collegare direttamente dispositivi di otput (led!, lcd, pwm). Ora però pensiamo ai SoC come il AMD Geode: è un microprocessore derivazione athlon usato per realizzare pc intel compatibile, solo che al suo interno c'è tutto, controllori della memoria, dma ecc... non per nulla è un sistem-on-chip (Soc). Oppure pensiamo ai tanti Z80 usati nelle schede di commutazione di linea rtg telecom: sono microprocessori con ram, rom e tante belle cose ma fanno solo quattro robe in croce come fossero microcontrollori.Sono gradite le critiche a quanto scritto, saluti!

Papadopol Lucian @Facebook

ritratto di Maurizio S.

i nomi aiutano!!

Salve,

vorrei dare una risposta sintetica e facilmente leggibile.

Prima di tutto dire che, i verbi, controllare e processare, non sono sinonimi,

e in elettronica si osserva cosi:

processore(CPU) = unità di processo dati
(la natura variabile dei dati, li rende dispositivi di tipo generico o ASSP)

controller(GA o FCC) = unità di controllo hardware
(genericamente identificati come ASIC o Driver hardware)

micro-controller(MCU) = unità di controllo hardware SoC
(se non sono ri-programmabili o sono disegnati per uno specifico compito,
esempio: LCD-MCU, MOTOR-MCU,ecc. Anch'essi possono essere identificati come ASIC di tipo SA o ASIC strutturati,invece nel caso di un uso generico, sono inquadrati come degli ASSP)

micro-processor(MPU) = unità di processo dati SoC
(molti affermano, che teoricamente quando i dati processati , pur mantenendo una certa variabilità, sono fine a se stessi , anche un MPU può rientrare nella grande famiglia degli ASIC, io personalmente non approvo questa generalizzazione,perché i dati in qualsiasi contesto e senza riprogrammazione del dispositivo, possono far variare il comportamento finale dello stesso dispositivo)

queste sono le differenze di base, però vorrei far notare che la maggior parte dei dispositivi programmabili, oggi in giorno, sono ibridi, anche se i fabbricanti, semplificano e li catalogano sotto le voci MPU o MCU , ecc.

Ed un altro aspetto, che causa confusione, è la versatilità dei dispositivi
"micro-embedded" (MCU e MPU)

quando un MPU controlla un periferico, è un controller, e viceversa,
quando un MCU processa dati, è un processore,
questo però, non deve far cadere in errore.

Ricordiamoci che entrambi garantiscono maggiori prestazioni nelle architetture e strutture hardware, per le quali sono stati disegnati.

Come bene fa notare Rossella , una delle più grandi differenze è la gestione dei bus di dati.

Il paradigma:
Molti esperti affermano che un processore e parte di un controller,
ed altri, che un controller è parte di un processore.

beh, io credo che siano, strutturalmente certe, ambi teorie(non ci piove),
e che fino quando, saranno cosi versatili, solo l'esperienza e la conoscenza, da parte dei progettisti micro-elettronici, potranno assegnarli, i ruoli adeguati.

Queste semplici osservazioni valgono anche per le famiglie dei dispositivi utilizati per trattamento, di segnali DSC e DSP,
e/o dei dispositivi per trattamento di dati digitali, encode/decode o pre/post,
ottimizzati a livello hardware, come nel caso delle GPU, MPEG encoder, ecc.

Un Saluto a tutti
Maurizio

ritratto di toni e toni

mamma mia che articolo

Proprio completo... non c'è che dire... veramente esaustivo....

ritratto di Alee

Strano

Una cosa che mi chiedo e sempre mi chiederò
l'architettura ARM viene usata per fare sistemi embedded leggendo vengono definiti microcontrollori però guardando per esempio il mio cellulare (architettura ARM viene usata praticamente in tutti i cellulari)mi chiedo se la ram è integrata al microcontrollore e il Sistema Operativo (per far un esempio android) è integrato nella memoria rom del "microcontrollore" e poi se si può definire microcontrollore quando ha più che altro funzione di microprocessore
dopo magari non so abbastanza in argomento comunque questa è la mia prima impressione

ritratto di Emanuele

ARM = Processori o Microcontrollori?

Se un 'controllore' ha la memoria integrata e le periferiche integrate, allora si può definire microcontrollore, infatti le varie case definiscono i loro dispositivi, microcontrollori ARM. Invece i microprocessori sono i dispositivi, anche romless, che necessitano di periferiche esterne. Meno diffusi nei sistemi embedded.

Direi che si può parlare di Microcontrollori ARM (se hanno le periferiche a bordo) basati su processore ARM (inteso come il core)

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 11 utenti e 71 visitatori collegati.

Ultimi Commenti