RETI LOGICHE Daniele Manzaroli dmanzarliarces unibo it Esercitazione
RETI LOGICHE Daniele Manzaroli dmanzarli@arces. unibo. it Esercitazione: mappe di Karnaugh Quartus II: segnali di ingresso Codice Binario: Rappresentazione e Calcolo Codice BCD e trascodifica Codice 7 segmenti ed esercitazione Half adder, Full adder 1
Esempio: codifica delle cifre decimali Alcuni codici binari per le cifre decimali Cifre decimali zero uno due tre quattro cinque sei sette otto nove 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 BCD 100000 010000 0010000000 000100000010000010000001000 0000000100 000010 000001 uno su dieci abcdefg 1111110 0110000 1101101 1111001 0110011 1011011 0011111 1110000 1111111 1110011 7 segmenti
Codice a 7 segmenti a b f g e c d
Conversione da base 2 a base 10 e viceversa Dato un numero binario naturale a n bit B = bn-1 bn-2 … b 0 , il suo valore decimale corrispondente N è dato da: (N)10 = bn-1. 2 n-1 + bn-2. 2 n-2 + …+ b 0. 20 Dato un numero naturale N espresso in base 10, la corrispondente rappresentazione in base 2 B = bn-1 bn-2 … b 0 può essere ottenuta attraverso il seguente processo iterativo di divisione per 2: (N)10 = bn-1 . 2 n-1 + bn-2 . 2 n-2 = (N)10 = bn-1 . 2 n-2 + bn-2 . 2 n-3 + …+ b 0 . 20 + …+ b 1 . 20 : 2 resto b 0 resto b 1 resto bn-2 ………………. . (N)10 = bn-1. 2 + bn-2 : 2 = (N)10 = bn-1 : 2 resto bn-1
Somma fra numeri naturali • Somma fra due numeri da un bit 0 + 0 = 0 ; 1 + 0 = 1 ; 0 + 1 = 1 ; 1 + 1 = 0 con riporto (C) di 1 • Somma “colonna per colonna” fra due numeri da n bit S=A+B cn cn-1 ci c 1 0 an-1 ai a 1 a 0 bn-1 bi b 1 b 0 sn-1 si s 1 s 0 + = ci ai bi ci+1 si 000 001 010 011 100 101 110 111 0 0 0 1 1 1 0 1 0 0 1
Esempio di somma Calcolare 9010 + 15010 A = 9010 = 010110102 = 5 A 16 B = 15010 = 100101102 = 9616 Riporto 0 0 0 1 1 0 0 A 0 1 1 0 B 1 0 0 1 1 0 Risultato 1 1 0 0
Sottrazione fra numeri naturali • Sottrazione fra due numeri da un bit 0 - 0 = 0 ; 1 - 0 = 1 ; 1 - 1 = 0 ; 0 - 1 = 1 con prestito (P) di 1 • Sottrazione “colonna per colonna” fra due numeri da n bit D = A - B (A B) pn-1 pi p 1 0 an-1 ai a 1 a 0 bn-1 bi b 1 b 0 dn-1 di d 1 d 0 = pab P D 000 001 010 011 100 101 110 111 0 0 1 1 0 1 0 0 1
Esempio di sottrazione Calcolare 19810 – 10810 A = 19810 = 110001102 B = 10810 = 011011002 Prestiti 0 1 1 0 0 A 1 1 0 0 0 1 1 0 B 0 1 1 0 0 Risultato 0 1 1 0
Numeri relativi: rappresentazione segno-valore assoluto n bit bn-1 bn-2 b 1 b 0 segno (0: positivo, 1: negativo) valore assoluto |N| = (bn-2. 2 n-2 + …+ b 0. 20) N 1) 2) Valore decimale Valore binario -3 111 -2 110 -1 101 0 100 0 000 1 001 2 010 3 011 (n = 3) [-(2 n-1 - 1), +(2 n-1 - 1)] Doppia rappresentazione per lo 0 Simmetria tra valore positivo massimo e valore negativo minimo
Numeri relativi: rappresentazione in complemento a 2 N 0 : segno-valore assoluto n bit bn-1 bn-2 b 1 b 0 N < 0 : 2(-N) con (-N) espresso in segno-valore assoluto N. B. - anche nella rappresentazione in complemento a 2 il bit più significativo indica il segno (0: positivo, 1: negativo). Dato un numero binario B a n bit rappresentato in complemento a 2, allora: N = - bn-1. 2 n-1 + bn-2. 2 n-2 + …+ b 0. 20 1) 2) Unica rappresentazione per lo 0 Asimmetria tra valore positivo massimo e valore negativo minimo N [-2 n-1, +(2 n-1 - 1)] Valore decimale Valore binario in complemento a 2 Valore binario in modulo e segno -4 100 x -3 101 111 -2 110 -1 111 101 0 000 e 100 1 001 2 010 3 011
Esercizio Si esprimano in decimale ed esadecimale i seguenti numeri binari relativi in complemento a due: 101001, 101101, 11110, 01010, 11001. 101001 -25 + 23 + 20 = -23 1110 1001 = E 9 101101 -25 + 23 + 22 + 20 = -19 1110 1101 = ED 11110 -24 + 23 + 22 + 21 = -2 1111 1110 = FE 11001 -24 + 23 + 20 = -7 1111 1001 = F 9 11
Esercizi Nel caso di n=5 bit (-12) + (+4) +1210 = 011002 -1210 = 2(1210) = 2(011002) = 100112+1 = 101002 410 = 001002 Riporto 01000 A+ -12 10100 + B= +4 00100 = Risultato +8 11000 Risultato: -1 • 24 + 1 • 23 + 0 • 22 + 0 • 21 + 0 • 20 = -810 (-12) + (-1) -110 = 2(110) = 2(000012) = 111102+1 = 111112 Riporto 111000 A+ -12 10100 + B= -1 11111 = -13 10011 Risultato: -1 • 24 + 0 • 23 + 0 • 22 + 1 • 21 + 1 • 20 = -1310 12
Esercizi Nel caso di n=5 bit (-12) -1210 = 2(1210) = 2(011002) = 100112+1 = 101002 Prestito 00000 A+ -12 10100 - B= -12 10100 = 0 00000 Risultato (-12) + (+12) -110 = 2(110) = 2(000012) = 111102+1 = 111112 Riporto 111000 A+ -12 10100 + B= +12 01100 = 0 00000 Risultato 13
Esercizi Nel caso di n=5 bit (-12) + (-12) -1210 = 2(1210) = 2(011002) = 100112+1 = 101002 Riporto Overflow 101000 A+ -12 10100 + B= -12 10100 = Risultat o 01000 (-12) - (+5) Prestito 011110 A+ +10 10100 - B= +5 00101 = Risultat o -15 10111 Reti Logiche A. A. 2009 -10 14
NOT(B) = (2 n-1) - B Not(15610) utilizzando 8 bit A = 28 – 1 = 25510 = 11112 B = 15610 = 100111002 C = 1100112 = 25 + 24 + 2 + 1 = 9910 Prestiti A= 2 n -1 B C = NOT(B) 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 15
Complemento a 2 di un numero naturale N di n bit 2 N Calcolo di 2 N senza la sottrazione 2 N = 2 n - N = (2 n - 1) - N + 1 = not (N) + 1 = 2 n - N 2 N = not(N) + 1 0 0 0 N CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO 2 N 16
Esempio Calcolare il complemento a 2 di 7 e 5 utilizzando n=4 bit 10 10 , N=7 27 2 n-N = 24 -7 = 16 -7 = 910 = 10012 oppure, senza la sottrazione 27 NOT(N)+1 = NOT(0111)+1 = 1000+1 = 10012 N=5 25 2 n-N = 24 -5 = 16 -5 = 1110 = 10112 oppure, senza la sottrazione 25 NOT(N)+1 = NOT(0101)+1 = 1010+1 = 10112 Calcolatori Elettronici A. A. 2008 -09 17
Proprietà della rappresentazione in complemento a 2 Siano A e B due numeri rappresentati in complemento a 2 A+B = somma algebrica fra A e B 2 A = -A A+ -3 1101 -4 1100 B= -4 1100 +3 0011 +5 0101 Risultato -7 1001 -1 1111 +1 0001 A +1 0001 -7 1110 + 1 2 A -1 1111 0110 + 1 +7 A - B = A + 2 B A A B A 1001 = 3 ; B = 4 (in complemento a 2 con 4 bit) = 0011 = 0100 – B = 0011 + 2(0100) = 0011 + 1100 = 1111 0111 Per sommare o sottrarre due numeri relativi espressi in complemento a 2 è sufficiente un addizionatore.
Somma e sottrazione di numeri espressi in complemento a 2 Siano A e B due numeri binari espressi in complemento a 2 SOMMA A B CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO SOTTRAZIONE 1 A A+B B CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO A-B
Esempio Calcolare 710 -510 utilizzando il complemento a 2, nel caso di n=4 bit 710 = 01112 510 = 01012 A–B = A + 2 B = A + [NOT(B)+1] 710 -510 = 01112 + [NOT(01012)+1] = 01112 + [10102+1] = 01112 + [10112] = = 0010 = 210 11110 r 0111 + 1011 = -------0010 Calcolatori Elettronici A. A. 2008 -09 20
Esercizi (1) Calcolare 610 -310 utilizzando il complemento a 2, nel caso di n=4 bit 610 = 01102 310 = 00112 A–B = A + 2 B = A + [NOT(B)+1] 610 -310 = 01102 + [NOT(00112)+1] = 01102 + [11002+1] = 01102 + [11012] = 0110 + 1101 = -------0011 = 310
Esercizi (2) Nel caso di n=4 bit, • Rappresentare +5 e – 6 in‘segno valore assoluto’ +510 = 01012 -610 = 11102 • Rappresentare +5 e – 6 in ‘complemento a 2’ +510 = 01012 -0 • 23 + 1 • 22 + 0 • 21 + 1 • 20 = +510 -610 = 2(610) = 2(01102) = 10012+1 = 10102 -1 • 23 + 0 • 22 + 1 • 21 + 0 • 20 = -610
Esercizi Nel caso di n=5 bit (-12) + (+4) +1210 = 011002 -1210 = 2(1210) = 2(011002) = 100112+1 = 101002 410 = 001002 Riporto 01000 A+ -12 10100 + B= +4 00100 = Risultato +8 11000 Risultato: -1 • 24 + 1 • 23 + 0 • 22 + 0 • 21 + 0 • 20 = +810 (-12) + (-1) -110 = 2(110) = 2(000012) = 111102+1 = 111112 Riporto 111000 A+ -12 10100 + B= -1 11111 = -13 10011 Risultato: -1 • 24 + 0 • 23 + 0 • 22 + 1 • 21 + 1 • 20 = -1310 23
Esercizi Nel caso di n=5 bit (-12) -1210 = 2(1210) = 2(011002) = 100112+1 = 101002 Prestito 00000 A+ -12 10100 - B= -12 10100 = 0 00000 Risultato (-12) + (+12) -110 = 2(110) = 2(000012) = 111102+1 = 111112 Riporto 111000 A+ -12 10100 + B= +12 01100 = 0 00000 Risultato 24
Esercizi Nel caso di n=5 bit (-12) + (-4) -1210 = 2(1210) = 2(011002) = 100112+1 = 101002 410 = 001002 -410 = 2(410) = 2(001002) = 110112+1 = 111002 Riporto 111000 A+ -12 10100 + B= -4 11100 = -16 10000 Risultato (+10) + (-5) 1010 = 01010 -510 = 2(510) = 2(001012) = 110102+1 = 110112 Riporto 110100 A+ +10 01010 + B= -5 11011 = -15 00101 Risultato 25
Half adder, full adder, n bit adder Half adder Full adder n bit adder S 0 CI A 0 A B S C A B CI S CO 0 0 0 0 0 1 1 0 1 0 A 1 1 1 0 1 B 1 1 0 0 1 0 1 1 1 0 0 1 1 1 A S B CI A B A S HA B C S 1 CI S FA A B CO … An-1 Bn-1 HA C B 0 CI S FA A B CO S FA CO CI S FA A B CO A[0. . n-1] B[0. . n-1] Sn-1 CO
- Slides: 26