Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Informazioni a basso livello

informatica



Informazioni a basso livello

Per capire ed usare al meglio l'8051, e' necessario conoscere alcune informazioni di dettaglio che riguardano il timing.

L'8051 opera sulla base di un clock fornito da un quarzo esterno. Esso e' un dispositivo elettrico che, una volta alimentato, emette 434i85e degli impulsi elettrici a frequenza fissa. E' possibile trovare sul mercato quarzi che oscillano su una qualsiasi frequenza in funzione dell'applicazione richiesta. Nell'uso dell'8051 le frequenze piu' usate sono 12 e 11,059 Megahertz (normalmente la seconda e' la piu' comune). Perche' uno dovrebbe usare un valore di frequenza con un valore non intero? C'e' una ragione per fare cio'? Essa e' stata infatti scelta per generare agevolmente la frequenza del generatore di baud rate. Ne parleremo piu' diffusamente nel capitolo sulla comunicazione seriale. Al momento assumiamo di usare un quarzo che oscilla a 11,059 MHz.

I Microcontrollori (e molti altri dispositivi elettronici) usano i quarzi per sincronizzare le operazioni. L'8051 usa il quarzo proprio per questo scopo. In effetti, l'8051 opera sulla base dei cosidetti "cicli macchina". Un singolo ciclo macchina e' la minima quantita' temporale che un'istruzione dell'8051 richiede per essere eseguita. Comunque molte istruzioni richiedono piu' cicli macchina.



In realta', un ciclo macchina corrisponde a 12 impulsi dell'oscillatore a quarzo. Quindi, se un'istruzione viene completata in un ciclo macchina, essa richiede 12 impulsi dell'oscillatore. Essendo nota la frequenza del quarzo a 11.059.000 cicli al secondo, possiamo calcolare quanti cicli macchina al secondo possono essere eseguiti dall'8051:


Questo vuol dire che l'8051, sincronizzato con un osciollatore a 11,059 MHz puo' eseguire 921.583 cicli macchina al secondo. La maggior parte delle istruzioni dell'8051 sono a ciclo-singolo, per cui possiamo ritenere grossolanamente che l'8051 esegua circa un milione di istruzioni al secondo. Nel caso volessimo essere piu' realistici, tenendo conto che il tempo di esecuzione dipende dal un numero di cicli macchina sicuramente maggiore di uno, possiamo stimare mediamente circa 600.000 istruzioni al secondo.

Per esempio, se utilizzassimo esclusivamente istruzioni a 2 cicli macchina, l'8051 eseguirebbe 460.791 istruzioni al secondo. L'8051 ha anche due istruzioni molto lente che richiedono 4 cicli. Nel caso in cui per assurdo utilizzaste solo queste istruzioni, l'8051 eseguirebbe soltanto 230.395 istruzioni al secondo.

E' importante insistere sul fatto che non tutte le istruzioni vengono eseguite con la stessa quantita' di tempo. L'istruzione piu' veloce richiede un ciclo macchina (12 impulsi di clock), molte altre richiedono 2 cicli macchina (24 impulsi di clock) e le due piu' lente istruzioni matematiche richiedono 4 cicli macchina (48 inpulsi di clock).

NOTA: Molti derivati dell'8051 hanno il timinig delle istruzioni diverso. Per esempio, molte versioni dell'8051 ottimizzate in velocita', eseguono un ciclo macchina in soli 4 impulsi di clock invece di 12, per cui un particolare chip sarebbe in effetti tre volte piu' veloce del classico 8051 a parita' di frequenza di clock.

Poiche' tutte le istruzioni richiedono quantita' di tempo variabili, qualcuno potrebbe chiedersi: Come posso tenere traccia del tempo trascorso in una applicazioni che richiede risposte temporali critiche se non ho un riferimento temporale del mondo esterno?

Fortunamente, l'8051 dispone di timer che ci permettono di gestire gli eventi temporali con notevole precisione. Ma questo e' argomento del prossimo capitolo.





Privacy




Articolo informazione


Hits: 1101
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024