IL CLOCK
Il microprocessore è un dispositivo sincrono, ovvero esegue
le operazioni relative alla decodifica ed esecuzione delle istruzioni, alla
gestione dell' interrupt, del reset, delle condizioni di acquisizione dati,
ecc, in relazione ad un segnale la cui frequenza determina il tempo
impiegato in queste operazioni.
Il clock, dunque, è segnale che commuta
continuamente da un livello basso ad uno alto, molte volte al secondo (per i
PIC da 0 a svariate decine di megahertz); per ogni impulso i circuiti
interni del processore eseguono una operazione o parte di una operazione o
piú operazioni a seconda di come sono stati disegnati.
Il clock è il riferimento che sincronizza l'esecuzione di tutte le
operazioni e consente di trasferire dati e segnali in modo corretto alle
varie componenti del circuito .
Nei PIC, il clock primario è quello da cui
dipende questo sincronismo ed è in relazione con la durata del ciclo di
esecuzione di una istruzione secondo questa formula:
ciclo istruzione =
frequenza clock / 4
|
ovvero occorrono 4 impulsi del clock per eseguire una
istruzione base, anche se va tenuto presente che esistono istruzioni che
richiedono più cicli.
La tabella seguente sintetizza i rapporti tra frequenza del
clock, frequenza del ciclo istrruzioni, durata di un ciclo istruzioni.
Clock
[MHz] |
Ciclo istruzioni
frequenza |
Ciclo istruzioni
periodo |
0.032 |
8 kHz |
125 us |
0.125 |
31.25 kHz |
32 us |
0.250 |
62.5 kHz |
16 us |
0.500 |
125 kHz |
8 us |
1 |
250 kHz |
4 us |
2 |
500 kHz |
2 us |
4 |
1 |
1 us |
5 |
1.25 MHz |
800 ns |
8 |
2 MHz |
500 ns |
10 |
2.5 MHz |
400 ns |
12 |
3 MHz |
333 ns |
16 |
4 MHz |
250 ns |
18 |
4.5 MHz |
222 ns |
20 |
5 MHz |
200 ns |
24 |
6 MHz |
166 ns |
25 |
6.25 MHz |
160 ns |
30 |
7.5 MHz |
133 ns |
32 |
8 MHz |
125 ns |
36 |
9 MHz |
111 ns |
40 |
10 MHz |
100 ns |
48 |
12 MHz |
83.3 ns |
64 |
16 MHz |
62.5 ns |
In particolare, i PIC possono operare da 0 Hz ad una
frequenza massima che dipende dalle caratteristiche del chip e che può
andare da 4 a oltre 40 MHz.
L' affermazione che i PIC possono operare con clock fino a 0 Hz indica che
il processore può essere arrestato sospendendogli il clock e
"congelando" la situazione dell' ALU, dei registri, degli I/O per
un tempo indeterminato fino alla ripresa del clock.
Inoltre, questo clock può essere variato "in corso d'opera",
ovvero durante il funzionamento, senza pregiudicare il funzionamento del
sistema.
Quale è lo scopo di queste prestazioni ? Essenzialmente la riduzione del
consumo energetico.
Infatti, se ad un clock di frequenza elevata corrisponde una
riduzione del tempo di esecuzione delle istruzioni, corrisponde anche una
aumento del consumo energetico; ed essendo questo proporzionale alla
frequenza in modo quadratico, una sua riduzione darà origine ad una
sensibile riduzione della corrente assorbita.
E, nel momento in cui il clock primario è sospeso, il consumo è minimo,
ridotto a pochi micro ampere o meno; il processore è posto in uno stato
detto SLEEP, di bassa potenza, in cui resterà fino ad un
"risveglio" (Wake Up) da cui riprenderà le operazioni sospese.
Nei PIC possono coesistere diversi clock, come ad esempio
quello necessario per il Wake-up, generati da sorgenti interne diverse da
quella primaria; oppure si possono utilizzare i pin di alcuni timer per
generare clock dedicati a funzioni specifiche (ad esempio Real Time Clock).