Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2011-2012
Macchine combinatorie
Lezione 10
Sintesi
Data la descrizione del COMPORTAMENTO (cosa deve fare)
Circuiti sequenziali
Il valore delle uscite in un determinato istante dipende sia dal valore degli ingressi in quell istante sia dal valore degli ingressi in istanti precedenti Per definire il comportamento di un circuito sequenziale necessario tenere conto della storia passata degli ingressi del circuito
La definizione di circuito sequenziale implica due concetti: Il concetto di tempo Il concetto di stato
Macchine combinatorie
Reti logiche con n ingressi x1, x2, , xn e m uscite y1, y2, , ym che realizzano la corrispondenza: y1 = f1(x1, x2, , xn) ...... ym = fm(x1, x2, , xn) x1 y1
xn
ym
x: pulsante y: suoneria
Premuto Rilasciato Suono Nessun suono
y = f(x)
Macchine combinatorie
Una macchina combinatoria una rete logica con n ingressi (x1, x2, , xn) ed m uscite (y1, y2, , ym) ed tale che ad ogni insieme di valori degli ingressi corrisponde un preciso insieme di valori delle uscite Il comportamento di una rete combinatoria nxm pu essere descritto tramite:
una tabella di verit in cui viene specificato il valore dell uscita per ognuna delle possibili combinazioni dei valori degli ingressi m funzioni booleane, una per ogni uscita, ciascuna delle quali esprime il valore della corrispondente variabile di uscita in funzione delle n variabili di ingresso
b)
Il Tempo di risposta
Il Tempo di risposta di una macchina il ritardo d=tf ti con il quale una variazione sull ingresso seguita da una variazione sull uscita
1 0 1 0
X1 X2 y
Macchine combinatorie
In una macchina combinatoria i valori delle uscite dipendono esclusivamente dai valori degli ingressi macchina combinatoria ideale: tale dipendenza istantanea macchina combinatoria reale: presenza di ritardo tra l istante in cui c una variazione in uno degli ingressi e l istante in cui l effetto di questa variazione si manifesta sulle uscite E importante notare come ciascuna yi pu essere decomposta in funzioni componenti due distinte yi possono contenere una identica funzione componente Ci comporta, ad esempio, una potenziale diminuzione di porte elementari rispetto ad una realizzazione indipendente delle yi
Decodificatore (decoder) 1 su m
Un decodificatore una macchina che riceve in ingresso una parola codice (C) su n bit e presenta in uscita la sua rappresentazione decodificata (linee U0, UN-1) su m=2n bit
Co Cn-1 Um-1 U0
Decoder 2 su 4
U0 = B . A U 1 = B. A U2 = B . A U3 = B . A A B
0 0 1 1
0 1 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Decoder 2 su 4
A 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 U0 U1 U2 U3 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 A,B ingressi segnale di abilitazione U0,U3 uscite
A B
DEC 2:4
U0 U1 U2 U3
1 C D
A B
Encoder o codificatore
Un codificatore riceve in ingresso una rappresentazione decodificata (linee x0, xm-1) e fornisce in uscita una rappresentazione con un codice a lunghezza fissa di n bit L uscita la parola codice associata a xi x0 se xi=1 zo ed =1 (abilitazione) Vincolo su ingressi: xi xj = 0 per ij zm-1 xN-1
Codificatore a 4 ingressi
Codificatore 8-4-2-1
z3= x8+x9 z2= x4+x5+ x6+x7 z1= x2+x3+ x6+x7 z0= x1+x3+ x5+x7+x9
cifra X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 0 1 2 3 4 5 6 7 8 9 8-4-2-1 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Arbitro di priorit
q Un codificatore pu essere preceduto da una rete a priorit che, in caso di pi ingressi contemporaneamente alti, filtra quello con priorit assegnata maggiore Rete a priorit n ingressi Xi n uscite corrispondenti Fi, che rappresentano gli ingressi del codificatore fra gli ingressi definita una priorit, ad esempio:
per fissare le idee Xi prioritario su Xj se i < j
F1 = X 1 F2 = X 2 X 1 Fn = X n X n 1 X 1
L'uscita Yi alta se e solo se Xi alto e tutti gli altri ingressi prioritari su Xi sono bassi.
Multiplexer lineare
Un Multiplexer lineare (ML) una macchina con:
n ingressi-dati (A0,,An-1) n segnali binari di selezione (0,, n-1), dei quali al pi uno attivo una uscita-dati B, che assume valore Ai se attivo i neutro se nessuna delle selezioni attiva
A0 An-1
MUXL
utilizzata quando pi linee devono essere convogliate verso un unica linea di uscita (bus)
n-1
Realizzazione II
A S 0 0 1 1 Uscita 0 z 1 0 0 z 1 1 Con porte 3-state
S=1, restituisce il valore di A S=0, restituisce un alta impedenza (apre il circuito)
Multiplexer (indirizzabile)
Multiplexer Lineare i cui segnali di abilitazione sono collegati con le uscite di un decodificatore
A0 MUX AN-1 0 N-1 B
Demultiplexer lineare
Un Demultiplexer Lineare una macchina con:
1 ingresso-dati B n segnali binari di selezione (0, , n-1), dei quali al pi uno attivo n uscite-dati (A0,,An-1), B con
Ai=B se attivo i neutro se nessuna delle selezioni attiva
A0
DMUXL A n-1
n-1
Demultiplexer (indirizzabile)
Demultiplexer Lineare i cui segnali di abilitazione sono collegati con le uscite di un decodificatore
A0 B DEMUX AN-1 0 N-1
Multiplexer binario
Se i dati Ai e B sono vettori di bit, che viaggiano su un bus si parla genericamente di multiplexer o demultiplexer Se i dati Ai e B sono singoli bit si parla di multiplexer o demultiplexer binario
A0 An-1 0 n-1 MUXL B
A0 An-1
MUXL
n1
Muxl/Dmuxl: un esempio
Supponiamo di avere un centralino telefonico in cui n utenti sorgente vogliono parlare con m utenti destinazione vincolo: l utente di destinazione abilitato deve sentire solo l utente sorgente abilitato A0 A1 B0 B1
An-1
MUXL
DMUXL
Bm-1
0 1 0.. 0
0 0 0..0 1
Half Adder
r S
r R
Addizionatore binario
E possibile isolare il fattore (a b) Rielaborando le precedenti espressioni quindi possibile ottenere le seguenti espressioni per l addizionatore completo:
S = ( a b) r = H r R = ab + r (a b) = G + rH
Addizionatore binario
Pertanto, un addizionatore completo pu essere ottenuto a partire da due semiaddizionatori:
S = ( a b) r = H r R = a b + r ( a b) = G + r H
a b G=ab HA H=ab Hr r HA S = H r R= G + Hr
Addizionatore binario
Per il semiaddizionatore valgono le eguaglianze
H = a b = d (a, b) = ab + ab
G = a b
Addizionatori binari
non-riporto
ni = ri
Ki = ai bi
Riporto killed Indica che, indipendentemente dalla presenza di un riporto entrante, il riporto in uscita sar comunque zero Propagazione del non-riporto Indica assenza di riporto in uscita
Ni = Ki + Pi ni
Addizionatori seriali
Usa un unico addizionatore operante sulla singola cifra Opera in momenti successivi su cifre diverse degli addendi Richiede un blocco con memoria E lento rispetto ad addizionatori che lavorano in parallelo sulle diverse cifre degli addendi
X r
i i
Add
mod
- b
S
i
n-1
r1
R 0 =c
Add
Add
Add
mod - b
mod - b
mod - b
R
C= R
n-1
S n-1
n-2
S1
S0
Porte di parola
Porte con abilitazione: B=A = AND A Parola: Vettore di bit V = {vo, v1, , vn} Porta di parola con abiitazione: V = { vo,, vn} Porta generica di parola: A AND B = = {a0 AND b0,, an AND bn}