07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf ·...

10
Università dell'Insubria A.A. 2017/18 Architettura degli elaboratori - Bistabili e clock - 1 1 Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Bistabili e Clock Marco Tarini Dipartimento di Scienze Teoriche e Applicate [email protected] Memoria: la traccia lasciata dal passato Una rete combinatoria è sempre priva di memoria: la sua uscita dipende solo dai 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 bistabili Architettura degli elaboratori -2- uscita del circuito al tempo t funzione booleana calcolata ingressi del circuito a tempo t - Δt tempo di commutazione del circuito comportamento reale, con ritardo comportamento ideale

Transcript of 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf ·...

Page 1: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

[email protected]

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

Page 2: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

Page 3: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

Page 4: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

Page 5: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

Page 6: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

Page 7: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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.

Page 8: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

Page 9: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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

Page 10: 07-Clock e bistabili - CNRvcg.isti.cnr.it/~tarini/teaching/archi/2017/07-Clock_e_bistabili.1.pdf · &RPH VL FRPSRUWD LO ELVWDELOH 65 FRQ LQSXW PDQWHQXWR D 6 5 ... Microsoft PowerPoint

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,