Università degli Studi dell’Insubria Corso di Laurea in Informatica
Architettura degli elaboratori
Blocchi funzionali combinatori
Marco Tarini
Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it
Blocchi funzionali combinatori
Coi metodi visti fin’ora (che usano la tavola di verità o le mappe di Karnaugh) possiamo fare solo reti piccole, con pochi input.
La realizzazione di moderni circuiti integrati richiede la sintesi di reti molto più grande
Idea: combinare reti piccole in reti più grandi sotto rete piccola = blocco funzionale
Nel tempo, si è stabilita una “libreria” di blocchi funzionali standard che realizzano funzioni comuni,
cioè che risultano utili in contesti diversi.
Esiste dunque una ben nota e ormai stabilizzata libreria di blocchi funzionali combinatori
Questo include anche blocchi funzionali di tipo sequenziale
Blocchi funzionali combinatori
Architettura degli elaboratori - 3 -
Decoder (decodificatore)
Il blocco funzionale decodificatore ha:
n 1 ingressi 2nuscite
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
Decoder a 2 ingressi
U0 U1 U2 U3 I0
I1 DEC 1
0 0
0
0 1
Codifica binaria del numero 2
L’uscita 2 è attivata
Blocchi funzionali combinatori
Architettura degli elaboratori - 5 -
Decoder a 2 ingressi
Tabella delle verità I1 I0 U0 U1 U2 U3
0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1
U0 U1 U2 U3 I1
I0 DEC
Decoder a 2 ingressi: realizzazione
U0 U1 U2
U0 U1 U2 U3 I0
I1 DEC
Blocchi funzionali combinatori
Architettura degli elaboratori - 8 -
Livelli di astrazione intermedi
U0 U1 U2 U3 I0 I1
DEC
I0 I1
U0 U1 U2 U3
descrizione a livello di astrazione
più basso descrizione
a livello di astrazione
più alto
Livelli di astrazione intermedi:
anche per i cavi
descrizione a livello di astrazione
più basso descrizione
a livello di astrazione
più alto
Circutio X
(5 ingressi 3 uscite)
Circutio X
(5 ingressi 3 uscite)
5 3
Blocchi funzionali combinatori
Architettura degli elaboratori - 10 -
Livelli di astrazione intermedi:
anche per i cavi
X X
3
2 5 4
3
rappresenta:
Multiplexer (multiplatore)
Il blocco funzionale multiplatore ha 2 gruppi di ingressi:
n 1 ingressi di selezione 2ningressi dati
almeno due, poiché n non può essere nullo e un’uscita
Sempre unica
Gli ingressi dati sono numerati a partire da 0 k = 0, 1, 2, …, 2n 1
Se sugli ingressi di selezione è presente il numero binario k, il k-esimo ingresso dati viene inviato in uscita
Blocchi funzionali combinatori
Architettura degli elaboratori - 12 -
Multiplexer a 2 ingressi di selezione
I0 I1 I2 I3
S1 S0
U A
B C D
0 1
B Ingressi
Dati
Uscita Ingressi di selezione
MUX
Multiplexer a 2 ingressi di selezione
Tabella delle verità
I0 I1 I2 I3
S1 S0
U A
B C D
S1 S0 I0 I1 I2 I3 U 0 0 A X X X A 0 1 X B X X B 1 0 X X C X C 1 1 X X X D D MUX
Blocchi funzionali combinatori
Architettura degli elaboratori - 14 -
Multiplexer a 2 ingressi di selezione:
realizzazione
DEC S0
S1
A B
C
D
U
Multiplexer a 2 ingressi di selezione:
realizzazione alternativa
S0 S1
A
B
C
D
U
Blocchi funzionali combinatori
Architettura degli elaboratori - 16 -
Il Multiplexer a un ingresso di selezione è l’ “if” dell’hardware
I0
I1 S0
U A
B
MUX
if S0
then U = B else U = A
Il Multiplexer a k ingressi di selezione (e ingressi dati a n bit)
I0 I1
S
U A0
MUX k n
A1 n
IM
AM n
.. . .. .
n AB
sono M = 2
k– 1
B
Il Multiplexer a un ingresso di selezione è l’ “if” dell’hardware
Software
if A>B then C=A else C=B
Hardware
Blocchi funzionali combinatori
Architettura degli elaboratori - 18 -
A B
0
1
C
A>B
n n
n n
n 1
Il Multiplexer a un ingresso di selezione è l’ “if” dell’hardware
Software
if A>B
then C=g(X) else C=f(X)
Hardware
A B
0
1
C
A>B
X f
n
g
k k
1
m m
m Entrambe le funzioni
sono calcolate, ma