La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

RETI LOGICHE Daniele Manzaroli

Presentazioni simili


Presentazione sul tema: "RETI LOGICHE Daniele Manzaroli"— Transcript della presentazione:

1 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 1

2 Esempio: codifica delle cifre decimali
Alcuni codici binari per le cifre decimali Cifre decimali 7 segmenti abcdefg zero uno due tre quattro cinque sei sette otto nove 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 BCD uno su dieci

3 Codice a 7 segmenti g a f b e c d

4 Conversione da base 2 a base 10 e viceversa
Dato un numero binario naturale a n bit B = bn-1 bn-2 … b0 , il suo valore decimale corrispondente N è dato da: (N)10 = bn-1 .2n-1 + bn-2 .2n-2 + …+ b0 .20 Dato un numero naturale N espresso in base 10, la corrispondente rappresentazione in base 2 B = bn-1 bn-2 … b0 può essere ottenuta attraverso il seguente processo iterativo di divisione per 2: resto (N)10 = bn-1 .2n-1 + bn-2 .2n-2 + …+ b0 .20 : 2 b0 = resto b1 (N)10 = bn-1 .2n-2 + bn-2 .2n-3 + …+ b1 .20 : 2 ……………….. resto bn-2 (N)10 = bn bn-2 : 2 = resto bn-1 (N)10 = bn-1 : 2

5 Somma fra numeri naturali
Somma fra due numeri da un bit 0 + 0 = 0 ; = 1 ; = 1 ; = 0 con riporto (C) di 1 Somma “colonna per colonna” fra due numeri da n bit ci ai bi ci+1 si S = A + B cn cn-1 ci c1 an-1 ai a1 a0 + bn-1 bi b1 b0 = sn-1 si s1 s0

6 Esempio di somma Calcolare 9010 + 15010 A = 9010 = 010110102 = 5A16
B = = = 9616 Riporto 1 1 1 1 A B Risultato 1 1 1 1

7 Sottrazione fra numeri naturali
Sottrazione fra due numeri da un bit 0 - 0 = 0 ; = 1 ; = 0 ; = 1 con prestito (P) di 1 Sottrazione “colonna per colonna” fra due numeri da n bit p a b P D D = A - B (A  B) an-1 ai a1 a0 bn-1 bi b1 b0 - pn-1 pi p1 dn-1 di d1 d0 =

8 Esempio di sottrazione
Calcolare – 10810 A = = B = = Prestiti 1 1 1 1 1 A B Risultato 1 1 1 1

9 Numeri relativi: rappresentazione segno-valore assoluto
bn-1 bn-2 b1 b0 n bit Valore decimale Valore binario -3 111 -2 110 -1 101 100 000 1 001 2 010 3 011 segno (0: positivo, 1: negativo) valore assoluto |N| = (bn-2 .2n-2 + …+ b0 .20) (n = 3) N  [-(2n-1 - 1), +(2n-1 - 1)] Doppia rappresentazione per lo 0 Simmetria tra valore positivo massimo e valore negativo minimo

10 Numeri relativi: rappresentazione in complemento a 2
N  0 : segno-valore assoluto bn-1 bn-2 b1 b0 n bit 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). Valore decimale Valore binario in complemento a 2 Valore binario in modulo e segno -4 100 x -3 101 111 -2 110 -1 000 000 e 100 1 001 2 010 3 011 Dato un numero binario B a n bit rappresentato in complemento a 2, allora: N = - bn-1.2n-1 + bn-2 .2n-2 + …+ b0 .20 Unica rappresentazione per lo 0 Asimmetria tra valore positivo massimo e valore negativo minimo N  [-2n-1, +(2n-1 - 1)]

11 Esercizio Si esprimano in decimale ed esadecimale i seguenti numeri binari relativi in complemento a due: , , 11110, 01010, 101001 = -23 = E9 101101 = -19 = ED 11110 = -2 = FE 11001 = -7 = F9 11 11

12 Esercizi (-12) + (+4) (-12) + (-1)
Nel caso di n=5 bit +1210 = -1210 = 2(1210) = 2(011002) = = 410 = (-12) + (+4) 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) = = Riporto 111000 A + -12 10100 + B = -1 11111 = Risultato -13 10011 Risultato: -1•24 + 0•23 + 0•22 + 1•21 + 1•20 = -1310 12 12

13 Esercizi (-12) - (-12) (-12) + (+12)
Nel caso di n=5 bit -1210 = 2(1210) = 2(011002) = = (-12) - (-12) Prestito 00000 A + -12 10100 - B = = Risultato (-12) + (+12) -110 = 2(110) = 2(000012) = = Riporto 111000 A + -12 10100 + B = +12 01100 = Risultato 00000 13 13

