Rappresentazione dell’informazione · Extended 3.4e+4932

15

Transcript of Rappresentazione dell’informazione · Extended 3.4e+4932

Page 1: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [1]

Rappresentazione dell�informazione Il sistema di numerazione binario

� L�Informazione è un�entità astratta

� Deve essere trasformata in un mezzo misurabile ed

omogeneo

� Identificazione degli attributi misurabili

� Identificazione di un alfabeto di simboli

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [2]

Vantaggi dell�alfabeto binario

� EFFICIENZA

� Operazioni binarie molto veloci

� SEMPLICITA�

� circuiti per aritmetica binaria semplici

� AFFIDABILITA�

� uso di trigger per evitare disturbi

Page 2: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [3]

Il sistema di numerazione binario

� E� un sistema di tipo posizionale.

10111Þ 1*24 + 0*23 + 1 * 22 + 1*21 + 1*20 = 23

� Conversione da decimale a binario:

� posizionale

� divisioni successive

� Aritmetica binaria segue le stesse regole di quella

decimale

� Fattore che allontana l�uomo dalla macchina

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [4]

I sistemi di numerazione additivi

� Egizio

� Greco

� Romano

Page 3: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [5]

I sistemi di numerazione Posizionali

Maya

1.000 d.C.

.

.

.

.

.

.

1.400 d.C.

Indo-Arabi (zero o zefiro introdotto nel 1200 da Fibonacci)

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [6]

Metodo Posizionale

� Individuare la maggiore potenza del 2

� sottrarla al valore in questione

� Proseguire fino a che il resto sarà 0 o 1

esempi: 27, 237, 59, 1000

Page 4: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [7]

Metodo delle divisioni successive

� Dividere successivamente per 2

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [8]

Somma di numeri binari

� se la somma è > 1, scrivere la cifra a

destra e riportare 1 (analogo al decimale)

� esempio:

Page 5: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [9]

Differenza di numeri binari

� se la cifra è inferiore, occorre un prestito di

1 a sinistra, (analogo al decimale)

� esempio:

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [10]

Moltiplicazione di numeri binari

� Si incolonnano le moltiplicazioni parziali e

si somma

� esempio:

Page 6: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [11]

Divisione di numeri binari

� Si abbassa il dividendo successivamente calcolando i resti.

� Ogni volta che il dividendo è < del divisore, occorre accostare uno 0 al

risultato

� esempio:

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [12]

Tecniche di semplificazione del sistema

binario

� Stima approssimata delle grandezze binarie

in decimale

� Stima approssimata delle grandezze

decimali in binario

� Sistema di numerazione ottale

� Sistema di numerazione esadecimale

Page 7: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [13]

Richiami di algebra di base: i logaritmi

Definizione:

(Inversa dell'esponenziale)

logaritmo del numero b in

base a quel numero c a cui

bisogna elevare a per

ottenere b. c=loga(b); ac=b

Prorietà:

1) log(a·b) = log(a) + log(b)

2) log(a/b) = log(a) � log(b)

3) log(ab) = b·log(a)

4) logb(x) = loga(x)/loga(b)

y = 2x

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [14]

Metodi per la stima

� Suffissi notevoli (10 / 3 » 1/log10

(2) = 1/0,301 = 3,322):

Suffisso Valore Decimale Approssimato » IEEE1541&IEC

Kilo 210

1.024 Mille 103 Ki: Kibi

Mega 220

1.048.576 Milione 106 Mi: Mibi

Giga 230

1.073.741.824 Miliardo 109 Gi: Gibi

Tera 240

1,0995*1012

Bilione 1012

Ti: Tebi

Peta 250

1,1259*1015

Biliardo 1015

Pi: Pibi

Exa 260

1,1529*1018

Trilione 1018

Ei: Exbi

2 4 8 16 32 64 128 256 512 1024

1 2 3 4 5 6 7 8 9 10

� Prime 10 potenze del 2

Page 8: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [15]

Metodi per la stima

Per una maggiore precisione su grandi numeri, usiamo: 1.000/301:

