Upload
lykhanh
View
217
Download
0
Embed Size (px)
Citation preview
-1.g
Rappresentazione delle informazioniRappresentazione delle informazioni
Informazioni numericheInformazioni numeriche
Testo di rif.to: [Congiu] - 1.1 (pg. 1–17)
1
Architettura degli Elaboratori © 2010
33
1. I sistemi di numerazione• Decimale, binario, esadecimale…• Conversioni di base
2. Le informazioni numeriche• Numeri naturali (senza segno o “unsigned”)• Numeri interi (con segno o “signed”)• Numeri non interi (⇒ fixed-/floating-point)
3. Le informazioni non numeriche• Testi, immagini, suoni, video…
Cosa vedremoCosa vedremo
2
Architettura degli Elaboratori © 2010
33(… a2a1a0.a-1a-2 …)b = = …+ a2·b2 + a1·b1 + a0·b0 + a-1·b-1 + a-2·b-2 +…= Σi ai·bi
Il sistema posizionaleIl sistema posizionale
• b è la base del sistema di numerazione
• Gli ai sono le cifre del numero• Il valore di una cifra dipende
dalla sua posizione
3
Architettura degli Elaboratori © 2010
33
Sistema decimaleSistema decimale
• b=10• Possibili cifre: {0;1;2;3;4;5;6;7;8;9}
2 / 102
4 / 10 +
5 +
9 · 10 +
0 · 102 +2 · 103 +2095.4210=
4
Architettura degli Elaboratori © 2010
33
Sistema binarioSistema binario
• b=2• Possibili cifre: {0;1}
1 / 23
0 / 22 +1 / 2 +1 +1 · 2 +0 · 22 +1 · 23 +1 · 24 +
= 27.62510
11011.1012 =
5
Architettura degli Elaboratori © 2010
33
Sistema ottaleSistema ottale
• b=8• Possibili cifre: {0;1;2;3;4;5;6;7}
1 / 8
5 +
7 · 8 +3 · 82 +
= 253.12510
375.18 =
Una cifra ottale può rappresentare 3 cifre binarie:
1536001101011110
1100111010012 = 63518
6
Architettura degli Elaboratori © 2010
33
Sistema esadecimaleSistema esadecimale
• b=16• Possibili cifre: {0;1;2;3;4;5;6;7;8;9;A;B;C;D;E;F}
1 / 16
9 +
11 · 16 +7 · 162 +
= 1977.062510
7B9.116 =
Una cifra esadecimale può rappresentare 4 cifre binarie:
9EC100111101100
1100111010012 = CE916
7
Architettura degli Elaboratori © 2010
33• Da ottale/esadecimale a binario:
espansione di ogni cifra in una terna/quaterna di cifre binarie.
• Da binario a ottale/esadecimale:raggruppamento in terne/quaterne di cifre e sostituzione di ciascuna terna/quaterna con l’opportuna cifra ottale/esadecimale.
• Da qualsiasi base a decimale:applicando la definizione di notazione posizionale.
Conversioni di base (1 di 4)Conversioni di base (1 di 4)
8
Architettura degli Elaboratori © 2010
33
Conversioni di base (2 di 4)Conversioni di base (2 di 4)
Da decimale a qualsiasi altra base bParte intera: si prendono i restidelle divisioni successive per b
Esempio: 200910 = 7D916
resto: 707/16 =resto: 13=D167125/16 =resto: 91252009/16 =
Il procedimento si arresta
L’ultima cifraè la piùsignificativa
9
Architettura degli Elaboratori © 2010
33
Conversioni di base (3 di 4)Conversioni di base (3 di 4)
Da decimale a qualsiasi altra base bParte frazionaria: si prendono le parti interedelle moltiplicazioni successive per b
Esempio: 0.687510 = 0.10112
parte intera: 110.5·2 =parte intera: 11.50.75·2 =parte intera: 00.750.375·2 =parte intera: 11.3750.6875·2 =
Il procedimento si arresta
La prima cifraè la piùsignificativa
10
Architettura degli Elaboratori © 2010
33
Conversioni di base (4 di 4)Conversioni di base (4 di 4)
Da decimale a qualsiasi altra base bParte frazionaria
Il procedimento può anche essere infinito!Esempio: 0.310 = 0. …
parte intera: 11.20.6·2 =parte intera: 11.60.8·2 =parte intera: 00.80.4·2 =
………
parte intera: 00.40.2·2 =parte intera: 11.20.6·2 =parte intera: 00.60.3·2 =
010012
11
Architettura degli Elaboratori © 2010
33
11Rappresentazione negli elaboratoriRappresentazione negli elaboratori
Negli elaboratori, l’elemento base per la rappresentazione delle informazioni è il BInary digiT o piùsemplicemente BIT (Tukey, 1947).
Può essere realizzato in molti modi diversi (carica elettrica, campo magnetico, ecc.), ma in tutti i casi può assumere esattamente 2 valori e corrisponde quindi a una cifra binaria.
Qualsiasi informazione in un elaboratore è rappresentata tramite un numero finito di bit.
12
Architettura degli Elaboratori © 2010
33
Rappresentazione finita: osservazioneRappresentazione finita: osservazione
Utilizzando un numero di cifre finito si può rappresentare solo una quantità finita di numeri.Esempio per i numeri naturali:
1073741823023030210485750220202
102302101021502442
2M-102MM2
9999010441010M-1010MM10
maxminquantitàn. di cifrebase
13
Architettura degli Elaboratori © 2010
33
Potenze di 2Potenze di 2
Quando il numero di bit è elevato, si usano delle abbreviazioni analoghe a quelle delle unità di misura
yotta-
zeta-
exa-
peta-
tera-
giga-
mega-
kilo-
Nome
1Y
1Z
1E
1P
1T
1G
1M
1K
Prefisso ValorePot. di 2
~1.2 x 10 242 80
~1.2 x 10 212 70
~1.2 x 10 182 60
~1.1 x 10 152 50
~1.1 x 10 122 40
1.073.741.8242 30
1.048.5762 20
1.0242 10
yobi-
zebi-
exbi-
pebi-
tebi-
gibi-
mebi-
kibi-
1Yi
1Zi
1Ei
1Pi
1Ti
1Gi
1Mi
1Ki
IEC60027
14
Architettura degli Elaboratori © 2010
33
Numeri naturaliNumeri naturali
Esempio di rappresentazione con M=4 cifre (bit):
1510=11112
1410=11102
…410=01002
310=00112
210=00102
110=00012
010=00002
I numeri maggiori di 15 non sono rappresentabili.
15
Architettura degli Elaboratori © 2010
33
Numeri interi: ampiezza e segnoNumeri interi: ampiezza e segno
Il primo bit (quello più significativo) viene utilizzato per indicare il segno:
+010=00002
-010↔10002
…
+710=01112
+610=01102
…+110=00012
-110↔10012
-510↔11012
-610↔11102
-710↔11112
2 rappresentazionidello 0
Si riduce il numerodi interi positivirappresentabili
16
Architettura degli Elaboratori © 2010
33
Numeri interi: eccesso PNumeri interi: eccesso P
Il valore rappresentato si ottiene sottraendo Pal valore calcolato secondo la notazione posizionale.Esempio con M=4 e P=8 (di solito P=2M-1):
010↔10002
…
710↔11112
610↔11102
…110↔10012
-110↔01112
-610 = 210-810↔00102
-710 = 110-810↔00012
-810 = 010-810↔00002
Una sola rappresentazione
dello 0
Dissimmetria
17
Architettura degli Elaboratori © 2010
33
Numeri interi: complemento a 1Numeri interi: complemento a 1
La rappresentazione di un intero positivo coincide con quella del corrispondente numero naturale.La rappresentazione di un intero negativo si ottiene complementando bit a bit quella del suo opposto.
+010=00002
-010↔11112
…
+710=01112
+610=01102
…+110=00012
-110↔11102
-610↔10012
-710↔10002
2 rappresentazionidello 0
18
Architettura degli Elaboratori © 2010
33
Numeri interi: complemento a 2Numeri interi: complemento a 2
La rappresentazione di un intero positivo coincide con quella del corrispondente numero naturale.La rappresentazione di un intero negativo si ottiene aggiungendo una unità al complemento a 1.
010=00002
-110↔11112
…
+710=01112
+610=01102
…+110=00012
-710↔10012
-810↔10002
19
Architettura degli Elaboratori © 2010
33
Complemento a 2: proprietComplemento a 2: proprietàà
È il metodo di rappresentazione più diffuso, perché èl’unico tra quelli visti con tutte le seguenti proprietà.
• Ha una sola rappresentazione dello 0.• Ha una struttura ciclica: aggiungendo 1 al massimo numero rappresentabile si ottiene il minimo numero rappresentabile.• Consente le operazioni aritmetiche con i numeri negativi usando le stesse regole valide per i numeri positivi. Esempi:
-11111+70111-41100+40100+30011+30011
20
Architettura degli Elaboratori © 2010
33
Complemento a 2: Complemento a 2: overflowoverflow
Nell’eseguire le operazioni aritmetiche, ci si deve comunque assicurare che il risultato sia rappresentabile con il numero di bit a disposizione.Se ciò non è vero (overflow), l’esito dell’operazione èprivo di significato.
Come riconoscere l’overflow? Tramite i riporti.
OVERFLOW (-)SiNo
OKSiSiOVERFLOW (+)NoSi
OKNoNo
Esitodell’operazione
Riporto “nel bit a SX del segno”
Riporto nel bit di segno
21
Architettura degli Elaboratori © 2010
33
OverflowOverflow: esempi: esempi
-111←0101OVERFLOWSiNo-61010
EsitoRip. SX bit segnoRip. bit segno-51011
+70111OKNoNo+20010
EsitoRip. SX bit segnoRip. bit segno+50101
+91001OVERFLOWNoSi+60110
EsitoRip. SX bit segnoRip. bit segno+30011
-71←1001OKSiSi-21110
EsitoRip. SX bit segnoRip. bit segno-51011
22
Architettura degli Elaboratori © 2010
33
Numeri non interi (1 di 2)Numeri non interi (1 di 2)
FIXED-POINTR = I.F
I: parte intera; F: parte frazionaria
Il numero di bit riservati a I e a F non dipendeda R: il punto decimale è fisso.A seconda delle applicazioni, la posizione del puntodecimale può essere codificata o implicita.
Nota: un numero con NF cifre frazionarie può esseretrattato come un intero se viene moltiplicato per 2NF
23
Architettura degli Elaboratori © 2010
33
Numeri non interi (2 di 2)Numeri non interi (2 di 2)
FLOATING-POINT (standard IEEE 754)R = M·2E
M = {s }1.mE = e - 127
1 8 bit 23 bit
e m
31 30 23 22 0↓ ↓ ↓↓ ↓
s
24
Architettura degli Elaboratori © 2010
33
Rappresentazione floatingRappresentazione floating--pointpoint
Standard IEEE 754R = M·2E
⇒ M (mantissa) 24 bit: 1 per il segno s (0=“+”)23 per l’ampiezza
1.xxx…xx - in notazione fixed point normalizzata;la parte intera (sempre 1) non viene rappresentata,i 23 bit rappresentano la parte frazionaria m = xxx…xx
⇒ E (caratteristica) 8 bit: in notazione eccesso 127(e)
25
Architettura degli Elaboratori © 2010
33
Rappresentazione Rappresentazione floatingfloating--pointpoint: esempio: esempio
001100110011001100110011 8 bit 23 bit
01111101
31 30 23 22 0↓ ↓ ↓↓ ↓
0
Es: 0.310 = 0.010012 = 1.00112·2-2
M = +1.0011 s = 0 m = 0011E = -2 = e-127 e = 12510 = 011111012
Standard IEEE 754R = M·2E
In esadecimale: 3E999999
26
Architettura degli Elaboratori © 2010
33
R = M·2E
Intervallo dei numeri rappresentabiliM = {s }1.m 1.00…02 ≤ |M| ≤ 1.11…12
E = e – 127 0≤ e ≤255 ⇒ -127≤ E ≤+128i valori estremi sono riservati per situazioni particolari: e = 0 ⇒ il numero 0 (se m = 0)
(se m ≠ 0) numero non normalizzatoe = 255 ⇒ il numero ∞ (se m = 0)
(se m ≠ 0) numero non valido
Numeri f.p. rappresentabiliNumeri f.p. rappresentabili
1 8 bit 23 bite m
31 30 23 22 0↓ ↓ ↓↓ ↓s
1 ≤ |M| ≤ 2-2-23
-126 ≤ E ≤ 127
27
Architettura degli Elaboratori © 2010
33
R = M·2E
il numero P con modulo più piccolo (≠0):P = 1·2-126 ≈ 1.1810·10-38
(con mantissa normalizzata)
P = 0.0…01·2-126 ≈ 2-149 ≈ 1.410·10-45
(non normalizzato)
il numero G con modulo più grande:G = (2 - 2-23 ) ·2+127 ≈ 3.410·10+38
Numeri f.p. rappresentabiliNumeri f.p. rappresentabili
1 ≤ |M| ≤ 2-2-23 -126 ≤ E ≤ 127
28
Architettura degli Elaboratori © 2010
33
R = M·2E
Intervallo dei numeri rappresentabili sull’asse reale:
degli infiniti numeri reali compresi tra - G e G sono rappresentabili con esattezza solo 232 (≈4·109) numeri razionali (in realtà un po’ meno); in generale un numero reale R sarà rappresentato dal più vicino di questi numeri razionali; l’errore di approssimazione è ≤ d/2
Numeri f.p. rappresentabiliNumeri f.p. rappresentabili
erra ≤ d/2
G ≈ 3.410·10+38P ≈ 1.410·10-45
·0
R
d
P-P G-G
29
Architettura degli Elaboratori © 2010
33
R = M·2E
Intervallo dei numeri rappresentabili sull’asse reale:
d è la differenza tra due numeri rappresentabili consecutivi:
Numeri f.p. rappresentabiliNumeri f.p. rappresentabili
erra ≤ d/2 = 2E-24
G ≈ 3.410·10+38P ≈ 1.410·10-45
·0
R
d
P-P G-G
1.xx…x1·2E
-1.xx…x0·2E
d=0.00…01·2E = 2E-23
30
Architettura degli Elaboratori © 2010
33
R = M·2E
Intervallo dei numeri rappresentabili sull’asse reale:
l’errore assoluto di approssimazione erra è funzione di E: ▪ erra è piccolo vicino allo 0 (2-126-24) ▪ erra è grande vicino a ± G (2+127-24)
Ma ciò che più interessa è l’errore relativo errr :
erra≤d/2=2E-24 G ≈ 3.410·10+38P ≈ 1.410·10-45
Errori nella rappresentazione f.p.Errori nella rappresentazione f.p.
P-P G-G
0
erra 2E-24 2-24errr = = = (1≤M<2)
R M·2E M
errr ≤ 2-24 ≈ 10-8
31
Architettura degli Elaboratori © 2010
33
R = M·2E
Intervallo dei numeri rappresentabili sull’asse reale:
precisione: ≈ 7 decimali significativi (es: h=173.4768 cm) Esempi di grandezze fisiche “estreme” i cui valori sono “gestibili” con questa rappresentazione f.p.:
▪ distanza terra - quasar: ≈ 1027 m▪ dimensione quark: ≈ 10-18 m
P-P G-G
0
G ≈ 3.410·10+38P ≈ 1.410·10-45errr≤2-24 ≈ 10-8
Caratteristiche della rappresentazione f.p.Caratteristiche della rappresentazione f.p.
32
Architettura degli Elaboratori © 2010
33
FLOATING POINT (standard IEEE 754) R = M·2E
PRECISIONE DOPPIA: 64 bit
Caratteristiche della rappresentazione f.p.Caratteristiche della rappresentazione f.p.
M = {s }1.mE = e - 1023
1 11 bit 52 bit
e m
63 62 52 51 0↓ ↓ ↓↓ ↓
s
33
Architettura degli Elaboratori © 2010
33
R = M·2E
PRECISIONE DOPPIA: 64 bit
precisione: ≈ 16 cifre decimali significative. Sono rappresentabili solo 264 = 16 E (EXA = 1018) degli infiniti numeri reali compresi tra -G e G.Esempio di grandezza fisica estrema gestibile con questa rappresentazione f.p.:
▪ numero di particelle subatomiche nell’universo: ≈ 1080
P-P G-G
0
G ≈ 1.810·10+308P ≈ 2.210·10-308errr ≈ 10-17
Rappresentazione f.p. in precisione doppiaRappresentazione f.p. in precisione doppia