Il clock e i bistabili

25  Download (0)

Full text

(1)

Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate

Architettura degli elaboratori

Il clock e i bistabili

Marco Tarini

Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it

Memoria

Le reti combinatorie sono prive di memoria: l’uscita di una rete combinatoria dipende solo dai valori logici applicati agli ingressi della rete

Out(t) = In(t) [comportamento ideale]

Out(t) = In(t-Dt) [comportamento reale, con ritardo]

Per eseguire certe elaborazioni, anche molto semplici, occorre conservare memoria di eventi (cioè di segnali binari) passati

Ad es., l’uscita vale 1 se l’ingresso è stato 1 per un certo tempo

(2)

Un circuito sequenziale

Progettare un circuito digitale dotato di due ingressi S e R, e di un’uscita Q. Il circuito:

manda a 1 l’uscita se S = 1 (S è attivo) manda a 0 l’uscita se R = 1 (R è attivo) altrimenti, l’uscita Q non subisce variazioni nota: non accade mai che S = R = 1

Il clock e i bistabili

Architettura degli elaboratori - 3 -

Domanda

Cosa vale l’uscita quanto S = R = 0, cioè quando entrambi gli ingressi S e R sono inattivi?

L’uscita Q potrebbe valere sia 1 che 0: il valore dell’uscita Q dipende dalla successione di eventi verificatisi su S e R in precedenza!

Infatti:

se R = 0 e S = 1, allora Q = 1; se poi S va a 0 l’uscita Q resta a 1 se R = 1 e S = 0, allora Q = 0; se poi R va a 0 l’uscita Q resta a 0 Conclusione: quando S = R = 0 l’uscita Q potrebbe valere 1 oppure 0

Cioè il circuito ricordaquale tra S e R è stato 1 l’ultima volta Cioè:

Q = valore del bit

S = segnale di Set («set» = «metti a 1») R = segnale di Reset («reset» = «metti a 0»)

(3)

Il diagramma temporale

Un buon modo per visualizzare comportamenti di circuiti digitali che dipendono dal tempo e da eventi passati è il diagramma temporale Diagramma temporale: sistema di assi cartesiani, con

in ascissa il tempo (in istanti discreti)

in ordinata i vari segnali i cui valori logici si succedono al trascorrere del tempo

Il clock e i bistabili

Architettura degli elaboratori - 5 -

Ancora l’esempio

Diagramma temporale del circuito descritto prima

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

osservazione

al tempo T1 osservazione al tempo T2

causa

rapporto causa-effetto

(4)

Commento

Il diagramma temporale mostra che sapere che in ingresso si ha S=0 e R=0 non basta a determinare il valore dell’uscita Q

Il circuito digitale che risolve il problema di progetto appena descritto non può dunque essere di tipo combinatorio!

Il clock e i bistabili

Architettura degli elaboratori - 7 -

vietato!

S R Q 0 0 0, 1 0 1 … 1 0 … 1 1 …

Una descrizione del comportamento del circuito come macchina a stati

Q=0

Q=1

<S=0, R=0>

<S=0, R=0>

<S=0, R=1>

<S=1, R=0>

<S=0, R=1>

Se R=0, S=0:

resta nello stato corrente.

Se S=1 :

va nello stato Q=1.

Se R=1 :

va nello stato Q=0.

(5)

Realizziamo questo circuito che «memorizza un bit»

Sarà un elemento funzionale elementare dotato di memoria In grado di memorizzare il valore di un singolo bit

Un modo per realizzare tale elemento funzionale consiste nel collegare due porte logiche di tipo NOR (porta OR con uscita negata) in modo

retroazionato

(a differenza delle reti combinatorie, usiamo collegamenti retroazionati!)

Il clock e i bistabili

Architettura degli elaboratori - 9 -

Come memorizzare un bit: bistabile SR

Ingressi, S e R (Set e Reset)

Uscite: Q e /Q (valore del bit, e suo negato)

Bistabile SR (SR latch, o SC latch)

retroazione

retroazione S