Valore 10^n IEEE1541&IEC 2^(n*1000/301) 2^(n*10/3)

Mille 103 Ki: Kibi 1000,7 1.024

Milione 106 Mi: Mibi 1.001.378 1.048.576

Miliardo 109 Gi: Gibi 1.002.067.277 1.073.741.824

Bilione 1012 Ti: Tebi 1,00276*1018 1,0995*1012

Biliardo 1015 Pi: Pibi 1,00345*1018 1,1259*1015

Trilione 1018 Ei: Exbi 1,00414*1018 1,1529*1018

--- 10100 ---- 1,0232*10100 2,2046*10100

Il rapporto 1000/301 � ovvero una maggior precisione nel calcolo di

log10

(2) = 0,30102999 - restituisce un valore inferiore di un�unità (un

bit in meno), rispetto a 10/3, già per numeri decimali oltre le 36 cifre.

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [16]

Es.: quanti bit per un numero decimale?

� X= 1.435.785

� 1M< x < 2M Þ 20 bit < n < 21 bit Þ 21bit [log2(x)=20,45]

� X = 20.345.444

� 16M< x < 32M Þ 24 bit < n < 25 bit Þ 25 bit [log2(x)=24,28]

� x = 300.456.231

� 256M< x < 512M Þ 28 bit < n < 29 bit Þ 29 bit [log2(x)=28,16]

Esercizio consigliato: riprovare moltiplicando/dividendo per 2

NB: l'arrotondamento di log2(x) va eseguito sommando 1 e prendendo la parte intera

2 4 8 16 32 64 128 256 512 1024

1 2 3 4 5 6 7 8 9 10

Page 9: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [17]

Es.: quante cifre decimali per n bit?

� n = 24 bit

n = 20+4 Þ 1M*16 Þ 16M Þ 8 digit (2,4*3 = 7,2; log10

(224)= 7,22)

� n = 32 bit

n = 30+2 Þ 1G*4 Þ 4G Þ 10 digit (3,2*3 = 9,6; log10

(232)= 9,63)

� n= 16 bit

n = 10 + 6 Þ 1K * 64 Þ 64K Þ 5 digit (1,6*3 = 4,8; log10

(216)= 4,82)

Esercizi consigliati: aumentare il valore dei bit e verificare il risultato

arrotondando log10

(2n) all'unità superiore

NB: Occorre distinguere tra: a) numero decimale massimo rappresentabile e

b) numero di combinazioni possibili con n bit.

2 4 8 16 32 64 128 256 512 1024

1 2 3 4 5 6 7 8 9 10

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [18]

Es.: parametri BIOS x Hard Disk

� head = 4 bit; settore = 6 bit; cilindro = 10

� head max 16, settore max 64, cilindro max 1024

� capacità max = 16 x 64 x 1024 x size_settore

� capacità max = 1M x size_settore

� capacità max = 512 MB (size_settore = 512)

� In realtà i settori si numerano da 1 a per cui occorre togliere 1024 x 16 x 512 = 8 MB

� capacità max = 512 - 8 = 504 MB = 528.482.304

2 4 8 16 32 64 128 256 512 1024

1 2 3 4 5 6 7 8 9 10

Page 10: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [19]

Sistemi di numerazione intermedi

Tenere a mente le prime 8 o 16 rappresentazioni binarie

Digit Binario Digit Binario

0 0000 8 1000

1 0001 9 1001

2 0010 A 1010

3 0011 B 1011

4 0100 C 1100

5 0101 D 1101

6 0110 E 1110

7 0111 F 1111

|_OTTALE_|

|___ESADECIMALE___|

Digit Binario

0 000

1 001

2 010

3 011

4 100

5 101

6 110

7 111|_OTTALE_|

135 7208

001 011 101 111 010 000

BBD0H

1011 1011 1101 0000

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [20]

Le Conversioni di Base

Conversione da decimale a binario:

� Convertire in ottale o esadecimale, usando le divisioni successive insieme ai valori noti

� Abituarsi a vedere il valore ottale o esadecimale come gruppi di 3 o 4 bit

