Sei sulla pagina 1di 29

Principi di architetture dei

calcolatori: richiami di reti logiche –


esercizi
Mariagiovanna Sami
Reti combinatorie
Si ricorda:
 Il funzionamento di una rete combinatoria è
completamente descritto dalla relazione ingressi-
uscite, esprimibile mediante una tabella delle
verità;
 In fase di analisi, da un circuito si deducono
l’espressione logica che il circuito implementa e da
questa la tabella delle verità;
 In fase di sintesi, dalla descrizione a parole del
comportamento si deduce la tabella delle verità e
da questa un’espressione logica e il corrispondente
circuito.
14/03/13 -2-
Reti combinatorie: analisi

a
b f

!b
c

f=(ab)+(!bc)

14/03/13 -3-
Reti combinatorie: analisi

f=(ab)+(!bc) a b c F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

14/03/13 -4-
Reti combinatorie: sintesi

Specifica “informale”: descrizione a parole del
comportamento: es.:
 Circuito combinatorio a tre ingressi a, b, c e
un’uscita F, che esprime un “voto di maggioranza”:
F vale 1 se almeno due degli ingressi valgono 1,
vale 0 in tutti gli altri casi.
 Dalla descrizione si ricava la tabella delle verità:

14/03/13 -5-
Reti combinatorie: sintesi
a b c F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

14/03/13 -6-
Reti combinatorie: sintesi

Sintesi più immediata: somma di prodotti – per
ogni riga della tabella delle verità in cui l’uscita
vale 1 si inserisce il prodotto logico delle variabili
di ingresso in forma naturale se nella riga
compaiono col valore 1, in forma negata se nella
riga compaiono col valore 0;
 La funzione è la somma logica di tutti i prodotti
logici così costruiti.
 Nell’esempio:
 F = !abc + a!bc + ab!c + abc

14/03/13 -7-
Reti combinatorie: il
multiplexer
Si ricorda: dispositivo con:
 Un’uscita z;

 k ingressi di selezione S …S (k≥1);


0 k-1

 n ingressi di dati D0…Dn-1(n≤2k-1);


 Data una configurazione C degli ingressi di
selezione, sull’uscita si trasferisce il valore
presente sull’ingresso di dati con numero d’ordine
C.


Di norma, parlando di “multiplexer con P ingressi”
si fa riferimnto al numero degli ingressi di dati.
14/03/13 -8-
Reti combinatorie: il
multiplexer

Dato un multiplexer con P ingressi, come
realizzarne uno con un numero maggiore di
ingressi?
 Es.: disponendo di multiplexer a due ingressi,
realizzarne uno a quattro.
 Si parte dalle due tabelle delle verità:
– Multiplexer a due ingressi: S ingresso di selezione, D 0, D1
ingressi di dati
– Multiplexer a quattro ingressi: S1, S0 ingressi di selezione,
D0, D1, D2, D3 ingressi di dati

14/03/13 -9-
Reti combinatorie: il
multiplexer
S D0 D1 F
0 0 X 0 D0

MUX
0 1 X 1 F
D1
1 X 0 0
S
1 X 1 1

14/03/13 - 10 -
Reti combinatorie: il
multiplexer
 Tabella delle verità del S1 S0 D0 D1 D2 D3 F
Mux a quattro 0 0 0 X X X 0
ingressi ;
0 0 1 X X X 1
 La metà superiore
0 1 X 0 X X 0
rappresenta i casi in
cui S1 = 0, la metà 0 1 X 1 X X 1
inferiore quelli in cui 1 0 X X 0 X 0
S1=1 1 0 X X 1 X 1
1 1 X X X 0 0
1 1 X X X 1 1

14/03/13 - 11 -
Reti combinatorie: il
multiplexer

S S0 D D D D F
F0

MUX
1 0 1 2 3

0 0 0 X X X 0 F
F1
0 0 1 X X X 1 F0
0 1 X 0 X X 0 S1
0 1 X 1 X X 1
1 0 X X 0 X 0
1 0 X X 1 X 1 F1
1 1 X X X 0 0
1 1 X X X 1 1

