La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ARITMETICA BINARIA. Rappresentazione Binaria Un numero binario è un vettore di n bit: B = b n-1 b n-2 ….. b 1 b 0 con b i {0,1} con 0 i n-1 questo vettore.

Presentazioni simili


Presentazione sul tema: "ARITMETICA BINARIA. Rappresentazione Binaria Un numero binario è un vettore di n bit: B = b n-1 b n-2 ….. b 1 b 0 con b i {0,1} con 0 i n-1 questo vettore."— Transcript della presentazione:

1 ARITMETICA BINARIA

2 Rappresentazione Binaria Un numero binario è un vettore di n bit: B = b n-1 b n-2 ….. b 1 b 0 con b i {0,1} con 0 i n-1 questo vettore rappresenta valori interi positivi V(B) {0,2 n-1 } V(B) = b n-1 2 n-1 +…..+ b b 0 2 0

3 Rappresentazione Numeri con segno 1.Modulo e Segno 2.Complemento a 1 3.Complemento a 2

4 x i y i cici sisi c i Addizione di numeri positivi s i = x i y i c i + x i y i c i + x i y i c i + x i y i c i c i+1 = x i y i c i + x i y i c i + x i y i c i + x i y i c i = y i c i + x i c i + x i y i

5 Struttura di un Sommatore s i = x i y i c i + x i y i c i + x i y i c i + x i y i c i yiyi xixi sisi cici

6 Struttura di un Sommatore c i = y i c i + x i c i + x i y i yiyi xixi c i+1 cici

7 Sommatore a propagazione di riporto xixi yiyi sisi cici c i+1 Adder x0x0 y0y0 s0s0 c0c0 c1c1 x1x1 y1y1 s1s1 c n-1 Adder ….. x n-1 y n-1 s n-1 Adder cncn c2c2

8 Prestazioni Operazione di somma in un ciclo di clock Clock = 100 Mhz Ciclo = 10 ns Ritardo c i e c i+1 = 1 ns Ritardo per p.l. = 0.5 ns Tempo x 32 bit = (31x1)+1.5 = 32.5ns > 10ns Adottare una tecnologia più veloce Struttura di rete logica più efficiente

9 Rete logica + efficiente s i = x i y i c i + x i y i c i + x i y i c i + x i y i c i c i+1 = y i c i + x i c i + x i y i c i+1 = x i y i + (y i + x i )c i G i = x i y i P i = (y i + x i ) G = funzione di generazione P = funzione di propagazione c i+1 = G i + P i G i-1 + P i P i-1 G i-2 + ….. + P i P i-1 …. P 1 G 0 + P i P i-1 …. P 0 c 0

10 Sommatore ad anticipo di riporto x3x3 s1s1 c0c0 c4c4 Adder c 4 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 + P 3 P 2 P 1 P 0 c 0 x2x2 x1x1 x0x0 s0s0 s2s2 s3s3 x3x3 s1s1 c0c0 c4c4 Adder x2x2 x1x1 x0x0 s0s0 s2s2 s3s3 x7x7 s5s5 c8c8 x6x6 x5x5 x4x4 s4s4 s6s6 s7s7 ….. x 31 s 29 c 31 c 32 Adder x 30 x 29 x 28 s 28 s 30 s 31

11 Addizione e sottrazione con segno SOMMA sommare bit a bit le rappresentazioni dei due addendi ignorando il riporto dalla posizione più significativa. DIFFERENZA sommare il numero con il complemento a 2 del sottraendo. Risultato [-2 n-1, 2 n-1 –1] OVERFLOW

12 OVERFLOW Per numeri positivi il riporto è un indicatore di overflow Non valido per aritmetica con segno Verificare per : (+7) + (+4) e (-4) + (-6) Regole per loverflow si verifica quando si sommano numeri concordi in segno il riporto non è sufficiente

13 Condizione di Overflow Se i due addendi hanno segno concorde loverflow si verifica quando la somma ha segno diverso da Quello degli addendi OVERFLOW = x n-1 y n-1 s n-1 + x n-1 y n-1 s n-1