R

Q

Q

(6)

Come funziona il bistabile SR

Il clock e i bistabili

Architettura degli elaboratori - 11 -

S = R = 0 e Q = 1

memorizza il bit 1 S = R = 0 e Q = 0

memorizza il bit 0 Il circuito ha due stati di equilibrio (bistabile)

S

R

Q

Q 0

0

1 0

0 1

S

R

Q

Q 0

0

0 1

1 0

Stati di memorizzazione: note

Il bistabile SR è in grado di memorizzare due distinti valori logici:

quando Q = 1 , il bistabile «sta memorizzando» 1 quando Q = 0 , il bistabile «sta memorizzando» 0 La capacità di memoria del bistabile SR è dunque di un bit

(cioè memorizza uno dei due possibili valori per un bit) Un bistabile di questo tipo è detto anche Latch

(7)

Come funziona il bistabile SR

Il bistabile SR ha un comportamento ben diverso da una rete combinatoria.

Infatti:

se S = R = 0, le uscite Q e /Q possono valere 1 e 0, rispettivamente, ma possono anche valere 0 e 1, rispettivamente

Dunque:

a parità di ingressi (cioè S = R = 0) l’uscita Q ammette due possibili valori.

(Non è un comportamento da rete combinatoria!)

Il clock e i bistabili

Architettura degli elaboratori - 13 -

Transizioni di stato

Se il bistabile SR non potesse cambiare stato di memorizzazione, sarebbe un circuito digitale del tutto inutile per scopi pratici di memorizzazione

È possibile fare transitare il bistabile SR dallo stato di memorizzazione 1 allo stato di memorizzazione 0, e viceversa, manovrando gli ingressi S e R in modo opportuno

(8)

Transizione da 1 a 0

Il clock e i bistabili

Architettura degli elaboratori - 15 -

S

R

Q

Q 1

0 0

1

10 0

A B

C

S = R = 0 e Q = 0; ha memorizzato il bit 0

0 D

Transizione da 0 a 1

S

R

Q

Q 0

0 10

01 1 A

B

C 0 D

(9)

Riassumendo

Funzionamento del bistabile SR:

quando S = R = 0

l’uscita Q mantiene memorizzato il valore logico di un bit (0 oppure 1) se S = 1 e R = 0,

l’uscita Q assume il valore logico 1 (il bit si setta a 1) se S = 0 e R = 1,

l’uscita Q assume il valore logico 0 (il bit si resetta a 0) la configurazione di ingresso S = R = 1 non è valida

(in questa circostanza il comportamento del bistabile SR non è definito)

Il clock e i bistabili

Architettura degli elaboratori - 19 -

Diagramma temporale del bistabile SR

Tempo S

R Q

1

1 0

1

0

0 0

T1 T2

osservazione

al tempo T1 osservazione al tempo T2

T3 osservazione

al tempo T3 1 1

0

Le frecce indicano un rapporto tra i fronti di tipo causa-effetto causa-effetto

causa-effetto

(10)

Dettagli

Quando S = R = 1, Q = /Q = 0

Ma l’evoluzione successiva è imprevedibile:

se R va a 0 prima (anche poco) di S, Q = 1 se S torna a 0 prima (anche poco) di R, Q = 0

ed è sostanzialmente impossibile fare commutare S e R simultaneamente

Il clock e i bistabili

Architettura degli elaboratori - 21 -

S

R

Q

1 Q

1 0

0 0

0

Rappresentazione

Il bistabile SR (set-reset) come blocco funzionale SEQUENZIALE

S

R

Q

Q

S R

Q Q bistabile SR

(11)

Usi caratteristici

Il bistabile SR è un circuito digitale (sequenziale) fondamentale.

Usi tipici:

è l’elemento funzionale elementare per la costruzione di altri tipi di bistabili, più raffinati o specializzati

viene usato per memorizzare segnali binari

viene usato come adattatore, o interfaccia per un dispositivo

Il clock e i bistabili

Architettura degli elaboratori - 23 -

