Il Livello LogicoIl Livello...
Transcript of Il Livello LogicoIl Livello...
Prof. Cristina Silvano – Politecnico di Milano 1
Pag. 1
Il Livello LogicoIl Livello Logico--DigitaleDigitale
I circuiti sequenzialiI circuiti sequenziali
Corso ACSO Corso ACSO –– prof. Cristina SILVANOprof. Cristina SILVANOPolitecnico di MilanoPolitecnico di Milano
SommarioSommario
Circuiti sequenziali e elementi di memoriaBistabile SR asincronoBistabile SR asincronoTemporizzazione e clockBistabili D e SR sincroniFlip-flop Master-Slave
-- 22 --
Prof. Cristina Silvano – Politecnico di Milano 2
Pag. 2
Circuiti sequenzialiCircuiti sequenziali
Un circuito digitale è di tipo sequenziale se le sue uscite dipendono non solo dai valori correnti degli ingressi, ma anche da (alcuni di) quelli passati
– Una stessa configurazione di ingresso applicata in due istanti di tempo successivi può produrre due valori di uscita differenti
Un circuito digitale sequenziale (o rete sequenziale) è pertanto dotato, in ogni istante di tempo, di uno stato che, insieme ai valori degli ingressi, ne determina il comportamento futuro
– Lo stato di un circuito sequenziale rappresenta una forma di memoria e
-- 33 --
q ppcontiene una sorta di descrizione della storia passata del circuito stesso
L’elemento funzionale elementare per la realizzazione di circuiti sequenziali è il bistabile (elemento di memoria), che è in grado di memorizzare un bit di informazione
Circuiti sequenziali: strutturaCircuiti sequenziali: struttura
I circuiti sequenziali sono formati da:– bistabili, che hanno la funzione di memorizzare valori di singoli bit
porte logiche organizzate in reti combinatorie che hanno funzioni – porte logiche, organizzate in reti combinatorie, che hanno funzioni di elaborazione di informazioni
Il circuito sequenziale ha, in ogni istante, uno stato: il valore dei bit memorizzati nei bistabili facenti parte del circuito
CircuitoIngressi Uscite
-- 44 --
Stato
Circuito
combinatorioElementi dimemoria
Statopresente
futuro
Prof. Cristina Silvano – Politecnico di Milano 3
Pag. 3
Elementi di memoriaElementi di memoria
Gli elementi di memoria fondamentali, o bistabili, sono caratterizzati da due stati (0 e 1) stabili
Mantengono lo stato memorizzato finchè uno o più segnali di ingresso forzano il cambiamento di stato
Vengono classificati in base a– numero di ingressi previsti per comandare il bistabile– modo in cui tali ingressi determinano il cambiamento di
-- 55 --
modo in cui tali ingressi determinano il cambiamento di stato
Bistabili: classificazioneBistabili: classificazione
Esistono due famiglie di bistabili (circuiti digitali sequenziali):– Asincroni: sono privi di un segnale di sincronizzazione e modificano lo
t t i d d di tt t ti i li di istato rispondendo direttamente a eventi sui segnali di ingresso
– Sincroni: sono sensibili ad un segnale di controllo (o di sincronizzazione) e la transizione da uno stato all’altro può avvenire solo in corrispondenza di eventi del segnale di controllo.
• Si può dire che il comportamento di un circuito sincrono viene osservato in istanti discreti di tempo
• Il segnale di sincronizzazione tipicamente utilizzato è il clock
-- 66 --
• Ulteriore classificazione dei bistabili sincroni:– bistabili sincroni (latch)– flip flop
» flip flop master slave (a livello o pulse triggered)» flip flop edge-triggered (a fronte)
Prof. Cristina Silvano – Politecnico di Milano 4
Pag. 4
Una porta NOR con ritardo di commutazioneUna porta NOR con ritardo di commutazione
A B X0 0 1
NOR
Tempo di propagazione del segnale
-- 77 --
0 0 10 1 01 0 01 1 0
Tempo di propagazione del segnale
Ritardo di commutazioneRitardo di commutazione
I bistabili (sincronizzati o no), come le porte logiche, presentano un ritardo di commutazione dell’uscita
– La commutazione dell’uscita avviene con un certo ritardo rispetto alla variazione a co uta o e dell usc ta avv e e co u ce to ta do spetto alla va a o e degli ingressi o rispetto al fronte di clock che hanno indotto la transizione di stato. Il ritardo di commutazione dipende dalla tecnologia
-- 88 --
Prof. Cristina Silvano – Politecnico di Milano 5
Pag. 5
Bistabile asincrono: Latch SR (Set/Reset)Bistabile asincrono: Latch SR (Set/Reset)
Il bistabile SR è dotato di 2 ingressi S (Set) e R (Reset) e di 2 uscite Q e !Q.
SQretroazione
-- 99 --
RQretroazione
Come funziona il bistabile SRCome funziona il bistabile SR
SQ
00
1
SQ
01
0
RQ
01
0
RQ
00
1
S R 0 Q 1 S R 0 Q 0
-- 1010 --
S = R = 0 e Q = 1memorizza il valore 1
S = R = 0 e Q = 0memorizza il valore 0
Il circuito ha due stati di equilibrio (bistabile)L’uscita Q rappresenta quindi lo stato memorizzato
Prof. Cristina Silvano – Politecnico di Milano 6
Pag. 6
Funzionamento:Funzionamento:
Se S = R = 0, il bistabile SR è in grado di memorizzare due distinti valori logici:
– se Q = 1 il bistabile memorizza 1 (stato prossimo Qt+1uguale allo stato se Q 1 il bistabile memorizza 1 (stato prossimo Qt+1uguale allo stato presente Qt);
– se Q = 0 il bistabile memorizza 0 (stato prossimo Qt+1uguale allo stato presente Qt);
RESET– se S=0 e R=1, qualunque sia il valore dello stato presente Qt, lo stato
prossimo Qt+1 assume il valore logico 0
SET
-- 1111 --
– se S=1 e R=0, qualunque sia il valore dello stato presente Qt, lo stato prossimo Qt+1 assume il valore logico 1
E’ vietato applicare la configurazione di ingresso S = R = 1 (in questa circostanza il comportamento del bistabile SR non sarebbe definito)
Bistabile asincrono: Latch SR (Set/Reset)Bistabile asincrono: Latch SR (Set/Reset)
-- 1212 --
Prof. Cristina Silvano – Politecnico di Milano 7
Pag. 7
Il diagramma temporaleIl diagramma temporale
Un buon modo per visualizzare comportamenti di circuiti digitali che dipendono dal tempo e da eventi circuiti digitali che dipendono dal tempo e da eventi passati (circuiti sequenziali) è 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
-- 1313 --
– in ordinata i vari segnali i cui valori logici si succedono al trascorrere del tempo
Le frecce indicano un rapporto tra i fronti di tipo causa-effetto
RappresentazioneRappresentazione
SQ
RQ
S
R
Q
Q
bistabile SR
-- 1414 --
Il bistabile SR (set-reset) come blocco funzionale SEQUENZIALE
Prof. Cristina Silvano – Politecnico di Milano 8
Pag. 8
Circuito con un Circuito con un hazardhazard
-- 1515 --
Segnale di sincronizzazione o clockSegnale di sincronizzazione o clock
In molte situazioni, è necessario che lo stato di un bistabile possa cambiare solo in determinati istanti di tempo o i t lli di t P tt t intervalli di tempo. Per ottenere questo occorre:
– disporre di un segnale di clock (o di temporizzazione) che scandisca gli istanti o intervalli di tempo in cui le transizioni di stato possono avvenire
– sincronizzare il bistabile con il clock
Il segnale di clock è un segnale binario, con andamento
-- 1616 --
g g ,periodico nel tempoIl segnale di clock è una successione di impulsi:
– ogni impulso ha una larghezza costante e due impulsi consecutivi stanno a una distanza costante
Prof. Cristina Silvano – Politecnico di Milano 9
Pag. 9
Segnale di sincronizzazione o clockSegnale di sincronizzazione o clock
-- 1717 --
Bistabile SR sincronizzato (Bistabile SR sincronizzato (SRSR--latchlatch con clock)con clock)
Il bistabile SR sincronizzato ha– 2 ingressi S e R (che costituiscono i segnali di Set e Reset)– 1 ingresso di sincronizzazione (clock)– un’uscita Q, il cui valore rappresenta lo stato del bistabile, e
un’uscita !Q
Nel bistabile SR sincronizzato:– Se il clock vale 0, gli ingressi S e R non hanno alcun effetto (latch
SR non trasparente), e il bistabile mantiene memorizzato il suo stato corrente
-- 1818 --
stato corrente – Se il clock vale 1, gli ingressi S e R sono efficaci (latch SR
trasparente), e il comportamento è lo stesso descritto per il latch SR asincrono
Prof. Cristina Silvano – Politecnico di Milano 10
Pag. 10
Bistabile SR sincronizzato (Bistabile SR sincronizzato (SRSR--latchlatch con clock)con clock)
QR
C S R Qt+1
0 X X Q
Latch SR con clock C
!QS
C 0 X X Qt
1 0 0 Qt
1 0 1 0
1 1 0 1
1 1 1 -
Stato di Reset
Stato di Set
Stato indefinitoS Q
S
Non commuta
Non commuta
-- 1919 --
Q
bistabile SRsincrono
CK
R
Bistabile SR sincronizzato (Bistabile SR sincronizzato (SRSR--latchlatch con clock)con clock)
!Q
QR
S
C
-- 2020 --
Prof. Cristina Silvano – Politecnico di Milano 11
Pag. 11
Bistabile D sincronizzato (DBistabile D sincronizzato (D--latch)latch)
Il bistabile D ha– 1 ingresso D (che rappresenta il dato che verrà memorizzato)– 1 ingresso di sincronizzazione (clock)– un’uscita Q, il cui valore rappresenta lo stato del bistabile, e
un’uscita !Q
Nel bistabile D sincronizzato:– Se il clock vale 0, l’ingresso D non ha alcun effetto (latch D non
t t ) il bi t bil ti i t il t t
-- 2121 --
trasparente), e il bistabile mantiene memorizzato il suo stato corrente
– Se il clock vale 1, l’ingresso D è efficace (latch D trasparente), e il bistabile memorizza il valore logico (0 oppure 1) presente sull’ingresso D
Bistabile D sincronizzato (DBistabile D sincronizzato (D--latch)latch)
C D Qt 1
D con clock C D C D Qt+1
0 X Qt
1 0 0
1 1 1 Q
D
C!QS
R
D Q
Non commuta
Copia D
-- 2222 --
D Q
Q
bistabile Dsincrono
CK
Prof. Cristina Silvano – Politecnico di Milano 12
Pag. 12
Bistabile D sincronizzato (Bistabile D sincronizzato (DD--latchlatch))
D
Q
D
C!QS
R
D Q
-- 2323 --
D Q
Q
bistabile Dsincrono
CK
Bistabile D sincronizzato (Bistabile D sincronizzato (DD--latchlatch))
Il valore dell’input D deve essere stabile quando il clock è asserito (livello 1)Se D cambia mentre il clock è asserito, l’output cambia anch’esso (metodologia sensibile ai livelli). Per questo motivo, il latch si dice trasparente. Introdurremo il concetto di flip-flop che elimina questa trasparenza.
-- 2424 --
Prof. Cristina Silvano – Politecnico di Milano 13
Pag. 13
ProblemaProblema delladella trasparenzatrasparenza delledelle usciteuscite
I latch sincroni (SR o D) presentano, durante l’intervallo di tempo in cui il clock è attivo, il fenomeno di trasparenza delle uscite (fenomeno indesiderato).
– In questo intervallo, se gli ingressi si modificano, le uscite seguono questa modificaq , g g , g q– E’ come se, nell’intervallo attivo del clock, i bistabili non esercitassero alcuna
funzione effettiva di memorizzazione e risultano trasparenti
Per evitare il fenomeno di trasparenza si utilizzano i flip-flop (D o SR) che sono costituiti da due latch in cascata in modo che lo stato possa modificare le uscitesolo in corrispondenza di un evento (fronte) del segnale di clock.
Nei flip-flop:– Relazione stato-uscita (aggiornamento della uscita):
-- 2525 --
( gg )• sul fronte.
– Relazione ingresso-stato (aggiornamento dello stato): • a livello (Flip-Flop master-slave)• a fronte (Flip-Flop edge-triggered).
FlipFlip--flop D masterflop D master--slave slave
D Q
Q
bistabile DsincronoMASTER
CK
bistabile DsincronoSLAVE
Q1
Q1 Q2
Q2
D1
CK1
D2
CK2
CK
1 2Y
-- 2626 --
Coppia di bistabili sincroni D trasparenti in cascata con clock invertiti; l’insieme dei due non presenta il fenomeno della trasparenza
Prof. Cristina Silvano – Politecnico di Milano 14
Pag. 14
FunzionamentoFunzionamento
Il bistabile principale campiona l’ingresso D = D1 durante l’intervallo alto del clock, lo emette sull’uscita Q1 e lo manda all’ingresso D2 del bistabile ausiliarioausiliarioIl bistabile ausiliario campiona l’ingresso D2 durante l’intervallo basso del clock e lo emette sull’uscita Q2 = QL’uscita generale Q può variare solo nell’istante del fronte di discesa del clock
Trasparenza– Nell’intervallo basso del clock, il bistabile SLAVE è in stato di trasparenza
-- 2727 --
, p– Nell’intervallo alto del clock, il bistabile MASTER è in stato di trasparenza– Se l’ingresso D varia durante l’intervallo alto del clock, il bistabile MASTER
si comporta in modo trasparente– Ma il bistabile SLAVE no, perché il suo clock si trova nell’intervallo basso
FlipFlip--flop D masterflop D master--slave slave
-- 2828 --
Prof. Cristina Silvano – Politecnico di Milano 15
Pag. 15
D S QDY
Latch Dmaster
Latch SRslave
FlipFlip--flop D masterflop D master--slave slave
D
Ck!Y
SCk
!Q
Q
Clock
D
Flip-flop
R
D D
-- 2929 --
C
D
C
D
FlipFlip--flop D masterflop D master--slave slave
D
C
D
D
C
D
-- 3030 --
Prof. Cristina Silvano – Politecnico di Milano 16
Pag. 16
Bistabili sincroni e temporizzazioneBistabili sincroni e temporizzazione
I fattori che differenziano i bistabili riguardano due aspetti:– La relazione ingresso-stato (quando gli ingressi sono efficaci)
L l i t t it ( d difi t l it )– La relazione stato-uscita (quando vengono modificate le uscite)
La relazione ingresso-stato (tipo di temporizzazione) definisce quando gli ingressi modificano lo stato interno del bistabile
1. Temporizzazione basata sul livello del segnale di controllo (clock)1. Durante tutto l’intervallo di tempo in cui il segnale di clock è attivo,
qualsiasi variazione sui segnali di ingresso influenza il valore dello stato interno del bistabile (bistabili con commutazione a livello)
-- 3131 --
– Temporizzazione basata sul fronte del segnale di controllo (clock)1. Il valore dello stato interno del bistabile viene aggiornato solamente in
corrispondenza di un fronte del segnale di clock (bistabili con commutazione sul fronte - di salita oppure di discesa).
La relazione stato-uscita definisce quando lo stato aggiorna le uscite.
Commutazione basata sul livello del segnale di controllo (clock)
Bistabili sincroni e temporizzazioneBistabili sincroni e temporizzazione
– Commutazione basata sul livello del segnale di controllo (clock)1. Durante tutto l’intervallo di tempo in cui il segnale di controllo è attivo
un cambiamento dei segnali di ingresso modifica oltre allo stato interno anche le uscite.
2. Bistabili con questa relazione stato-uscita sono denominati LATCH– Il segnale di controllo è solitamente chiamato enable.
C t i b t l f t d l l di t ll ( l k)
-- 3232 --
1. Commutazione basata sul fronte del segnale di controllo (clock)• Le uscite vengono aggiornate su di un fronte del segnale di sincronismo. • Bistabili con questa relazione stato-uscita sono denominati FLIP-FLOP• Le uscite cambiano in corrispondenza di un evento del clock
Prof. Cristina Silvano – Politecnico di Milano 17
Pag. 17
Tabella riassuntivaRelazione Stato-Uscita
Bistabili sincroni e temporizzazioneBistabili sincroni e temporizzazione
Ingr
esso
-Sta
toLivello Fronte
Fron
te Flip-Flop edge-triggered
Flip-Flop edge-triggered
-- 3333 --
Rela
zion
e I
Live
llo
Latch con EnableLatch con EnableFlip-Flop
Master-Slave Flip-Flop
Master-Slave
EsecuzioneEsecuzione tipicatipica
Elementodi stato 1
Elementodi stato 2
Logicacombinatoria
ClockAggiornamento sul
fronte di salita
T1 T2
-- 3434 --
Il valore dello stato memorizzato nell’elemento 1 al tempo T1 viene utilizzato per determinare tramite la logica combinatoria il valore di stato che verrà memorizzato nell’elemento 2 al tempo T2
Prof. Cristina Silvano – Politecnico di Milano 18
Pag. 18
EsecuzioneEsecuzione tipicatipica (2)(2)
Elementodi stato 1
Logicabi t i
Stato presente
Stato prossimo
di stato 1 combinatoria
Clock
Aggiornamento dello stato dell’elemento 1 Calcolo dello stato prossimo
dell’elemento 1Nuovo aggiornamento dello stato dell’elemento 1
-- 3535 --
Lettura e scrittura dello stato in due cicli di clock
(stato presente) dell elemento 1tramite lo stato presente che viene inviato alla logica combinatoria
dello stato dell elemento 1(stato prossimo)
Latch e Latch e flipflip/flop: Riassunto/flop: Riassunto
Semplici elementi di memoria a 1 bit (bistabili)I latch possono essere asincroni o sincroni (con clock)p ( )La differenza tra latch e flip/flop sta nel fatto che:
– in un latch l’uscita può cambiare (anche più volte) se il clock è a livello alto
– in un flip/flop l’uscita può cambiare solo sul fronte di salita (oppure di discesa) del clock.
-- 3636 --
Prof. Cristina Silvano – Politecnico di Milano 19
Pag. 19
Libreria di blocchi sequenzialiLibreria di blocchi sequenziali
Principali blocchi sequenziali:Registro parallelo– Registro parallelo
– Registro a scorrimento– Banco di registri– Contatori
Ognuno di questi blocchi ammette numerose versioni e varianti
-- 3737 --
Registro Registro parallelo/parallelo/paralleloparallelo a 4 bita 4 bit
-- 3838 --
Prof. Cristina Silvano – Politecnico di Milano 20
Pag. 20
Diagramma temporaleDiagramma temporale
I1,2,3,4 0000 0101 0011
U1,2,3,4 XXXX 0000 0101
carica I1,2,3,4 carica I1,2,3,4
Q1,2,3,4
D1,2,3,4
-- 3939 --
Clock
Tempo1° ciclo 2° ciclo 3° ciclo
Registro a scorrimento (Registro a scorrimento (shiftshift registerregister) a 4 bit) a 4 bit
S SIN
CLK
D Q
T
D Q
T
D Q
T
D Q
T
SOUT
-- 4040 --
Prof. Cristina Silvano – Politecnico di Milano 21
Pag. 21
Registro parallelo/seriale Registro parallelo/seriale a 4 bita 4 bit
D3 D1D2 D0
D Q
T
D3
CLK
D Q
T
D Q
T
D Q
T
D1D2 D0
Q1 Q2 Q0 Q3
01
01
01 SIN
SOUT SEL
0 1
-- 4141 --
Registro dotato di un segnale di controllo SEL che permetta Registro dotato di un segnale di controllo SEL che permetta di selezionare due diverse modalità di funzionamento: di selezionare due diverse modalità di funzionamento: parallelo e seriale a 4 bitparallelo e seriale a 4 bit
Banco di Registri (Banco di Registri (RegisterRegister File)File)
Spesso occorre utilizzare un certo numero di registri paralleli con funzione di caricamento, tutti aventi le stesse dimensioni e le stesse funzioni (ad es nel data-path della CPU)funzioni (ad es. nel data-path della CPU)
A B
Banco di Registri
A+B
Registri di ingresso dell’ALU
Bus di ingresso all’ALU
Registro di uscita dell’ALU
ALU
A+BB
A
-- 4242 --
I registri vengono organizzati in una struttura a vettore, chiamata banco dei registri
B U BB
Prof. Cristina Silvano – Politecnico di Milano 22
Pag. 22
Banco di Registri (Banco di Registri (RegisterRegister File)File)
Un banco di registri (Register File) è un insieme di registri che possono essere letti/scritti fornendo in ingresso il numero (indirizzo) del registro che deve essere letto/scrittodel registro che deve essere letto/scrittoProgettiamo un Register File con n registri, due porte di lettura (Dati1 e Dati2) e una porta di scrittura
Dato AIndirizzo Dato AIndirizzo Dato B
-- 4343 --
Dato BRisultato
Indirizzo Risultato
Implementazione delle 2 porte di letturaImplementazione delle 2 porte di lettura
-- 4444 --