14 Moltiplicazione tra numeri positivi Molt.do Molt.ore m0m0 m1m1 m2m2 m3m3 m4m4 m5m5 m6m6 m7m7 Parz.m q c i-1 cici s A

15 Algoritmo di Booth Si verifica con le seguenti regole scorrendo il numero binario Da destra a sinistra bit i+1 bit i x Moltiplicando x x x Es:

16 Codifica a coppie di bit Bit i+1 Bit i Bit i-1 Risultato Es:

17 Divisione tra interi Sommatore a n bit 0 n-10 0 Registro AQuoziente Divisore Macchina Sequenziale di controllo Add/Sub Left shift

18 Rappresentazione Floating Point Un numero binario è un vettore di n bit: B = b n-1 b n-2 ….. b 1 b 0 con b i {0,1} con 0 i n-1 questo vettore rappresenta valori interi positivi V(B) {0,2 n-1 } V(B) = b n-1 2 n-1 +…..+ b b 0 2 0

19 Rappresentazione Floating Point B = b n-1 b n-2 ….. b 1 b 0. V(B) = -b …..+ b -(n-2) 2 -(n-2)+ b -(n-1) 2 -(n-1) B = b 0. b -1 ….. b - (n-2) b - (n-1) Rappresenta numeri nellintervallo: -1 V(B) 1 –2 -(n-1)

20 Rappresentazione Floating Point Se n=32 Come Interi: [-2 31, 2 31 ] [-2.15 x 10 9, 2.15 x 10 9 ] Come floating point: [ -1, ] [-1, 1[ con precisione fino a 4.66 x

21 Rappresentazione Floating Point m 0. m 1 m 2 m 3 m 4 m 5 m 6 x 10 xy Rappresenta numeri: [-1.0 x 10 99, 1.0 x ] Con 32 bit: 8 bit23 bit Bit segno esponente excess-127 mantissa

22 Rappresentazione Floating Point 8 bit23 bit Bit segno esponente excess-127 mantissa Single Precision (10 38 con mantissa a 7 cifre decimali): Double Precision ( con mantissa a 16 cifre decimali): 11 bit52 bit Bit segno esponente excess-1023 mantissa

23 Operazioni Floating Point Somma e differenza 1.Prende il numero con esponente più piccolo e shiftare la mantissa a sinistra un numero di volte pari alla differenza dei due esponenti 3. Eseguire la somma o la differenza tra le mantisse 2. Assegnare al risultato lesponente più grande 4. Normalizzare il risultato

24 Operazioni Floating Point Prodotto: 1.Sommare gli esponenti e sottrarre Normalizzare il risultato 2. Prodotto delle mantisse

25 Operazioni Floating Point Divisione: 1.Sottrarre gli esponenti e sommare Normalizzare il risultato 2. Divisione delle mantisse

26 Approssimazione Chopping (approssimazione polarizzata (biased)): Da 0. b -1 b -2 b a 0. b -1 b -2 b b -1 b -2 b -3 Arrotondamento di Von Neumann (approssimazione unbiased): Se 0. b -1 b -2 b b -1 b -2 b -3 Se 0. b -1 b -2 b -3 xxx con almeno un x=1 0. b -1 b -2 1

27 Approssimazione Arrotondamento: Se 0. b -1 b -2 b -3 xyz se x=0 allora 0. b -1 b -2 b -3 Se 0. b -1 b -2 b -3 xyz se x=1 allora 0. b -1 b -2 b Errore da –1/2 a +1/2 Standard IEEE per operazioni Floating Point

28 PROCESSORI A CONFRONTO

29 Processor Performances

30


Scaricare ppt "ARITMETICA BINARIA. Rappresentazione Binaria Un numero binario è un vettore di n bit: B = b n-1 b n-2 ….. b 1 b 0 con b i {0,1} con 0 i n-1 questo vettore."

Presentazioni simili


Annunci Google