Marco Tarini - Università dell'Insubria A.A. 2016/17 Architettura degli elaboratori - Circuiti combinatori - esercizi 1 Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Circuiti combinatori: esercizi Marco Tarini Dipartimento di Scienze Teoriche e Applicate Esercizi - Livello logico Architettura degli elaboratori -2- Esercizio 1 Compilare la tabella di verità del seguente schema circuitale Costruire un circuito equivalente di costo minimo
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 1
Università degli Studi dell’InsubriaDipartimento di Scienze Teoriche e Applicate
Architettura degli elaboratori
Circuiti combinatori: esercizi
Marco TariniDipartimento di Scienze Teoriche e Applicate
Esercizi - Livello logicoArchitettura degli elaboratori - 2 -
Esercizio 1Compilare la tabella di verità del seguente schema circuitaleCostruire un circuito equivalente di costo minimo
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 2
Esercizi - Livello logicoArchitettura degli elaboratori - 3 -
Esercizio 1
F = p+p+q = p+qp = XYZq = Y Z = Y/Z + /YZ
p
q
F = p+q = XYZ +Y/Z + /YZSemplificabile?
Esercizi - Livello logicoArchitettura degli elaboratori - 4 -
Esercizio 1
X Y Z F0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 01 0 1 11 1 0 11 1 1 1
p q 00000001
01100110
p
q
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 3
Esercizi - Livello logicoArchitettura degli elaboratori - 5 -
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 10
Esercizi - Livello logicoArchitettura degli elaboratori - 19 -
Esercizio 4: semplificazione (1)Con tavola verità (omesso il procedimento)
X Y0 0
0 10 0
F
0 1
0
00
0
Z0
01
11 0
1 11 0
1 1
0
01
1
1
00
0
F = X/Y/Z
Esercizi - Livello logicoArchitettura degli elaboratori - 20 -
Esercizio 4: semplificazione “a occhio” (2)L’uscita è 1 sse gli ingressi della porta nor sono tutti 0.
Quindi, Y = 0Quindi Z =0, in modo che Y xor Z sia 0X deve essere 1, in modo che il nand produca uno 0Il secondo xor ha in ingresso due 0 e produce 0, come richiesto
10 000 0
11
X=1, Y=Z=0 è l’unica combinazione di ingressi che dà un 1 in uscita
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 11
Esercizi - Livello logicoArchitettura degli elaboratori - 21 -
Esercizio 5 Scrivere l’espressione booleana associata al seguente schema circuitale
Esercizi - Livello logicoArchitettura degli elaboratori - 22 -
Esercizio 5: soluzioneOsservazioni preliminari
X nand 0 = /(X 0) = /0 = 1
p1
U = 1 and p = p
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 12
Esercizi - Livello logicoArchitettura degli elaboratori - 23 -
Esercizio 5: soluzioneBasta studiare il circuito:
U
U = YZ + Z xor YZ + /(YY) + /Y/Z = [YY = Y] = YZ + Z/(YZ) + /ZYZ + /Y + /Y/Z = [Y/ZZ = 0, A+0 = A, /Y+/Y/Z = /Y]= YZ + Z/(YZ) + /Y = [DeMorgan]= YZ + Z(/Y+/Z) + /Y = [distributiva]= YZ + Z/Y + Z/Z + /Y = [Z/Z=0, A+0=A]= YZ + Z/Y + /Y = [distributiva] = Z(Y+/Y) + /Y = Z + /Y
Esercizi - Livello logicoArchitettura degli elaboratori - 24 -
Esercizio 5: verifica
pq
r
s
U
Y Z p q0 00 11 0
r F
1 1
0001
0100
1100
1101
s1000
F = /Y+Z
Nota: una funzione di 2 variabili che vale 0 in un solo caso è esprimibile
con un OR
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 13
Esercizi - Livello logicoArchitettura degli elaboratori - 25 -
Esercizio 5: conclusione
YZU
Esercizi - Livello logicoArchitettura degli elaboratori - 26 -
Esercizio 6Data una funzione booleana rappresentata tramite la seguente tabella di verità, ottenere la rappresentazione equivalente come somma di prodotti
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 14
Esercizi - Livello logicoArchitettura degli elaboratori - 27 -
Esercizio 6: soluzione
F(x,y,z) = /x/y/z + /xyz+ x/y/z + xy/z
/x/y/z
/xyz x/y/z xy/z
Esercizi - Livello logicoArchitettura degli elaboratori - 28 -
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 15
Esercizi - Livello logicoArchitettura degli elaboratori - 29 -
F(X,Y,Z) = /Y/Z + X/Z + /XYZ: realizzazione
X Y Z
F
F(X,Y,Z) = /Y/Z + X/Z + /XYZ
Esercizi - Livello logicoArchitettura degli elaboratori - 30 -
Esercizio 6: semplificazione ulterioreF(X,Y,Z) = /Y/Z + X/Z + /XYZ == /Z (/Y+X) + Z (/XY) = (DeMorgan)= /Z (/Y+X) + Z /(X+/Y)Prima: formula realizzable mediante un circuito che impiega 2 porte a due ingressi e 2 porte a tre ingressiDopo: formula implementabile con 4 porte a due ingressi.
YZ F
X
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 16
Esercizi - Livello logicoArchitettura degli elaboratori - 31 -
Esercizio 6: semplificazione ulteriore
YZ F
X
YZ
FX
Esercizi - Livello logicoArchitettura degli elaboratori - 32 -
Esercizio 7Progettare un circuito di controllo per un allarme antincendio. Il sistema riceve in ingresso quattro segnali provenienti da altrettanti sensori di fumo (S1, S2, S3, S4) e genera un segnale di uscita A. Il segnale di allarme A=1 deve essere attivato se almeno due sensori segnalano presenza di fumo (=1).
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 17
Esercizi - Livello logicoArchitettura degli elaboratori - 33 -
Esercizi - Livello logicoArchitettura degli elaboratori - 34 -
Esercizio 8La funzione f(x,y,u,v) è definita come somma dei mintermini (0, 1, 2, 4, 5, 6, 7, 8, 9, 10)Effettuarne la sintesi sia come somma di prodotti sia come prodotto di somme. Con il mintermine n si intende il prodotto logico corrispondente alla combinazione di variabili in ingresso uguale alla codifica binaria di n.Ad es. il mintermine 2 corrisponde all’ingresso 0010, quindi a /x/yu/v
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 18
Esercizi - Livello logicoArchitettura degli elaboratori - 35 -
Esercizio 8: Tabella di veritàf(x, y, u, v) somma dei mintermini (0, 1, 2, 4, 5, 6, 7, 8, 9, 10)
Ponendo z = (/u+/v) la fornula si può riscrivere/xy +/xz + /yz = (essendo /xz = /xzy+/xz/y)/xy + /xzy + /xz/y + /yz = (per assorbimento)/xy + /yz =/xy + /y(/u+/v) =/xy + /y/u + /y/v
Esercizi - Livello logicoArchitettura degli elaboratori - 40 -
Esercizio 9 (1)Si consideri la funzione booleana di 3 variabili F(a,b,c) che vale 1 per le tre combinazioni di ingressi 001, 011, 010, e vale 0 per tutte le altre combinazioni.
Esprimere F in prima forma canonica (somma di prodotti)Disegnare una rete combinatoria che realizza la funzione espressa al punto precedente utilizzando solamente porte AND e OR a due ingressi (oltre alle porte NOT).Calcolare il costo della rete disegnata al punto precedente considerando che ogni porta a due ingressi (AND oppure OR) ha costo pari a quattro, mentre una porta NOT ha costo pari a uno.
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 21
Esercizi - Livello logicoArchitettura degli elaboratori - 41 -
Esercizio 9 (2)Calcolare il ritardo della rete considerando i seguenti valori di ritardo:
Trasformare l’espressione di F determinata in precedenza in modo da minimizzare il costo della sua realizzazione. Se si usa l’algebra di Boole bisogna indicare le singole operazioni svolte e il nome oppure la forma del teorema adottato (ad esempio, “Proprietà Associativa” oppure “(ab)c = a(bc)”)NB: si richiede di minimizzare il costo, anche se questo comporta un maggior ritardo
Calcolare il costo della nuova funzione ottenuta
Esercizi - Livello logicoArchitettura degli elaboratori - 42 -
Espressione trasformata Teorema utilizzatoa b c+ a b c+ a b c X + X = X
ab c+ a b c+ a b c+ a b c XY + XZ = X (Y + Z)a c ( b + b)+ a b ( c + c) X + !X = 1
ac+ ab XY + XZ = X (Y + Z)a(b + c)
Esercizi - Livello logicoArchitettura degli elaboratori - 44 -
Esercizio 9 (5)
F=/ac + /ab = /a(b+c)
00 01 11 1001
abc
11 1
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 23
Esercizi - Livello logicoArchitettura degli elaboratori - 45 -
Esercizio 10Progettare un circuito di controllo per un display a sette segmenti. Il circuito ha un solo ingresso (X) e deve far apparire sul display i caratteri “L” e “H” in corrispondenza, rispettivamente, dell’ingresso X=0 e X=1)
X
Esercizi - Livello logicoArchitettura degli elaboratori - 46 -
Esercizio 10: soluzioneX=0 X=1
ab
cd
ef g
ab
cd
ef g
f=e=1 [sempre accesi]a=0 [sempre spento]b=c=g=X [accesi quando X=1, spenti quando X=0]d=/X [acceso quando X=0, spento quando X=1]
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 24
Esercizi - Livello logicoArchitettura degli elaboratori - 47 -
Esercizio 11Studiare il circuito.
Esercizi - Livello logicoArchitettura degli elaboratori - 48 -
Esercizio 11: soluzione
pq
r
A B C D0 0 0 00 1 1 01 0 1 01 1 0 1
p q1 11 11 00 1
r1011
A B
C D
È il semisommatore!
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 25
Esercizi - Livello logicoArchitettura degli elaboratori - 49 -
Esercizio 12Individuare gli errori presenti nel seguente schema circuitale
Esercizi - Livello logicoArchitettura degli elaboratori - 50 -
Esercizio 12: soluzione
?
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 26
Esercizi - Livello logicoArchitettura degli elaboratori - 51 -
Esercizio 13Compilare la tabella di verità del seguente circuito
Esercizi - Livello logicoArchitettura degli elaboratori - 52 -
Esercizio 13: soluzione
X Y0 00 11 01 1
U1 U20 01 11 01 1
U2=YInfatti, U2 = Y(X+Y) = Y+XY =Y
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 27
Esercizi - Livello logicoArchitettura degli elaboratori - 53 -
Esercizio 13: soluzione
X Y0 00 11 01 1
U1 U20 01 11 01 1
X Y
U1 U2
Esercizi - Livello logicoArchitettura degli elaboratori - 54 -
Esercizio 14Compilare la tabella di verità del seguente circuito
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 28
Esercizi - Livello logicoArchitettura degli elaboratori - 55 -
Esercizio 14: soluzioneX Y0 0
0 10 0
U
0 1
1
11
1
Z0
01
11 0
1 11 0
1 1
0
01
1
1
10
1
U = /X + Y + /Z = /(X/YZ)
/Z
Esercizi - Livello logicoArchitettura degli elaboratori - 56 -
Esercizio 15Compilare la tabella di verità del seguente schema circuitale
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 29
Esercizi - Livello logicoArchitettura degli elaboratori - 57 -
Esercizio 15: soluzione 1
U = X Y
X Y0 0
0 10 0
p
0 1
0
10
1
Z0
01
11 0
1 11 0
1 1
0
01
1
1
01
0
pq
U0
10
11
01
0
q0
11
01
00
1X Y U
Esercizi - Livello logicoArchitettura degli elaboratori - 58 -
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 32
Esercizi - Livello logicoArchitettura degli elaboratori - 63 -
Esercizio 0Realizzare NOT, AND e OR usando esclusivamente porte NAND.
XY Z
XY Z=/(XY)Q=XY
Esercizi - Livello logicoArchitettura degli elaboratori - 64 -
Realizzazione della funzione NOTObiettivo: realizzare /X
A=?B=? /XQ=AB=?
Affinché l’uscita sia /X occorre che Q sia = X
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 33
Esercizi - Livello logicoArchitettura degli elaboratori - 65 -
Realizzazione della funzione NOTObiettivo: realizzare /X
A=?B=? /XQ=AB=X
Quali valori devono avere A e B affinché AB = X?
Se A=X e B=X, allora AB = X
Se A=X e B=1, allora AB = X1 = X
X /X
X /X1
Esercizi - Livello logicoArchitettura degli elaboratori - 66 -
Realizzazione della funzione ANDBasta negare l’uscita della porta NAND. La negazione la sappiamo fare, dunque:
XY /(XY)/(XY)
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 34
Esercizi - Livello logicoArchitettura degli elaboratori - 67 -
Realizzazione della funzione ORAbbiamo a disposizione NAND, AND e NOT.Il modo più semplice per realizzare l’OR è usare il teorema di De Morgan:
A+B = /(/A/B)
A
B/(/A/B) = A+B
/A
/B
Esercizi - Livello logicoArchitettura degli elaboratori - 68 -
ConclusioneUsando esclusivamente porte NAND si può realizzare qualunque funzione logica (cioè qualunque circuito combinatorio).
Marco Tarini - Università dell'Insubria A.A. 2016/17
Architettura degli elaboratori - Circuiti combinatori - esercizi 35
Esercizi - Livello logicoArchitettura degli elaboratori - 69 -
Esercizio 17Si desidera un circuito combinatorio che realizza la funzione definita come segue.
L’ingresso è un numero N codificato in complemento a due su 4 bit.L’uscita è su un solo bit.L’uscita vale 1 per i seguenti valori di N: -8, -7, -6, -5, 0, 3, 4, 6. Per gli altri valori possibili di N, l’uscita vale 0.
Realizzare il circuito, utilizzando esclusivamente porte nand.
Esercizi - Livello logicoArchitettura degli elaboratori - 70 -
Esercizio 17L’uscita vale 1 per i seguenti valori di N: -8, -7, -6, -5, 0, 3, 4, 6. Per gli altri valori possibili di N, l’uscita vale 0.Per comodità chiamiamo a, b, c, d i 4 bit X, essendo a il più significativo.