Esempio di Latch come adattatore

Si supponga di avere una periferica (ad es. una tastiera) che deve mandare un segnale di richiesta (ad es. un interrupt) a un processore

Ma la periferica genera solo un breve impulso di richiesta

Mentre il processore potrebbe essere occupato e non in grado di rispondere subito alla richiesta, onorandola

Il Latch tiene traccia della richiesta pendente fino a quando il processore la può onorare

È dunque necessario interporre tra periferica e processore un circuito digitale adattatore (interfaccia), che:

riceva l’impulso di richiesta proveniente dalla periferica, lo memorizzi, stabilizzandolo, e lo mandi al processore

mantenga attiva la richiesta fintantoché il processore non sia disponibile a onorarla

cancelli la richiesta, quando il processore segnalasse di averla acquisita e di essere pronto a onorarla

(12)

Schema logico

Il bistabile SR funziona come adattatore, o interfaccia, tra periferica e processore

Il clock e i bistabili

Architettura degli elaboratori - 25 -

breve impulso di richiesta

S R

Q Q bistabile SR

PERIFERCA PROCESSORE

non usato

richiesta stabilizzata e tenuta pendente

impulso di acquisizione l’impulso cancella la

richiesta

Sincronizzazione

In molte situazioni, è necessario impedire che lo stato di un bistabile possa cambiare, tranne in determinati istanti di tempo o intervalli di tempo

Per ottenere questo scopo occorre:

disporre di un segnale di clock che scandisca gli istanti o intervalli di tempo in cui le transizioni di stato possono avvenire

sincronizzare il bistabile con questo segnare di clock

(13)

Il segnale di clock:

utile in molte altre occasioni

In molti casi, le funzioni svolte dai circuiti digitali sono tali che L’ordine temporale con cui si verificano

gli eventi è una caratteristica significativa

Si debba garantire la precedenza tra due segnali

Si debba sincronizzare due eventi che devono essere simultanei (o trattati come tali)

Si debba garantire la distanza temporale tra due eventi ...

Il clock e i bistabili

Architettura degli elaboratori - 27 -

Il segnale di clock

Per definire e scandire il tempo, nei circuiti digitali si usa il segnale di clock (o «di temporizzazione»)

Il clock è un segnale binario, con andamento periodico nel tempo Il segnale di clock è una successione di impulsi

Ogni impulso ha una larghezza costante e due impulsi consecutivi stanno a una distanza costante

Clock Tempo Tensione

(14)

Il segnale di clock

Il clock e i bistabili

Architettura degli elaboratori - 29 -

Frequenza di clock = 1 / periodo di clock Qui: periodo = 1 / 10 ns  Frequenza = 100 MHz

Clock

fronte

di salita fronte di discesa

livello (intervallo)

alto

Tempo 1° ciclo 2° ciclo 3° ciclo

10 ns

periodo di clock

livello (intervallo) basso

Bistabile D sincronizzato

Il bistabile SR memorizza un bit e ha due ingressi: S per portare a 1 lo stato, R per portarlo a 0

S e R funzionano sia come comandi che come dati:

Indicano quale valore memorizzare Indicano quando memorizzarlo

Molto spesso occorre un bistabile dotato di un solo ingresso, che si limiti a memorizzare il bit presente sul suo unico ingresso: il bistabile D sincronizzato (o D flip-flop)

D è l’unico ingresso dati,

Il clock funziona come comando di memorizzazione

(15)

Frequenze tipiche di clock

Il clock e i bistabili

Architettura degli elaboratori - 31 -

Periodo di clock

(misura: secondi) Frequenza di Clock

(misura: Hertz = 1 / secondo)

secondo1 1 s 100sec 1 Hertz 1 Hz 100Hz

millisecondo1 1 ms 10-3sec 1 KiloHertz 1 KHz 103Hz 1 micro

secondo 1 μs 10-6sec 1 MegaHertz 1 MHz 106Hz

1 nano

secondo 1 ns 10-9sec 1 GigaHertz 1 GHz 109Hz

