La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ARITMETICA BINARIA.

Presentazioni simili


Presentazione sul tema: "ARITMETICA BINARIA."— Transcript della presentazione:

1 ARITMETICA BINARIA

2 Rappresentazione Binaria
Un numero binario è un vettore di n bit: B = bn-1 bn-2….. b1 b0 con bi  {0,1} con 0  i  n-1 questo vettore rappresenta valori interi positivi V(B)  {0,2n-1} V(B) = bn-1 • 2n-1+…..+ b1 • 21+ b0 • 20

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

4 Addizione di numeri positivi
xi yi ci si ci+1 1 si= xi  yi ci + xi yi ci + xi yi ci + xi yi ci ci+1= xi yi ci + xi yi ci + xi yi ci + xi yi ci = yi ci + xi ci + xi yi

5 Struttura di un Sommatore
si= xi  yi ci + xi yi ci + xi yi ci + xi yi ci xi yi ci si

6 Struttura di un Sommatore
ci= yi ci + xi ci + xi yi xi yi ci ci+1

7 Sommatore a propagazione di riporto
xi yi si ci ci+1 Adder x0 y0 s0 c0 c1 Adder x1 y1 s1 cn-1 ….. xn-1 yn-1 sn-1 cn c2

8 ??? Prestazioni Operazione di somma in un ciclo di clock
Clock = 100 Mhz Ciclo = 10 ns Ritardo ci e ci+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
si= xi  yi ci + xi yi ci + xi yi ci + xi yi ci ci+1= yi ci + xi ci + xi yi ci+1= xi yi + (yi + xi )ci G = funzione di generazione Gi= xi yi Pi= (yi + xi ) P = funzione di propagazione ci+1= Gi + PiGi-1 + Pi Pi-1Gi-2 + ….. + Pi Pi-1 …. P1G0 + Pi Pi-1 …. P0c0

10 Sommatore ad anticipo di riporto
c4= G3 + P3G2 + P3 P2G1 + P3 P2 P1G0 + P3 P2 P1P0c0 x3 x2 x1 x0 Adder c0 c4 s3 s2 s1 s0 x3 s1 c0 c4 Adder x2 x1 x0 s0 s2 s3 x7 s5 c8 x6 x5 x4 s4 s6 s7 ….. x31 s29 c31 c32 x30 x29 x28 s28 s30 s31

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 [-2n-1, 2n-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 l’overflow si verifica quando si sommano numeri concordi in segno il riporto non è sufficiente

13 Condizione di Overflow
Se i due addendi hanno segno concorde l’overflow si verifica quando la somma ha segno diverso da Quello degli addendi OVERFLOW = xn-1 yn-1sn-1 + xn-1 yn-1sn-1

14 Moltiplicazione tra numeri positivi
Molt.do Parz. m q ci-1 ci s A Molt.ore m7 m6 m0 m5 m4 m3 m2 m1

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
Risultato 1 +1 +2 -2 -1 Es:  

17 Divisione tra interi n-1 n-1 Registro A Quoziente Left shift Sommatore
n-1 n-1 Registro A Quoziente Left shift Sommatore a n bit Macchina Sequenziale di controllo Add/Sub Divisore n-1

18 Rappresentazione Floating Point
Un numero binario è un vettore di n bit: B = bn-1 bn-2….. b1 b0 con bi  {0,1} con 0  i  n-1 questo vettore rappresenta valori interi positivi V(B)  {0,2n-1} V(B) = bn-1 • 2n-1+…..+ b1 • 21+ b0 • 20

19 Rappresentazione Floating Point
B = bn-1 bn-2….. b1 b0. B = b0. b-1….. b - (n-2) b- (n-1) V(B) = -b0 • 20+…..+ b-(n-2) • 2-(n-2)+ b-(n-1) • 2-(n-1) Rappresenta numeri nell’intervallo: -1  V(B)  1 –2-(n-1)

20 Rappresentazione Floating Point
Come Interi: [-231, 231]  [-2.15 x 109, x 109 ] Come floating point: [ -1, ]  [-1, 1[ con precisione fino a 4.66 x 10-10

21 Rappresentazione Floating Point
 m0. m1 m2 m3 m4 m5 m6 x 10  xy Rappresenta numeri: [-1.0 x 1099 , 1.0 x 1099] Con 32 bit: 8 bit 23 bit esponente excess-127 mantissa Bit segno

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

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

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

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

26 Chopping (approssimazione polarizzata (biased)):
Da 0. b-1 b-2 b a 0. b-1 b-2 b-3 111 0. 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 Standard IEEE per operazioni Floating Point
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 Processor Performances


Scaricare ppt "ARITMETICA BINARIA."

Presentazioni simili


Annunci Google