14/03/13 - 12 -
Reti combinatorie: il
multiplexer
Ora si nota che:
D0
 Per S =0, F coincide

MUX
0 0
col dato D0; per S0=1, F0 D1 F0
coincide col dato D1; S0

MUX
F
 Per S0=0, F1 coincide
col dato D2; per S0=1, F1 D2 F1 S1

MUX
coincide col dato D3;
D3
S0

14/03/13 - 13 -
Reti combinatorie: il
multiplexer
 Più in genere, si passa da n a 2*n ingressi con
un “albero” di multiplexer; gli ingressi di
selezione vengono applicati dal più
significativo (applicato al Mux di uscita) fino al
meno significativo (applicato in parallelo a tutti F
i Mux agli ingressi).
 I Mux possono anche essere utilizzati per

sintetizzare una generica funzione


combinatoria: nel modo più elementare, si
applicano agli ingressi di selezione le variabili
di ingresso e agli ingressi dati i valori associati
alle corrispondenti righe nella tabella delle
verità.
14/03/13 - 14 -
Reti combinatorie: il
multiplexer a b c
a b c F
0 S2 S1 S0
0 0 0 0
0 0 1 0 0
0
0 1 0 0
1
0 1 1 1
1 0 0 0 0 F

1
1 0 1 1
1
1 1 0 1 1
1 1 1 1

14/03/13 - 15 -
Reti combinatorie: il
decodificatore

Si ricorda: il decodificatore ha:
– n ≥ 1 ingressi
– 2n ≥ 2 uscite
 Le uscite sono numerate a partire da 0: k = 0, 1, 2,
…, 2n − 1
 Se sugli ingressi è presente il numero binario k, la
k-esima uscita assume il valore 1 e le restanti
uscite assumono il valore 0
 Dato un decodificatore a k ingressi, come
costruirne uno con k+1 ingressi?

14/03/13 - 16 -
Reti combinatorie: il
decodificatore

Anche qui, si parte dalla
# riga I1 I0 U0 U1 U2 U3
tabella delle verità: si parta
da un decodificatore a due 0 0 0 1 0 0 0
ingressi: 1 0 1 0 1 0 0

Passando a tre ingressi I2, 2 1 0 0 0 1 0
I1, I0, si ha una tabella delle
verità di otto righe con otto 3 1 1 0 0 0 1
uscite U0…U7.

Decodificatore a due
ingressi
U0 = !I1 !I0; U1 = !I1 I0
U2 = I1 !I0; U3 = I1 I0

14/03/13 - 17 -
Reti combinatorie: il
decodificatore
I1 I2 I3 U0 U1 U2 U3 U4 U5 U6 U7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1

14/03/13 - 18 -
Reti combinatorie: il
decodificatore
Si nota che:
 Quando I1=0, le prime quattro righe effettuano

una decodifica sugli altri due ingressi;


 Lo stesso vale per le altre quattro righe quando

I1=1;
 Si ralizza un decodificatore a tre ingressi partendo

da un decodificatore a due ingressi ai quali si


applicano gli ingressi I2 e I3

14/03/13 - 19 -
Reti combinatorie: il
decodificatore
!I2*!I3
!I1*!I2*!I3

I2*!I3
I1*!I2*!I3

I2 !I1*!I2*I3
I2*I3
I1*!I2*I3

!I1*I2*!I3
I3
I1*I2*!I3

I1*I2*I3

I1*I2*I3

I1
14/03/13 - 20 -
Reti combinatorie: il
decodificatore
!a!b!c! !a!b!cd
d

!I1*!I2*!I3

a E ora, da un
decodificatore
a k ingressi a
uno con 2k
b ingressi…

c d
14/03/13 - 21 -
Reti sequenziali: shift
register
 Si supponga di usare latch (“trasparenti”)