Esadecim. Ottale Decimale Suffisso bit

100 400 256 1/4 K 8

200 1000 512 1/2 K 9

400 2000 1024 1 K 10

1000 10000 4096 4 K 12

10000 200000 65536 64 K 16

Page 11: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [21]

Rappresentazione binaria dei numeri relativi� Modulo e segno

il bit più significativo indica il segno: 1 se negativo

� Complemento a 2

Definizione: Cb(N) = bk-N ; k = dim.struttura Þ 1 seguito da k zeri

Decim. Hex (R) Hex (8bit) Hex (16 bit)

+57 +39 39 0039

-57 -39 B9 8039

-0 -0 80 8000

-1 -1 81 8001

Decim. Hex (R) Hex (8bit) Hex (16 bit)

+57 +39 39 0039

-57 2k - 39 C7 FFC7

-0 2k - 0 00 0000

-1 2k - 1 FF FFFF

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [22]

Operazioni con relativi a C2

CN = riporto su segno, CY = riporto ulteriore

Operazioni corrette

CY B CN O3 H4 H8 Dec

0 2 2 22 34 +

1 5 5 D5 -43 =

0 1 0 7 7 F7 -9 OK

CY B CN O3 H4 H8 Dec

0 4 2 42 66 +

1 5 5 D5 -43 =

1 0 1 1 7 17 23 OK

Operazioni Errate

CY B CN O3 H4 H8 Dec

0 2 2 22 34 +

0 7 5 75 +117 =

0 1 1 1 7 97 151 Errore

CY B CN O3 H4 H8 Dec

1 1 7 97 -105 +

1 2 1 A1 -95 =

1 0 0 3 8 38 -200 Errore

Page 12: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [23]

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [24]

Page 13: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [25]

Rappresentazione floating point dei numeri reali

Forma generica: [S][E][M] numero = (-1)S * M * 10 E

Esempio: Mantissa a 3 cifre decimali ed esponente a 2 cifre

�rappresento i numeri da 0,100 x 10-99 a 0,999 x 10+99

�Esistono 4 regioni non rappresentabili (1, 3, 5, 7)�Esistono solo 358.201 numeri rappresentabili (900*199*2+1)

�la densita� dei numeri e� differente (vedi puntini)�L�errore relativo dell�arrotondamento e� comunque costante

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [26]

Rappresentazione binaria dei numeri reali

Forma generica: [S][E][M] Þ (-1)S * (1+M) * 2E

Esempi:

Page 14: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [27]

Rappresentazione standard dei numeri reali

Forma generica: [S][E][M] Þ (-1)S * (1+M) * 2E

Nome Formato Nome in C Nome in f90 Totale S E M Cifre Decimali

Single float real*4 32 1 8 23 7

Double double real*8 64 1 11 52 16

Extended* long double? real*10+ 40+ 1 15+ 63+ 19+

Quadruple* long double??? real*16 128 1 15 112 34

Nome Formato Min Normal Max Normal Min Subnormal Machine Epsilon

Single 1.175e-38 3.403e+38 1.401e-45 1.192e-07

Double 2.2e-308 1.8e+308 4.9e-3246 2.220e-16

Extended <3.4e-4932 >3.4e+4932 <3.6e-4951 <1.084e-19

Quadruple 3.4e-4932 3.4e+4932 6.5e-4966 1.926e-34

Formato Ansi/IEEE 754-1985

Zero : M=0 ; E=0 µ : M=0; E=tutti �1�

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [28]

Esempio di formato IEEE 754

Forma generica: [S][E][M] Þ (-1)S * (1+M) * 2E

(esponente biased ovvero +n/2-1: 127 o 1023)

Real*4, negativo, esponente = 129 -127 = 2

(1+M) = 1,01 ; valore = - 1,01 * 22 = - 101 = - 510

Page 15: Rappresentazione dell’informazione · Extended 3.4e+4932

Ing. Massimo Trojani � Laboratorio di Architettura degli Elaboratori UNICAM 2012 [29]