La frequenza di clock di un tipico processore si misura in qualche GigaHertz

(quindi, milioni di cicli di clock al sec)

Bistabile D sincronizzato

Clock = 0 il bistabile mantiene lo stato

0

0

0 D

/Q

Q Clock

(16)

Bistabile D sincronizzato

Il clock e i bistabili

Architettura degli elaboratori - 33 -

Se clock = 1 il bistabile memorizza l’ingresso D

0

1

1 0

0 1 D

/Q

Q Clock

Bistabile D sincronizzato

Se clock torna a zero, lo stato del bistabile resta “congelato”

0

0

0 0

0 1 D

/Q

Q Clock

(17)

Diagramma temporale

Il clock e i bistabili

Architettura degli elaboratori - 35 -

Le variazioni dell’uscita sono sincronizzate con il clock

Tempo D

Q

1° ciclo 2° ciclo Clock

3° ciclo

1  0 0  1

0  1

Un possibile funzionamento del flip-flop:

Bistabile D sincronizzato

Nel bistabile D sincronizzato:

Quando il clock vale 0,

l’ingresso D non ha alcun effetto,

il bistabile mantiene memorizzato il suo stato corrente Quando il clock vale 1,

l’ingresso D è efficace,

il bistabile memorizza il valore logico (0 oppure 1) presente sul D Lo stato del bistabile può cambiare solo nell’ «intervallo alto» del clock Detto anche: D-latch

(18)

Rappresentazione bistabile D

Il clock e i bistabili

Architettura degli elaboratori - 37 -

Il bistabile D sincrono come blocco funzionale SEQUENZIALE sincrono

D Q

Q bistabile D

CK D

/Q Q Clock

Comando di ripristino

Tutti i tipi di bistabili dispongono di varianti dotate di un comando di ripristino CLR («clear» o «reset»), che forza lo stato del bistabile a 0

Il comando di ripristino è molto utile per (re)inizializzare lo stato dei bistabili Alcuni bistabili dispongono anche del comando di precarica PR («preset»), che forza lo stato del bistabile a 1

(19)

Rappresentazione

Bistabile di tipo D, dotato di comandi di ripristino e di precarica.

Di norma questi comandi sono asincroni, cioè agiscono immediatamente, non appena vengono attivati, senza attendere il clock

Il clock e i bistabili

Architettura degli elaboratori - 39 -

D Q

Q bistabile D

CK CLR

PR

Realizzazione

Il bistabile D sincrono con comando CLEAR

D /Q

Clock Q

D Q

Q bistabile D

con CLR CK

CLR CLR

D Q

Q bistabile D

CK

(20)

Tempo

Così come i circuiti combinatori, anche i bistabili (sincronizzati o no) presentano un ritardo di commutazione dell’uscita

Per forza: sono fatti entrambi con porte logiche

La commutazione dell’uscita del bistabile avviene con un certo ritardo rispetto alla variazione degli ingressi o rispetto al fronte di clock che hanno indotto la transizione di stato

Il ritardo di commutazione dipende dalla tecnologia microelettronica

Il clock e i bistabili

Architettura degli elaboratori - 41 -

Diagramma temporale

Il bistabile sincrono di tipo D ha un ritardo di commutazione di 1 ns dell’uscita rispetto al fronte del clock

Tempo D

Q

1° ciclo 2° ciclo Clock

3° ciclo

1 ns 1 ns 1 ns

(21)

Il fenomeno della trasparenza

Il bistabile D sincronizzato ha un comportamento sgradevole:

nell’intervallo alto del clock, l’ingresso D è efficace: le variazioni di D si propagano immediatamente (o quasi) all’uscita Q, la quale può dunque variare più volte; solo quando il clock torna a zero Q si stabilizza

è come se, nell’intervallo alto del clock, il bistabile non esercitasse alcuna funzione effettiva di memorizzazione

es: se il flip-flop è nello stato 0, se, durante lo stato del clock «alto»:

