07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf ·...
Transcript of 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf ·...
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 1
Università degli Studi dell’InsubriaDipartimento di Scienze Teoriche e Applicate
Architettura degli elaboratori
Bistabili e Clock
Marco TariniDipartimento di Scienze Teoriche e Applicate
Memoria:la traccia lasciata dal passato
Una rete combinatoria è sempre priva di memoria: la sua uscita dipende solodai valori applicati ai suoi ingressi in quel momento
out t = F( in t ) [comportamento ideale]
(anzi, per la precisione, poco prima)
out t = F( in t-Dt ) [comportamento reale, con ritardo]
Il circuito «non sa nulla» di cosa sia successo prima di allora
Invece, per eseguire certe elaborazioni, anche molto semplici, occorrerebbe conservare memoria di eventi passati
Ad es., «l’uscita valga 1 se l’ingresso è stato 1 per un certo tempo»
Il clock e i bistabiliArchitettura degli elaboratori - 2 -
uscita del circuitoal tempo t
funzione booleana calcolata
ingressi del circuito
a tempo t - Δt
tempo di commutazione
del circuito
comportamento reale, con ritardo
comportamento ideale
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 2
Vorremmo insomma un circuito che «si ricordi» cosa gli è successo prima
la sua uscita deve dipendere anche dalla storia dei suoi ingressi
e non solo da quelli attuali!
I circuiti sequenzialipossono avere questo comportamento
vediamo come e perché
Il primo che vediamo è chiamato bistabile SR, o SR latch
usa due porte logiche di tipo NOR (OR con uscita negata) in modo retroazionato
si tratta di un sempliceblocco funzionale (sequenziale)
Può un circuito «memorizzare» qualcosa?
Il clock e i bistabiliArchitettura degli elaboratori - 3 -
def: quelli che hanno anchecollegamenti retroazionati
(a differenza dei circuiti combinatori)
Si chiamiano sequenzialiproprio perché il loro outputpuò dipendere anche dalla
sequenza degli input.
Il primo che vediamo è chiamato bistabile SR, o SR latch
si tratta di un sempliceblocco funzionale (sequenziale)
due entrate (chiamiamole R e S)
due uscite (chiamiamole Q e \Q)
usa due porte logiche di tipo NOR (OR con uscita negata) in modo retroazionato
Può un circuito «memorizzare» qualcosa?
Il clock e i bistabiliArchitettura degli elaboratori - 4 -
a b a NOR b
0 0 1
0 1 0
1 0 0
1 1 0
NOR
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 3
Bistabile SR (SR latch)
Il clock e i bistabiliArchitettura degli elaboratori - 5 -
retroazione
retroazione
S
R
Q
Q
Come si comporta questo circuito? Proviamo ad adottare la tecnica della simulazione…
Come si comporta il bistabile SR:con input mantenuto a S = 0, R = 0
Il clock e i bistabiliArchitettura degli elaboratori - 6 -
soluzione 1(in cui Q = 0 e \Q = 1)
soluzione 2(in cui Q = 1 e \Q = 0)
In entrambe le soluzioni, ogni porta produce l’output corretto dato il suo input. Quindi, entrambe sono stabili (si manterranno indefinitivamente).
S
R
Q
Q
0
0
1
0
0
1
S
R
Q
Q
0
0
0
1
1
0
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 4
Stati di memorizzazione del bistabile
Quando i due input (S e R) sono a 0,il Latch ammette quindi due stati stabili (per questo è detto «bistabile»)
in un dato momento, si troverà in uno dei due stati
Possiamo dire che lo stato attuale «memorizza» un bit
quando Q = 1 (e \Q = 0), il bistabile «sta memorizzando 1»
quando Q = 0 (e \Q = 1), il bistabile «sta memorizzando 0»
Nota:a parità di ingressi (cioè S = R = 0) l’uscita Q ammette due possibili valori.
E’ un comportamento ben diverso da qualsiasi rete combinatoria!
Non è possibile descrivere il comportamento un circuito cosìcon una tabella di verità (cosa dovremmo mettere a riga S,R =0 0 ?)
Il clock e i bistabiliArchitettura degli elaboratori - 7 -
S,R Q
0,0 ???
Se in input passo R = 0, S = 1 Transizione da 0 a 1
Il clock e i bistabiliArchitettura degli elaboratori - 8 -
S
R
Q
Q
1
0
01
01
0
t 0
t 1
t 2
0t 3
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 5
Se in input passo R = 1, S = 0 transizione da 1 a 0
Il clock e i bistabiliArchitettura degli elaboratori - 9 -
S
R
Q
Q
0
0
0
1
10
1
t 0t 1
t 2
0t 3
In totale:Come si comporta il latch SR (bistabile SR)
Se non mando segnali, cioè «a riposo» (S = 0 , R = 0)
il latch può stare memorizzando 1 (Q = 1, /Q = 0)
oppure anche 0 (Q = 0, /Q = 1)
Se mando un segnale sul canale S (Set) (S = 1 , R = 0)
il latch passa a memorizzare lo stato 1 (Q = 1, /Q = 0)
indipendentemente dallo stato precedente!
quando poi il segnale su S cessa (si torna a S = 0 , R = 0)il latch continua a memorizzare lo stato 1
Se mando un segnale sul canale R (Reset) (S = 0 , R = 1)
il latch passa a memorizzare lo stato 0 (Q = 0, /Q = 1)
indipendentemente dallo stato precedente!
quando il segnale su R cessa, (si torna a S = 0 , R = 0)il latch continua a memorizzare lo stato 0
Se mando un segnale su entrambi i canali (S = 1 , R = 1)
il latch produce Q=0, \Q=0.Il clock e i bistabiliArchitettura degli elaboratori - 10 -
e rimane com’era
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 6
Digressione:Cosa succede in un bistabile SR se S = R = 1
Fino a che S = R = 1, entrambe le uscite valgono 0 Q = 1 , \Q = 0 (nessuna semantica è associata a questo stato)
Ma se tento di tornare a riposo (S = R = 0), l’evoluzione successiva è imprevedibile:
se R va a 0 prima (anche poco) di S, rimango nello stato Q = 1 , \Q = 0se S torna a 0 prima (anche poco) di R, rimango nello stato Q = 0 , \Q = 1è sostanzialmente impossibile fare commutare S e R simultaneamente
In pratica, non è mai utile mettere entrambi gli input S-R di un latch ad 1
Il clock e i bistabiliArchitettura degli elaboratori - 11 -
Come descrivere formalmente il comportamento di un circuito sequenziale?
La tabella di verità non è un modo adeguatoper rappresentare il comportamento di un circuito sequenziale
es: tentativo di tabella di verità per il bistabile SR:
Modi adeguati per descrivere il comportamento di un circuito sequenziale:
macchina a stati finitimostra come il circuito si comporta (o deve comportare) in astratto
diagramma temporalemostra come il circuito si è comportato in uno specifico caso
Il clock e i bistabiliArchitettura degli elaboratori - 12 -
S R Q
0 0 0 oppure 1
0 1 0
1 0 1
1 1 0
Quale delle due? Dipende dallostato attuale,che dipende dagli input precedenti
due configurazioni stabili!
una sola configurazione stabile
Inoltre, un circuito sequenziale potrebbe anche non presentare alcuna configurazione stabile
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 7
Macchina a Stati Finiti (FSM)che descrive il comortameno del SR-latch
Il clock e i bistabiliArchitettura degli elaboratori - 13 -
stato 1Q = 1
\Q = 0
stato 0Q = 0\Q = 1
S=0,R=0S=0,R=1
S=0,R=0S=1,R=0
S=0,R=1S=1,R=0
la FSMche rappresentail comportamentodel bistabilie SR
input in verdeoutput in blu
Macchina a Stati Finiti
Finite State Machine (FSM)o Finite State Automata (FSA)
Un modo per descrivere formalmente il comportamentodi un agente (o un agente, o un automa…)dotato di memoriache interagisce con il mondo esterno
input e output:interazioni col mondo esterno
lo stato interno:cosa “si ricorda” il dispositivo;= la sua memoria.= La traccia che le interazioni passatehanno lasciato nel dispositivo.
Il clock e i bistabiliArchitettura degli elaboratori - 14 -
Quello desiderato, quando parliamo di sintesi.
Quello effettivo, quando parliamo di analisi.
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 8
Macchina a Stati Finiti: note
E’ un grafo: nodi (i pallini!) collegati da archi (le freccette!)
Ogni nodo rappresenta uno stato (qui: «configurazione stabile cheil circuito può assumere»)
Ogni arco rappresenta una potenziale transizione fra stati
è associato ad (cioè etichettato con) un input (qui: del circuito)
Arco da A a B etichettato con X significa:«se il circuito è nello stato A e riceve l’input X, allora passa allo stato B»
Nota: un arco può connettere un nodo a se stesso (è un «cappio»)
Scorciatoia grafica: associare diverse etichette ad un solo arco(rappresenta tanti archi, uno con ciascuna etichetta)
Nota: ogni nodo dovrebbe avere un arco uscente per ogni possibile input
(o almeno per ogni input «legale», es: S=R=1 non è considerato legale)
Output del circuito:
modo 1: associarlo ad ogni arco (modo più generale)
modo 2: associarlo ad ogni nodo (se l’output dipende solo dallo stato)
Il clock e i bistabiliArchitettura degli elaboratori - 15 -
Macchina a Stati Finiti: un esempio
Domanda: In che stato arriva il dispositivo se parte dallo stato 1, e riceve in input: AABABC?
Il clock e i bistabiliArchitettura degli elaboratori - 16 -
𝐴, 𝐶
𝐵
𝐵, 𝐶
𝐴
𝐵
𝐴, 𝐶
1
3
2
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 9
Il diagramma temporale(di un segnale)
Durante l’uso del circuito, il valore logico (0 o 1) di ciascun segnaleè una funzione del tempo X = F( t )
Posso disegnare questa funzione con un plot:
in ascissa: il tempo t
diviso in intervalli discreti
in ordinata: il valore logico del segnale
su ciascun intervallo di tempo, varrà costante 0 o costante 1
Il clock e i bistabiliArchitettura degli elaboratori - 17 -
t
X
t1 t2 t30
1
di input, di outputo anche interno del circuito
al tempo t3, X passa da 0 a 1 («fronte», in ascesa)
dal tempo t1 al tempo t2, il segnale X vale 1
Il diagramma temporale(di un circuito)
Il diagramma temporale di un circuito è costituito da tanti plot disegnati in parallelo (uno per ciascun segnale di input, output, e, se necessario, interno)
Il clock e i bistabiliArchitettura degli elaboratori - 18 -
tt1 t3 t5
0
1
X
0
1
Y
0
1
Z
t2 t4 t6
Università dell'Insubria A.A. 2017/18
Architettura degli elaboratori - Bistabili e clock - 1 10
Un diagramma temporale che illustrail bistabile SR in uso
Qui, il Latch, riceve in input prima S=1, poi R=1
Il clock e i bistabiliArchitettura degli elaboratori - 19 -
effetto
Al tempo T1 si ha: S = R = 0 e Q = 1
Al tempo T2 si ha: S = R = 0 e Q = 0
Tempo
S
R
Q
1
1
0
10
0
T1 T2
osservazioneal tempo T1
osservazioneal tempo T2
causa
rapporto causa-effetto
La freccia blu indica un
rapporto tra i fronti di tipo
causa-effetto
E’ raffigurato il comportamento ideale (senza
ritardi)
Altro esempio di diagramma temporale
Il clock e i bistabiliArchitettura degli elaboratori - 20 -
Tempo
S
R
Q
1
1
0
1
0
0
0
T1 T2
osservazioneal tempo T1
osservazioneal tempo T2
T3
osservazioneal tempo T3
1
1
0
Domanda: valori di Q, S e R ai tempi T1, T2, T3?
causa-effetto
causa-effetto
Qui, il Latch, riceve in input un impulso S=1, poi uno R=1, poi ancora uno S=1,