Dato Q Q Q Q
D D D D
Latch D1 Latch D2 Latch D3 Latch D4
Q’ Q’ Q’ Q’
C
C C
Dato Dato
Q1 Q1
Q2 Q2
Q3 Q3
Q4 Q4
τ τ τ τ’ τ’
τ: Ritardo di propagazione τ’> τ: Ritardo di propagazione

– Il registro non produce una singola traslazione di un bit


(non rispetta le specifiche)
– Il risultato dipende sia dal ritardo di propagazione dei
latch, sia dalla durata del valore alto su C.
14/03/13 - 22 -
Reti sequenziali: shift
register
 Usando bistabili Master-Slave il problema si
supera:
– Sul fronte di salita dell’impulso di clock il valore che deve
scorrere viene caricato nella sezione Master di ogni
bistabile; la sezione Slave è isolata, lo stato precedente
rimane immutato;
– Sul fronte di discesa dell’impulso di clock la sezione
Master viene isolata e resta allo stato in cui si è portata, la
sezione Slave è abilitata al passaggio di stato (e al
trasferimento del nuovo valore).
– Es: registro di due bit: stato iniziale 01

14/03/13 - 23 -
Reti sequenziali: shift
1 0
register 0 1 1
Dato Q Q Q Q
D D D D
Master 1 Slave 1 Master 2 Slave 2
Q’ Q’ Q’ Q’
C

clock
clock
dato

QM1

QSl1

QM2

QSl2

14/03/13 - 24 -
Reti sequenziali:
contatori
 Esempio: contatore per una cifra decimale codificata in
codice BCD
Q8 Q4 Q2 Q1 Q8* Q4* Q2* Q1*
0 0 0 0 0 0 0 1
Stato presente

0 0 0 1 0 0 1 0

Stato prossimo
0 0 1 0 0 0 1 1
0 0 1 1 0 1 0 0
0 1 0 0 0 1 0 1
0 1 0 1 0 1 1 0
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1
1 0 0 1 0 0 0 0
14/03/13 - 25 -
Reti sequenziali:
contatori

Per ogni configurazione dello stato presente si
conosce che valore dovrà assumere lo stato di ogni
flip-flop quindi (bistabili DT!) quale valore dovrà
avere l’ingresso D del bistabile stesso;
 Si sintetizzano quindi le quattro funzioni
D8(Q8,Q4,Q2,Q1), D4(Q8,Q4,Q2,Q1),
D2(Q8,Q4,Q2,Q1), D1(Q8,Q4,Q2,Q1). Ad esempio:
– Lo stato prossimo del bistabile in posizione 1 vale 1 ogni
volta che lo stato presente dello stesso vale 0, quindi
D1=!Q1
– Lo stato prossimo del bistabile in posizione 8 vale 1
quando la configurazione presente è 0111 oppure 1000,
quindi D8=!Q8*Q4*Q2*Q1 + Q8*!Q4*!Q2*!Q1
14/03/13 - 26 -
Reti sequenziali: analisi
Y1 y1
È dato un semplice x
circuito D Q
sequenziale:
(si sottintende il
clock).
Con un proceso di
analisi Y2 y2
z
combinatoria, si D Q
ricavano le tre
espressioni:
Y1=!xy2
Y2=y1y2
Z = xy1y2

14/03/13 - 27 -
Reti sequenziali: analisi
0 1
Dalle espressioni si x
y1,y2
ricava immediatamente
la tabella degli stati: 00 00,0 00,0
ogni riga rappresenta
uno stato presente, a 01 10,0 00,0
ogni colonna è 11 11,0 01,1
associata una
configurazione degli 10 00,0 00,0
ingressi primari, in ogni
casella si riportano lo Y1,Y2,z
stato prossimo
(configurazione delle
variabili Y1Y12) e
l’uscita.
14/03/13 - 28 -
Reti sequenziali: analisi
0,0
Dalla tabella si ricava il
1,0 1,0
diagramma degli stati:

00 01

0,0

1,1 1,0 0,0

11 10
0,0

14/03/13 - 29 -