1. D passa da 0 a 1  il flip-flip passa allo stato 1 2. D torna a 0  il flip-flip torna allo stato 0.

Questo fenomeno si chiama trasparenza

Il clock e i bistabili

Architettura degli elaboratori - 43 -

Diagramma temporale

Nel 2ociclo, mentre clock = 1, si verifica il fenomeno della trasparenza del bistabile

Tempo D

Q

1° ciclo 2° ciclo Clock

3° ciclo

0  1 1  0 0  1

D varia mentre clock=1 Trasparenza

(22)

Problema

Il bistabile D sincronizzato visto presenta il fenomeno di trasparenza Il fenomeno della trasparenza rende tali bistabili inadatti come elementi funzionali base per circuiti sequenziali

Serve un nuovo tipo di sincronizzazione!

Il clock e i bistabili

Architettura degli elaboratori - 46 -

Verso la soluzione ...

Vi sono due modi per sincronizzare un bistabile con il clock:

sincronizzazione «sul livello»: (quella che abbiamo usato fin’ora) quando il clock vale 1: (cioè nell’intervallo alto del clock)

gli ingressi al bistabile sono efficaci

quando il clock vale 0: (cioè nell’intervallo basso del clock) lo stato del bistabile è congelato

( comporta trasparenza!) sincronizzazione «sul fronte»:

nell’istante in cui il clock passa da 0 a 1 (cioè al fronte di salita del clock) gli ingressi al bistabile sono efficaci

in entrambi gli intervalli alto e basso del clock lo stato del bistabile è congelato!

(23)

Il sincronismo sul fronte

In un bistabile sincronizzato sul fronte, gli ingressi sono efficaci solo nell’istante di tempo del fronte di salita del clock

Dunque l’uscita del bistabile può commutare solo in corrispondenza del fronte di salita del clock

Durante tutto il resto del ciclo di clock, l’uscita è necessariamente stabile

 il fenomeno di trasparenza non esiste!

(se non nel brevissimo intervallo di durata del fronte di salita)

Il clock e i bistabili

Architettura degli elaboratori - 48 -

Realizzare il sincronismo sul fronte

Si prende un bistabile di tipo D sincronizzato sul livello ma come clock gli si applica un segnale con livello alto di durata molto inferiore al livello basso, ovvero un clock di tipo impulsivo (o “asimmetrico”)

L’ingresso D del bistabile è dunque efficace solo per un brevissimo intervallo di tempo, che idealmente coincide con l’istante del fronte di salita del segnale di clock

(24)

Idealmente ...

L’impulso di clock è un livello alto molto stretto Sincronizzazione (quasi) perfetta con il fronte!

Il clock e i bistabili

Architettura degli elaboratori - 50 -

Tempo D

Q

1° ciclo 2° ciclo Clock

3° ciclo

0  1 1  0 0  1

10 ns

Bistabile sincrono sul fronte: FLIP-FLOP

Il bistabile D sincrono sul fronte come blocco funzionale SEQUENZIALE D

/Q Q Clock Generatoredi impulsi

D Q

Q bistabile D

sincrono sul fronte

CK

sincronismo con

il fronte di salita … o con il fronte di discesa Dà al clock

forma impulsiva

CK

(25)

Il generatore di impulsi

Il clock e i bistabili

Architettura degli elaboratori - 52 -

a b

c

t

a b

c a and b

ritardo dell’AND

ritardo della porta NOT

Ricap della terminologia in Eng

To Set («impostare»): mettere il bit ad 1

To Reset, («reimpostare») o to Clear, : mettere il bit a 0 To Preset , («preimpostare») : inizializzare il bit a 1 Clock cycle: ciclo di clock

Latch: una rete (sequenziale) bi-stabile, tipicamente non sincronizzata Es: il RS-Latch

Flip-Flop: una rete (sequenziale) bi-stabile, tipicamente sincronizzata Quindi

Flip-Flop level-sensitive: con sincronizzazione sul livello Flip-Flop edge-sensitive: con sincronizzazione sul fronte

Figure

Updating...

References

Related subjects :