1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6...
-
Upload
ornella-paoletti -
Category
Documents
-
view
238 -
download
0
Transcript of 1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6...
1 - Campionamento2 - Sintesi & Analisi3 - Accumulatore4 - Contatore5 - Registro a scorrimento6 - Buffer
Esercizi e applicazioni diReti sincrone
Il modello della rete sincrona: comportamento
t
uscita un=F(i,s)n
stato futuro Sn=G(i,s)n
stato presente sn
ingresso in
sn+1
(n-1)T0 nT0 (n+1)T0
istanti di sincronismo e intervalli elementaridi funzionamento
Il modello della rete sincrona: struttura
Retelogica
combinatoriaideale
z1
z2
zm
uscita u(t) = F(i(t),s(t))x1
x2
xn
ingresso i(t)
s(t+ ) = S(t)
RitardoT0
RitardoT0
RitardoT0
yk
y2
y1
stato presentes(t)
Yk
Y2
Y1
stato futuroS(t) = G(i(t),s(t))
7.1Campionamento
Il flip-flop D come “ritardo” di durata T0
Q n+1 = D n
equazionecaratteristicadel FF “D”
(n-1) . T0 n . T0 (n+1) .T0
clock C
D Q
Q’
uscita Q Q n-1 Q n Q n+1
D delay
ingresso D D n-1 D n D n+1
Rete sequenziale sincrona a flip-flop D
z i n = F i (x 1,.., x n , y 1 ,.., y k)n per i = 1, .. , m
y i n+1 = D i n = Y i
n = G i (x 1,.., x n , y 1 ,.., y k)n per i = 1, .. , k
Retecombinatoria
1x1
xn
y1
yk
z1
zm
Y1
Yk
m
t1
tk
Q D
Q Df = 1/T0
Campionamento dei comandi
Vincolo per il corretto funzionamento
T 0 R + RC + SU
ff
clock
t
RC
R: tempo max. di risposta dei FF
RC: tempo max. di risposta della rete comb.
SU: tempo min. di set up dei FF
Addizione in serie
a1
b1
r1
s1
r2
a2
b2
r2
s2
r3
a0
b0
0
s0
r1
Q D
Riportoinizialmente
a “zero”
Frequenza e faseuguali a quelledei bit seriali.
T 0 R + FA + SU
FA
a
b
r
s
R
Addendi in serie Somma in seriet t
Esercizio 7.1
Sia EN un “flag” che segnala la presenza in ingresso al full-adder di bit significativi dei due operandi A e B.
a0 a3 an-1a1 a2
b0 b3 bn-1b1 b2
EN
A
B
Come occorre impiegarlo per avere una corretta esecuzione dellasomma e per disporre di un flag di validità dei bit sull’uscita s ?
7.2Sintesi & Analisi
Il procedimento di sintesi
Il procedimento di sintesi di una rete sequenziale sincronaè formato da 4 passi e consente di dedurne lo schema logico dal comportamento:1: individuazione del grafo degli stati,2: definizione della tabella di flusso,3: codifica degli stati e definizione della tabella delle transizioni,4: sintesi della parte combinatoria e retroazioni con flip-flop.
I° esempio: il riconoscitore di sequenza
Una rete sequenziale sincrona ha un ingresso x ed una uscita z.La relazione ingresso/uscita è descritta dalla seguente frase:
“zn = 1 quando xn = 1 e solo se xn-2 = xn-1 = 1 ”
1x 0 1z 0
N.B. - Reti che classificano stringhe di valori di ingresso consecutivisono usualmente dette “riconoscitori di sequenze”.
1,1
I° esempio: il grafo degli stati
A
x, z0,0
1,0
1,1D
1,0C
0,0
M1
•Si completa il grafo, prendendo in considerazione tutte le altrepossibili situazioni e curando di renderlo “strettamente connesso” (ogni stato deve poter essere raggiunto da ogni altro).
•Si traccia la parte di grafo che riconosce la sequenza assegnata, specificando su ogni ramo il valore d’uscita (durata T0).
I° esempio: macchine equivalenti
Macchine equivalenti - Sono dette equivalenti macchine sequenziali che presentano uno stesso comportamento impiegando un diverso numero di stati: M1 = M2 = M3. La macchina che ha il più piccolo insieme di stati è detta “minima”(M2).
1,1
a
x, z0,0
1,0 b 1,0 c
0,0
M21,1
x, z0,0
1,0 1,0
0,0
0,01,00,0
M3
I° esempio: tabella di flusso di M1
xstato 0 1 A A,0 B,0 B A,0 C,0 C A,0 D,1 D A,0 D,1
N.B. In una rete sequenziale sincrona ogni stato resta presente peralmeno un periodo di clock, ogni cambiamento di ingresso avvieneall’inizio di tali intervalli ed ogni transizione si verifica al termine.La stabilità dello stato presente non è una condizione necessaria perla variazione di ingresso. E’ proprio la assenza di questo vincolo che consente di specificare comportamenti di tipo 2 o di tipo 3.
Codifica degli stati - In una rete sequenziale sincrona la codificadegli stati è arbitraria (2n M, naturalmente!). Il campionamentoa regime dei segnali di stato elimina infatti a priori il problema di errate interpretazioni causate dal loro iniziale disallineamento.
I° esempio: codifica degli stati
xn
y1ny2
n 0 1 A: 00 00,0 10,0 B: 10 00,0 11,0 C: 11 00,0 01,1 D: 01 00,0 01,1
y1n+1 y2
n+1, zn
I° esempio: sintesi della rete di aggiornamento dello stato
Funzioni di eccitazione - Funzioni dello stato e dell’ingresso che specificano i valori da attribuire ai segnali di comando di ciascun flip-flop.
La funzione di eccitazione del flip-flop di tipo D coincide con la funzione della variabile di stato futuro.
Le funzioni di eccitazione del flip-flop di tipo JK vanno opportunamente dedotte da quella della variabile di stato futuro.
Dn = Qn+1
Qn+1 Qn Jn Kn
0 0 0 - 1 1 - 01 0 1 - 0 1 - 1
I° esempio: sintesi di M1 con flip-flop D
D1 = y1n+1 = x.y2’ D2 = y2
n+1 = x.y2 + x.y1 z = x.y2
Ipotesi: si cercano reti minime di tipo SP
Copertura delle funzioni di eccitazione - Il campionamento a regime dei segnali di stato elimina a priori il pericolo di aleestatiche e dinamiche.
0
1
00 01 11 10xy1y2
0 0 0 0
1 0 0 1
0
1
00 01 11 10xy1y2
0 0 0 0
0 1 1 1
0
1
00 01 11 10xy1y2
0 0 0 0
0 1 1 0
y1n+1 y2
n+1 zn
Grafo e tabella di flusso di M3
xstato 0 1
1,1
x, z0,0
1,0 1,0
0,0
0,01,00,0
Codifica e tabella delle transizioni di M3
xn
Q1nQ2
n 0 1
Q1n+1 Q2
n+1 , zn
Sintesi di M3 con flip-flop D
0
1
00 01 11 10xQ1Q2
0 0 0 0
1 1 1 1
0
1
00 01 11 10xQ1Q2
0 0 1 1
0 0 1 1
0
1
00 01 11 10xQ1Q2
0 0 0 0
0 0 1 0
D1n
= Q1n+1 = xn D2
n = Q2n+1 = Q1
n zn = xn. Q1n.Q2
n
Ipotesi: reti minime di tipo SP
D1 Q1 D2 Q2
z
x
ck
Verifica del comportamento:Q1
n+1 = xn
Q2 n+1 = Q1
n = xn-1
z n = (x. Q1. Q2)
n = xn . xn-1. xn-2
Complessità
Complessità di una rete sequenziale sincrona - Se si assumonocome componenti primitivi i gate ed i flip-flop e se si assumecome indice di complessità il n° di componenti, la complessità della realizzazione di un certo comportamento dipende: • dal tipo di grafo con cui lo si è descritto,• dalla codifica adottata per gli stati interni, • dal tipo di flip-flop impiegato sulle retroazioni.
M1 2 D 4 M3 2 D 1
grafo n° flip-flop tipo di flip-flop n° di gate
Esercizio 7.2
Una rete sequenziale sincrona programmabile deve riconoscere, generando un impulso di durata T0 sulla sua uscita z, il verificarsi di un fronte sul suo ingresso x.La rete è dotata di due bit di programmazione p1 e p2. Predisponendo p1=1, p2 =0, la rete deve generare un impulso per ogni fronte di salita di x. Con p1=0, p2 =1, la rete deve generare un impulso per ogni fronte di discesa di x. Con p1=1, p2 =1, l’attivazione temporanea dell’uscita deve verificarsiin corrispondenza sia dei fronti di salita, che di discesa.Progettare la rete ipotizzando che la configurazione p1=0, p2 =0 siavietata.
II° esempio: il semaforo (1)
t
u(t) = P(t)
colore
Specifiche: rosso = 60 sec. giallo = 20 sec. verde = 60 sec.
Ipotesi:T0 = 20 sec.
T0 T1
20 sec.
T2
20 sec.
T3
20 sec.
T5
20 sec.
T4
20 sec.
T6
20 sec.
20 sec.
II° esempio: codifica e funzioni
I 7 stati possono essere codificati con i primi 7 numeri binari.
y1 y2 y3
T0 0 0 0 T1 0 0 1 T2 0 1 0 T3 0 1 1 T4 1 0 0 T5 1 0 1 T6 1 1 0
z1 z2 z3
verde 1 0 0 giallo 0 1 0 rosso 0 0 1
Funzionedi uscita
sn un
0 0 0 1 0 00 0 1 1 0 00 1 0 1 0 00 1 1 0 1 01 0 0 0 0 11 0 1 0 0 11 1 0 0 0 1
sn sn+1
0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 0 0 0
Funzionedi stato
II° esempio: sintesi con ff D e reti minime SP
(y1 y2 y3) n (y1 y2 y3)
n+1 (z1 z2 z3) n
0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1
0 0 0 1 01 1 1 - 0y1
n+1 = (y1 y2’ + y2 y3) n
00 01 11 10y1 n
y2 ny3
n
0 0 1 0 11 0 1 - 0y2
n+1= (y3 y2’ + y1’ y2 y3’) n
00 01 11 10y1 n
y2 ny3
n
0 1 0 0 11 1 0 - 0y3
n+1= (y2’ y3’ + y1’ y3’) n
00 01 11 10y1 n
y2 ny3
n
0 1 1 0 11 0 0 - 0z1
n = (y1’ y2’ + y1’ y3’) n
00 01 11 10y1 n
y2 ny3
n
0 0 0 1 01 0 0 - 0z2
n = (y2 y3 )n
00 01 11 10y1 n
y2 ny3
n
0 0 0 0 01 1 1 - 1z3
n = (y1) n
00 01 11 10y1 n
y2 ny3
n
Esercizio 7.3
Facendo riferimento al II° esempio di sintesi 1 - progettare i segnali di comando per le lampade di entrambe le direttrici di marcia assumendo di avere a disposizione un DECODER 3:8
III° esempio: conteggio di eventi
La rete sequenziale sincrona di figura deve contare modulo due gli intervalli di tempo in cui si verifica x = 0. Il risultato del conteggio appare su z e viene aggiornato solo al termine di ogni intervallo in cui non si è contato (x = 1). I valori z = 0 e z = 1 indicano rispettivamente che la rete ha visto un numero “pari” ed un numero “dispari” di intervalli con x = 0.
R.S.Sx zck
x
z
III° esempio: grafo degli stati
1,1
d
1,0
a
0,0
0,0
b c0,0
1,0
1,0
0,1
0,1
e f
1,1
0,1
1,1
III° esempio: macchina minima
xstato 0 1 a b,0 a,0 b c,0 d,0 c b,0 a,0 d e,1 d,1 e f,1 a,1 f e,1 d,1
Stati indistinguibili - Sono detti indistinguibili stati a partire dai quali il comportamento della macchina è identico per qualsiasi sequenza di ingresso (esempio: a c, d f).
Sostituendo una “classe” di stati indistinguibili con un unico stato si ottiene una macchina equivalente a quella considerata.
xstato 0 1 a b,0 a,0 b a,0 d,0 d e,1 d,1 e d,1 a,1
a = {a,c}
d = {d,f}
Quarto esempio: contatore BCD con ingresso di enable e autoinizializzazione in max 2 clock
0
0
1
0
1
2
0
1
3
01
4
01
5
01
6
0 17
0
1
8
0
1
9
0
1
15
0
14
01 1
13
0
12
01 1
11
0
10
011
1
Contatore BCDcon ENABLE
e conautoinizializzazione
tabella delle transizioni X
QD QC QB QA 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
QDn+1 QC
n+1 QBn+1 QA
n+1
Per X = 1 eS = 0000, 0001, .., 1001si ha:(S)2
n+1 = (S+1)2n mod 10
Per X = 0 si ha(S)2
n+1 = (S)2n
Un ingresso di questo tipo è denominato comando di ENABLE.
Il procedimento di analisi
Il procedimento di analisi di una rete sequenziale sincronaè formato da 4 passi e consente di dedurne il comportamento dallo schema logico:1: analisi dei segnali di eccitazione di ciascun flip-flop,2: deduzione delle variabili di stato futuro,3: individuazione della tabella delle transizioni,4: tracciamento e studio del grafo degli stati.
espressioni dello stato futuro
Yn+1 = Dn
Tramite l’equazione caratteristica si passa dalle espressioni dellefunzioni di eccitazione a quelle delle variabili di stato futuro.
• Dunque, per ricavare la tabella delle transizioni di una RSS assegnata è sufficiente costruire le mappe associate alle espressioni di Dn
• Dalla tabella delle transizioni si ricava il grafo degli stati
Esempio: registro a scorrimento
D Q Q’
D Q Q’
D Q Q’
Q0
Q1
Q2
x
ck
Q0n+1 = x n
Q1n+1 = Q0
n
Q2n+1 = Q1
n
(Q2 Q1 Q0)n xn = 0 xn = 1
0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1
(Q2 Q1 Q0)n+1
Grafo degli stati
0
000
1
100 1101
1
111
1
011
0
0010
0
01 101010
110
1
0
0
Ogni stato è codificato dalla configurazione corrispondente agli ultimitre valori dell’ingresso. Ad ogni colpo di clock il bit in ingresso entrain Q0, il bit in Q0 “scorre” o “trasla” su Q1, il bit in Q1 su Q2
… e comportamento
APPLICAZIONI• linea di ritardo• riconoscitore di sequenze• convertitore serie/parallelo
D Q Q’
D Q Q’
D Q Q’
ck
x n-1x n x n-2 x n-3
Modulosequenziale
Modulosequenziale
ff gate ff gate
gate ff gate
gate ff
Modulosequenziale
Per fare macchine complesse,occorrono componenti complessi! M. de Lapalisse
Modulosequenziale
Modulosequenziale
Modulosequenziale
Progetto logico e famiglie logiche
7.3Il registro di stato
Il registro per lo stato interno
Retecombinatoria
1x1
xn
y1
yk
z1
zm
Y1
Yk
m
t1
tk
Q D
Q Df = 1/T0
Registro di stato o registro accumulatore - Insieme di flip-flop, azionati dallo stesso clock e singolarmente dotati di un ingresso e di una uscita.
L’applicazione tipica di questo circuito integrato è la realizzazione delle retroazioni di una rete logica sequenziale sincrona.
I comandi dell’accumulatore
Tre esigenze del registro accumulatore :1- inizializzazione,2- aggiornamento, 3- memorizzazione.
Retecombinat.
Registro
Una soluzione molto comoda: avere nel registro anche unaparte combinatoria in grado di interpretare due comandi.
WE RES esigenza descrizione - 1 1 R 0 1 0 2 R G(R,I) 0 0 3 R R
I comandi WE e RES (Registro con N ff D)
Per i = 0, 1, .., N-1Qi
n+1 = (RES’.(Ii WE + Qi . WE’))n
N.B. - Per il reset di un registrosi può anche usare il comando
asincrono CL dei suoi flip-flop.
WEn, In
RESn,Qn 00 01 11 10 00 0 0 1 0 01 1 1 1 0 11 0 0 0 0 10 0 0 0 0 Qn+1
Mux0 z1 A
Ii
WE RES’ CK
Di Qi
ALU e accumulatore
Q0 D0
Q1 D1
Q2 D2
Q3 D3
RES WE
ALU
operando
operando
risultato
operazione iniz./aggiorn./mem.
Esercizio 7.5
Modificare lo schema del contatore BCD al fine di disporre diun comando sincrono di RESET. In caso di contemporaneaattivazione del RESET e del ENABLE, deve prevalere il primo.
7.4Contatore
Il contatore binario x16
CI 4 Bita0 F. A.a1
a2 s0
a3 s1
b0 s2
b1 s3 b2 COb3
Q3 D3
Q2 D2
Q1 D1
Q0 D0
10000
(S)2n = (Q3 Q2 Q1 Q0)2
n
S+1 mod 16
s n sn+1
0000 00010001 00100010 00110011 01000100 01010101 01100110 01110111 10001000 10011001 10101010 10111011 11001100 11011101 11101110 11111111 0000
Forme d’onda
In un contatore binario, l’uscita Q del flip-flop che memorizzail bit di peso 2i è un’onda quadra con periodo doppio di quella presente sull’uscita Q del flip-flop che memorizza il bit di peso 2i-1 .Il primo flip-flop divide per due la frequenza del clock.
ck
Q0
Q1
Q2
Q3
Una rete più semplice per l’incremento
1
0 Q0
Q0 R
0
CI
ab
S
R
r
ab
S
R
0 Qi
Qi R
0
Periodo del clock e complessità della rete
D0 Q0
D1 Q1
D2 Q2
D3 Q3
1
CO = Q3. Q2. Q1. Q0
J0 Q0
K0
J1 Q1
K0
J2 Q2
K2
J3 Q3
K3
1
CO = Q3. Q2. Q1. Q0
T 0 r + 3.g + su T 0 r + 2.g + su
Esercizio 7.6
Progettare la cella i-esima di un contatore binario dotato di comando “up/down”. Quando U/D’ = 1, il contatore deve incrementare di una unità il numero binario che rappresenta il suo stato; quando il comando vale 0, il numero deve essere decrementato.
contatore COU/D’ binario x16 QA QB QC QD
Aumento della base di conteggio
EN contatore CORES binario x16QA QB QC QD
QD QC QB QA “15”
EN contatore CORES binario x16QA QB QC QD
EN contatore CORES binario x16QA QB QC QD
1
QA QB QC QD QE QF QG QH
contatore binario x256
Diminuzione della base di conteggio
EN contatore CORES binario x16QA QB QC QD
rete che riconoscela presenza del numero X
X-2
clock
stato
RESET
X-1 X 1
La nuova basedi conteggio è X + 1
0
Esempio: sintesi del RESET per ottenere base 11
QBn, QA
n
QDn,QC
n 00 01 11 10 00 01 11 10 RES n
0 0 0 00 0 0 0
0 0 - 1- - - -
QDQC QBQA
mintermine
QD QB
rete minima
QD QB QD QC
autoinizializzazionein un solo clock
I° esempio di sintesi con contatori
Una rete sequenziale sincrona ha un ingresso X che assume ilvalore 1 molto di rado e comunque sempre per un solo periododi clock. L’uscita Z deve sia ritardare l’impulso di ingresso diquattro unità di tempo, sia raddoppiarne la durata.
ck
X
Z
I° esempio: grafo degli stati
0,0 1,0 0,0 0,0 0,0 0,1
0,1
Il comportamento è quello di un contatore con base 6 che compieun intero ciclo per ogni evento X = 1
Per realizzarlo si può impiegare un contatore binario x8 dotato dicomandi di ENABLE e di RESET.
I° esempio: progetto di EN, RES, Z
stato X=0 X=1 Zriposo 000 000 001 0
001 010 --- 0010 011 --- 0011 100 --- 0100 101 --- 1101 000 --- 1110 --- --- -111 --- --- -
stato X=0 X=1000 0,0,0 1,0,0001 1,0,0 -,-,-010 1,0,0 -,-,-011 1,0,0 -,-,-100 1,0,1 -,-,-101 -,1,1 -,-,-110 -,-,- -,-,-111 -,-,- -,-,- EN, RES, Z
EN = X + (QC +QB +QA) = X + (QC’QB’QA’)’RES = QC QA
Z = QC
I° esempio: schema logico
EN contatoreRES binario x8QA QB QC
X
Z
II° esempio: orologio digitale
A partire da un oscillatore a 32.768 Hz progettare un orologio digitale in grado di visualizzare ore, minuti e secondi tramite sei display a 7 segmenti
Oscillatore
32.768 Hz
BIN x 32768
Q0……. Q14
(divisore di frequenza)
1 Hz
BCD x 60ENZ
Qi
(secondi)
BCD x 60ENZ
Qi
(minuti)
BCD x 24ENZ
Qi
(ore)
7 7 7
Trascodificada BCD
a 7 segmenti
Trascodificada BCD
a 7 segmenti
Trascodificada BCD
a 7 segmenti
4 4 4
1
7 7 7
Trascodificada BCD
a 7 segmenti
Trascodificada BCD
a 7 segmenti
Trascodificada BCD
a 7 segmenti
4 4 4
0
EN
II° esempio: il contatore dei minuti/secondi
BCD x 60
EN
Z
Qi
BCDRES
ZQA QB QC QD
(decine)EN
BCDRES
ZQA QB QC QD
(unità)EN
Z
Qi
BCD
RES
ZQA QB QC QD
EN
Z = QD• QA
“59”.EN
II° esempio: il contatore delle ore
Qi
BCD x 24
EN
Z
Qi
EN
“23”.EN
Z
BCDRES
ZQA QB QC QD
(unità)EN
BCDRES
QA QB QC QD
Z(decine)
EN
Esercizio 7.7
Ampliare il progetto dell’orologio con• il conteggio dei mesi,• il conteggio degli anni.
Come si può predisporre data e ora?
III° esempio: watch dog
Start
Dato X
ck
Stato 0 X X-1 2 1 0
Fine
X.T0
III° esempio: schema logico
IA IB IC ID LD contatoreEN binario ZU/D’ x16
QA QB QC QD
“15”.(U/D’) + “0”.(U/D’)’
X
Start
0
Fine
7.5Registro
a scorrimento
Shift register
Shift register o registro a scorrimento - Rete sequenziale sincronaformata da N flip-flop D disposti in cascata.
N-bit shift registerSI (serial input) (serial output) SOQ0 Q1 …………………………. QN-1
D Q Q’
D Q Q’
D Q Q’
ck
Universal shift register
APPLICAZIONI• linea di ritardo• convertitore S/P e P/S • conteggio• memoria a circolazione• rotazione verso destra/sinistra • moltiplicazione/divisione per 2i
0 MUX123 A0 A1
Qi
Qi-1
Qi+1
Ii
D Q Q’
Qi
A0n A1
n Qin+1
hold 0 0 Qin
right 1 0 Qi-1n
left 0 1 Qi+1n
load 1 1 Iin
Esempio: conteggio
N-bit shift registerSI (serial input) (serial output) SOQ0 Q1 …………………………. QN-1
N-bit shift registerSI (serial input) (serial output) SOQ0 Q1 …………………………. QN-1
Base: NCodice: 1 su N
Inizializzazione!
Base: 2NCodice: JohnsonInizializzazione!
Esempio: conversioni S/P e P/S
N-bit shift register A0 A1 SI (serial input) Q0 Q1 …………………………. QN-1
I0 I1 …………………………. IN-1
N-bit shift registerA0 A1 (serial output) SO
S/H’ 0
1 S’/L
S/P
P/S
7.6Buffer
Registro buffer
Applicazioni tipiche: • memorizzazione di un dato di ingresso di N bit, • memorizzazione di un dato di uscita di N bit.
Unitàfunzionale
X
Registro buffer (o a latch)- Insieme di N latch CD azionati dallo stesso comando e singolarmente dotati di un ingresso e di una uscita.
Buffer1
Ci: B1 X;
I U
Buffer2
Cu: B2 U;
Y
Il registro buffer wr
Q0
D0
Q1
D1
QN-1
DN-1
C Q
D
C Q
D
C Q
D
.. ed il BUS rd D0 D1 DN-1
Architettura e Registri buffer
Protocollo perl’uso del BUS
Processore
AR
DR Memoria principale
Cella
Unità di ingressoStato
Dato
Unità di uscitaStato
DatoDirect Memory Access
AR*
DR*
Esempio di accesso diretto:AR* memory address;DR* M(AR*);AR* I/O address;I/O(AR*) DR*;
Random Access Memory
Registro # 0
Registro # 1
Registro # 2n - 2
Registro # 2n - 1
Selet./
Distr.
Dato in• scrittura• lettura
Comando• WR (scrittura)• RD (lettura)
Indirizzo di n bitper scegliere il registro
.
.
.
N.B. Al posto del termine“registro” si usa di normail termine “cella”.
C Qj
D
Cella di indirizzo “i”
A0 A1 An-1 WR RD D 0 Dj DN-1
DEC
i
La RAM
I cicli di lettura e di scrittura
• Le celle di una RAM sono registri buffer• I bit di indirizzo, tramite il DEC, scelgono una cella alla volta• I comandi WR, RD stabiliscono se l’accesso è “in lettura” o “in scrittura”.
LETTURA SCRITTURAAddresssignals
RD
WR
Datasignals
tempo di accesso tempo di accesso
Decoder e Matrici di decodifica
C D “decodifica di colonna”
• Proprietà associativa del AND• Minimo (n°gate + n°ingressi)
A
B
“decodifica di riga”
Istruzioni a tre indirizzi
Opcode address address address
Indirizzodel
primooperando
Indirizzodel
secondooperando
Indirizzodel
risultato
ALU e RAM
ALU
B1
B2
RAM
Opcode address address address
1 2 3 RD WR1 2 3 MUX