Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate
Architettura degli elaboratori
Blocchi funzionali combinatori:
esercizi
Marco Tarini
Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it
Esercizio 1
Date 5 variabili booleane x4, x3, x2, x1, x0, e altre due variabili y0 ed y1, progettare il circuito che,
se y1,y0=0,0 , esegue x4 and x0, se y1,y0=0,1 , esegue x4 and x1, se y1,y0=1,0 , esegue x4 and x2, se y1,y0=1,1 , esegue x4 and x3
Osservazione: la sintesi del circuito a partire dalla tavola delle verità non è praticabile senza strumentazione adeguata
(la tavola ha 128 righe!)
Esercizi - Funzioni combinatorie
Architettura degli elaboratori - 4 -
Esercizio 1: soluzione 1
Realizziamo tutte le funzioni e selezioniamo con un MUX quella da mandare in uscita.
F
x0 x1 x2 x3 x4
I0 I1 I2 I3
S1S0
U y0 y1
Esercizio 1: soluzione 2
Poiché le funzioni possibili sono sempre del tipo x4 and un secondo ingresso
Possiamo selezionare l’ingresso con un MUX, mandarlo alla porta and e ottenere così il risultato.
x0
F
x1 x2 x3
I0 I1 I2 I3
S1S0
U y0 y1
Esercizi - Funzioni combinatorie
Architettura degli elaboratori - 6 -
Esercizio 2:
Progettare un circuito che conti il numero di 1 presenti su 12 ingressi Si possono usare i soli «full adder» (da un bit).
Ricordare:
un full adder prende tre bit (due addendi e un riporto ingresso) e restituisce due bit: somma e riporto in uscita
Contatore 12
I
4
O
L’uscita è un numero naturale da 0 a 12;
servono quindi 4 bit
Esercizio 2: Soluzione “divide et impera”
(anche detto approccio top-down)
Partizioniamo l’insieme degli ingressi in 2 insiemi da 6 ingressi ciascuno.
Contiamo gli uni di ciascun insieme (da 0 a 6: output da 3 bit) Sommiamo i due numeri da 3 bit ottenuti (servono 3 FA)
Contatore a 6 6 Contatore a 6
6
I
5..I
0I
11..I
63 3
SUM da 3 bit
Esercizi - Funzioni combinatorie
Architettura degli elaboratori - 8 -
Come è fatto al sui interno il sommatore da 3 bit?
Contatore
FA
FA FA
6 Contatore
6
O
3O
2O
1O
0I
5..I
0I
11..I
60
SUM da 3 bit
Come è fatto al suo interno un contatore a 6?
FA FA
I
5I
4I
3I
2I
1I
0Contatore a 6
SUM da 2 bit
3
2
2
Esercizi - Funzioni combinatorie
Architettura degli elaboratori - 10 -
Come sono fatti al loro interno i contatori a 6?
FA FA
FA FA
I
5I
4I
3I
2I
1I
0O
2O
1O
00
Contatore a 6
sommatore a 2 bit
In totale, quanti Full Adder servono?
Per un contatore di 12 bit abbiamo usato due contatori di 6 bit
ciascuno dei quali usa:
– un FA per contare i primi tre bit – un FA per contare i secondi tre bit
– un sommatore da 2 bit per sommare i due risultati (numero di 2 bit + numero di 2 bit = numero di 3 bit)
…che a sua volta usa 2 FA
e un sommatore di 3 bit per sommare i due risultati numero di 3 bit + numero di 3 bit = numero di 4 bit che usa 3 FA
TOTALE: 2 x (1+1+2) + 3 = 11 FA