14 Esercizi (-12) + (-12) Overflow (-12) - (+5) Nel caso di n=5 bit
-1210 = 2(1210) = 2(011002) = = (-12) + (-12) Overflow Riporto 101000 A + -12 10100 + B = = Risultato 01000 (-12) - (+5) Prestito 011110 A + +10 10100 - B = +5 00101 = Risultato -15 10111 14 Reti Logiche A.A 14

15 NOT(B) = (2n-1) - B Not(15610) utilizzando 8 bit
C = = = 9910 Prestiti 1 A = 2n - 1 B C = NOT(B) 1 1 1 1 15 15

16 Complemento a 2 di un numero naturale N di n bit
2N = 2n - N Calcolo di 2N senza la sottrazione 2N = 2n - N = (2n - 1) - N + 1 = not (N) + 1 2N = not(N) + 1 CI 4 BIT a0 ADDER a1 a2 a3 s0 s1 s2 s3 b0 b1 b2 b3 CO 1 2N N 16 16

17 Calcolatori Elettronici A.A. 2008-09
Esempio Calcolare il complemento a 2 di 710 e 510 , utilizzando n=4 bit N=7 27  2n-N = 24-7 = 16-7 = 910 = 10012 oppure, senza la sottrazione 27  NOT(N)+1 = NOT(0111)+1 = = 10012 N=5 25  2n-N = 24-5 = 16-5 = 1110 = 10112 25  NOT(N)+1 = NOT(0101)+1 = = 10112 Calcolatori Elettronici A.A 17 17

18 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 2A = -A A + -3 1101 -4 1100 B = +3 0011 +5 0101 Risultato -7 1001 -1 1111 +1 0001 A +1 0001 -7 1001 2A -1 1111 +7 0111 A - B = A + 2B Per sommare o sottrarre due numeri relativi espressi in complemento a 2 è sufficiente un addizionatore. A = 3 ; B = 4 (in complemento a 2 con 4 bit) A = 0011 B = 0100 A – B = (0100) = = 1111

19 Somma e sottrazione di numeri espressi in complemento a 2
Siano A e B due numeri binari espressi in complemento a 2 SOMMA SOTTRAZIONE CI 4 BIT a0 ADDER a1 a2 a3 s0 s1 s2 s3 b0 b1 b2 b3 CO 1 CI 4 BIT a0 ADDER a1 a2 a3 s0 s1 s2 s3 b0 b1 b2 b3 CO A A A + B A - B B B

20 Calcolatori Elettronici A.A. 2008-09
Esempio Calcolare utilizzando il complemento a 2, nel caso di n=4 bit 710 = 01112 510 = 01012 A–B = A + 2B = A + [NOT(B)+1] = [NOT(01012)+1] = [ ] = [10112] = r 0111 + 1011 = 0010 = 0010 = 210 Calcolatori Elettronici A.A 20 20

21 Esercizi (1) Calcolare utilizzando il complemento a 2, nel caso di n=4 bit 610 = 01102 310 = 00112 A–B = A + 2B = A + [NOT(B)+1] = [NOT(00112)+1] = [ ] = [11012] = 1101 = 0011 = 310

22 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 = •23 + 1•22 + 0•21 + 1•20 = +510 -610 = 2(610) = 2(01102) = = 10102 -1•23 + 0•22 + 1•21 + 0•20 = -610

23 Esercizi (-12) + (+4) (-12) + (-1)
Nel caso di n=5 bit +1210 = -1210 = 2(1210) = 2(011002) = = 410 = (-12) + (+4) 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) = = Riporto 111000 A + -12 10100 + B = -1 11111 = Risultato -13 10011 Risultato: -1•24 + 0•23 + 0•22 + 1•21 + 1•20 = -1310 23 23

24 Esercizi (-12) - (-12) (-12) + (+12)
Nel caso di n=5 bit -1210 = 2(1210) = 2(011002) = = (-12) - (-12) Prestito 00000 A + -12 10100 - B = = Risultato (-12) + (+12) -110 = 2(110) = 2(000012) = = Riporto 111000 A + -12 10100 + B = +12 01100 = Risultato 00000 24 24

25 Esercizi (-12) + (-4) (+10) + (-5) 1010 = 01010
Nel caso di n=5 bit -1210 = 2(1210) = 2(011002) = = 410 = -410 = 2(410) = 2(001002) = = (-12) + (-4) Riporto 111000 A + -12 10100 + B = -4 11100 = Risultato -16 10000 (+10) + (-5) 1010 = 01010 -510 = 2(510) = 2(001012) = = Riporto 110100 A + +10 01010 + B = -5 11011 = Risultato -15 00101 25 25

26 Half adder, full adder, n bit adder
CI S FA A B CO CI A0 B0 B1 A1 An-1 Bn-1 S0 S1 Sn-1 CO A B S C 1 A B CI S CO 1 A B S C HA A S HA B C CI A B S CO FA A[0..n-1] B[0..n-1] S[0..n-1]


Scaricare ppt "RETI LOGICHE Daniele Manzaroli"

Presentazioni simili


Annunci Google