Intel 8051: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 7:
== Applicazioni e funzioni importanti ==
[[File:Intel_8051_arch.svg|right|thumb|Microarchitettura i8051.]]
Il chip dell'8051 integravaintegra tutte le funzionalità seguenti:
* [[Central processing unit|CPU]] a 8 bit
* Registri, accumulatore e unità aritmetico-logica [[ALU]] a 8 bit
* [[Bus (informatica)#Bus dati|bus dati]] a 8 bit
* [[Bus (informatica)#Bus indirizzi|Bus indirizzi]] a 16 bit (spazio indirizzabile complessivo: 2<sup>16</sup> = 64[[kilobyte|kB]] (65536 locazioni) indipendenti su RAM e ROM)
* RAM integratainterna (memoria dati) - 128 [[byte]] (memoria dati)
* ROM integrata - 4kBinterna (memoria programma) - 4kB
* Quattro porte dati di I/O orientate al byte
* [[UART]] (porte seriali) di tipo sincrono (SPI, ''Serial Perypheral Interface'') e asincrono
* Due contatori/[[timer]] a 16 bit
* Gestore di ''[[interrupt]]'' a due livelli di priorità
* ModalitàControllo del consumo (modalità di risparmio energetico)
 
Una caratteristica particolarmente utile dell'8051 è la possibilità di elaborare direttamente e in modo efficiente [[Variabile booleana|variabili booleane]] a un solo bit, suinei registri interni e nella RAM. Questa caratteristica ha contribuito a consolidare la popolarità dell'8051 in applicazioni di controllo industriale. Un'altra caratteristica apprezzata è la presenza di quattro gruppi separati di registri di contesto, usati per ridurre drasticamente le latenze degli ''interrupt'' rispetto ai metodi tradizionali di immagazzinamento del contesto su [[stack]].
 
Le porte seriali dell'8051 rendono semplice l'uso del chip come interfaccia di comunicazione. È infatti possibile configurare la modalità di connessione tra i pin esterni e i registri a scorrimento interni, collegandoli anche ai timer interni, ottenendo così il supporto di diverse modalità di comunicazione seriale, di tipo sia sincrono (SPI) che asincrono. Il chip è in grado di comunicare secondo i protocolli seriali più diffusi, in particolare era supportata anche una modalità compatibile con il protocollo [[EIA-485|RS-485]] per comunicazioni multipunto. Questa capacità di interfacciamento verso altri dispositivi rende l'8051 particolarmente adatto per applicazioni di tipo embedded.
 
Le porte UART integrate, dalla gestione particolarmente semplice, sono in grado di comunicare secondo i protocolli seriali più diffusi, in particolare è supportata anche una modalità compatibile con il protocollo [[EIA-485|RS-485]] per comunicazioni multipunto. Questa capacità di interfacciamento verso altri dispositivi rende l'8051 particolarmente adatto per applicazioni di tipo embedded.
La gestione delle UART è particolarmente semplice, in quanto alla fine di una trasmissione o di una ricezione è possibile generare un interrupt, con la possibilità di agganciarlo anche a una temporizzazione opzionale.
 
La versione originale dell'8051 ha un ciclo macchina pari a 12 cicli di clock. Dato che la maggior parte delle istruzioni richiedono uno o due cicli macchina, usando un clock a 12 Mhz l'8051 è in grado di eseguire in un secondo fino a un milione di istruzioni da un ciclo macchina e fino a cinquecentomila istruzioni da due cicli macchina. Le ultime versioni dell'8051 hanno ridotto drasticamente il numero di cicli di clock per ciclo macchina, fino ad arrivare a un ciclo macchina per ciclo di clock, come avviene nei modelli prodotti da SILabs, da alcuni Dallas e da qualche Atmel: a una frequenza di clock di 100MHz la CPU risulta quindi particolarmente efficiente, altra caratteristica fondamentale per le applicazioni di tipo embedded. Grazie all'impiego di tecnologie FPGA, gli ultimi modelli di 8051 sono in grado di lavorare a una frequenza di clock pari a 200MHz.