Memoria e informazioni
INFORMAZIONE
ISTRUZIONI
REALI
DATI
NUMERICI
INTERI
NON
NUMERICI
CARATTERI
ALTRI
Rappresentazione dell’informazione
Rappresentazione
mediante opportuna
codifica
1
I dati multimediali
ALTRI
Immagini
Vettori
Mappa
di bit
TIFF
Filmati
Audio
MPEG
WAV
AVI
MIDI
……..
……..
DWG
……..
BMP
COMPRESSIONE
DEI DATI
Rappresentazione dell’informazione
JPEG
GIF
……..
2
Rappresentazione in macchina

I dati di macchina sono memorizzati
in registri. Esistono registri singoli e
registri organizzati in sistemi detti in
generale memorie.
Rappresentazione dell’informazione
3
Numeri interi
Sistema di numerazione
Nel romano ciascuna
cifra esprime una quantità
indipendente dalla
propria posizione
Nel decimale ogni cifra ha
un'importanza (peso) variabile a
seconda della sua posizione nel
numero (codice): ad esempio, la
prima cifra a destra indica le
unità, la seconda indica le
decine, la terza le centinaia, ecc.
Rappresentazione dell’informazione
4
Esempi di sistemi di numerazione
84079 =
8*104+4*103+0*102+7*101+9*100=
80000 + 4000 + 0 + 70 + 9
MML
(2050)
MDCCCLXXXVIII (1888)
Il simbolo L esprime il numero
decimale 50 indipendentemente
dalla sua posizione
Rappresentazione dell’informazione
5
Caratteristiche

La logica dei sistemi di numerazione
posizionali pesati non dipende dalla base

Fissati k simboli si può definire un
sistema posizionale in base k

La base di rappresentazione si specifica:
(4791)10
(1431)5 (10101)2
Rappresentazione dell’informazione
6
Sistema binario
Con i due simboli 0 e 1 si definisce il
sistema con base 2
(11001101)2 =
1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 =
128 + 64 + 0
+0
+8
+4
+0
+1
=
(205)10
Con otto bit
256 Valori
Numeri naturali
da 0 a 255
Rappresentazione dell’informazione
7
Le operazioni in binario
Somma
Prodotto
+ 0 1
0 0 1
Tabelline
1 1 10
* 0
1
0 0
0
1 0 1
Riporto e
prestito
Rappresentazione dell’informazione
8
Esempi
01010101+
01010110-
00010111=
10
10
11
1
10
1
1
0
01101100
00010101=
1
0
0
0
prestito
0
0
1
0
01000 00 1
Riporto e
Rappresentazione dell’informazione
0 10 1
9
Modello grafico di addizionatore
0000
1111
0001
0010
1110
15
0
14
1101
1
2
0011
3
13
1100
4
12
11
5
1011
10
8
1010
1001
0100
0101
6
9
Sottrazione
14-9=5
7
0110
0111
1000
Rappresentazione dell’informazione
Addizione
10
L’overflow
Impossibilità di gestire tutti i bit del risultato
1
1
0
1
1
0
1
0
0
+
1
0
0
1
0
0
1
0
=
0
1
0
0
0
1
1
0
Problemi di errori
Rappresentazioni finite
Rappresentazione dell’informazione
Problemi di approssimazioni
11
La rappresentazione
esadecimale
In base 2 un numero e’ 3.3 volte piu’ lungo dello
stesso numero espresso in decimale
Stringhe di bit troppo lunghe e difficili da gestire, allora:
cifra
esadecimale
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
A
1010
B
1011
C
1100
D
1101
E
1110
F
1111
Rappresentazione dell’informazione
se si fa in modo che
per la codifica delle
cifre si adopera la
numerazione binaria
pura
12
Binario - Esadecimale
Il passaggio da una rappresentazione all’altra e’ immediato
1100110102 =
41010 =
1*28 + 1*27 + 0*26 + 0*25 + 1*24 + 1*23+ 0*22 + 1*21 +
0*20 =
(0*23+0*22+0*21 +1*20)*28 + (1*23+0*22+0*21
+1*20)*24 + (1*23+0*21+1*20 +0*20)*20 =
1 * 162 + 9 * 161 + 10 * 160 =
19A16
Rappresentazione dell’informazione
13
Trasformazione
• Si raggruppano i bit in gruppi di quattro a partire dalla cifra
meno significativa (cioe’ da sinistra a destra)
• Ogni gruppo dev'essere sostituito con la corrispondente cifre
ESADECIMALE
1 1001 1010
1
Rappresentazione dell’informazione
9
A 16
14
Conversioni di base
Da una base k qualsiasi a quella decimale:
• è sufficiente considerare la successione di cifre con
il peso nella base K assegnata,
• si esegue la somma,
• ovviamente in decimale !
Rappresentazione dell’informazione
15
Esempi

Da base 2
(1011)2 = 1*23 + 1*21 + 1*20 = 13

Da base 8
(31)8 = 3*81 + 1*80 = 25

Da base 16
(18)16 = 1*161 + 8*160 = 24
Rappresentazione dell’informazione
16
Conversione da base 10 a k


Detto
N il valore da trasformare e
cn,cn-1,…c1,c0 le cifre da trovare
N= cn*kn + cn-1*kn-1 +…+ c1 *k + c0
Allora dividendo entrambi i membri per K
N/K= cn*kn-1 + cn-1*kn-2 +…+ c1
con resto c0
(N/K)/K= cn*kn-2 + cn-1*kn-3 +…+ c2
con resto c1
Rappresentazione dell’informazione
17
Esempio per base 2
98
49
24
12
6
3
1
:
:
:
:
:
:
:
2
2
2
2
2
2
2
--->
--->
--->
--->
--->
--->
--->
q1
q2
q3
q4
q5
q6
q7
= 49, r1 = 0
= 24, r2 = 1
= 12, r3 = 0
= 6, r4 = 0
= 3, r5 = 0
= 1, r6 = 1
= 0, r7 = 1
c0
c1
c2
c3
c4
c5
c6
Pertanto:
(98)10 = (1100010)2
Rappresentazione dell’informazione
18
Esempio per base 8
799
99
12
1
Pertanto:
:
:
:
:
8
8
8
8
--->
--->
--->
--->
q1
q2
q3
q4
= 99, r1 = 7
= 12, r2 = 3
= 1, r1 = 4
= 0, r4 = 1
(799)10 = (1437)8
Rappresentazione dell’informazione
19
Esempio per base 16
1479 : 16 ---> q1 = 92, r1 = 7
92 : 16 ---> q2 = 5, r2 = (12)10 ovvero C
5 : 16 ---> q3 = 0, r3 = 5
Pertanto:
(1479)10 = (5C7)16
Rappresentazione dell’informazione
20
I numeri frazionari
N = c-1*k-1 + c-2*k-2 +…+ c-x *k-x
con k = 2
(0.1011)2 = 1*2-1 + 0*2-2 + 1*2-3 + 1*2-4
= 1*1/2 + 0*1/4 + 1*1/8 + 1*1/16
= 0.5 + 0.125 + 0.0625
= 0.6875
Rappresentazione dell’informazione
21
Per i numeri frazionari
Conversioni separate per parte intera e frazionaria
Per la sola parte frazionaria:
• si moltiplica il numero per la base k
• si prende la parte intera del risultato e si moltiplica di
nuovo per k
• si termina quando la parte frazionaria diventa nulla
• oppure quando ci si accorge della presenza di un
periodo
Rappresentazione dell’informazione
22
Conversione numero
frazionario
N= c-1*k-1 + c-2*k-2 +…+ c-x *k-x
si moltiplica per k
N*k= c-1*1 + c-2*k-1 +…+ c-x *k-x+1
con parte intera c-1
Rappresentazione dell’informazione
23
Esempio
0.1
0.2
0.4
0.8
0.6
0.2
Pertanto:
*
*
*
*
*
*
2
2
2
2
2
2
--->
--->
--->
--->
--->
--->
i1
i2
i3
i4
i5
i6
=
=
=
=
=
=
0,
0,
0,
1,
1,
0,
p1
p2
p3
p4
p5
p6
=
=
=
=
=
=
0.2
0.4
0.8
0.6
0.2
0.4
c-1
c-2
c-3
c-4
c-5
c-6
(0.1)10 = (0.00011)2
con approssimazione !
0.09375
Rappresentazione dell’informazione
24
Un bit di segno
Si può convenire che l’ottavo bit indichi il segno:
0111 1011
+ 111 1011
1100 1010
- 100 1010
rappresentazione per segno e modulo ben nota
Con otto bit
256 Valori
Numeri interi
da -127 a +127
….. ci sono problemi ………
Rappresentazione dell’informazione
25
Un bit di segno (cont.)
• Due rappresentazioni dello zero
0000 0000
1000 0000
• Algoritmi diversi e complicati per somma e sottrazione
…. Meglio allora….
Rappresentazione dell’informazione
26
Complemento alla base
Il valore del numero si ottiene
sulla base sempre dell’ottavo bit
•0
positivi
•1
negativi
Dalla somma
• valore delle prime sette
cifre
• l’ottava considerata
negativa
Rappresentazione dell’informazione
Dal valore delle
prime sette cifre
10001000 =
-1*27 + 1*23
27
Complemento alla base(cont.)
c7 c6 c5 c4
c3 c2 c1
c0
Se c7 =0, il numero è positivo e pari a :
c6*26+c5*25+c4*24+c3*23+c2*22+c1*21+c0*20
Se c7 =1, il numero è negativo e pari a :
-1*27 +c6*26+c5*25+c4*24+c3*23+c2*22+c1*21+c0*20
Rappresentazione dell’informazione
28
Alcuni esempi
20
21
22
23
24
25
26
27
1
2
4
8
16
32
64
128
Con otto bit
1000 0000
0000 0100
1001 0010
1111 1111
0000 0000
1010 1010
-128+0
4
-128+18
-128+127
0
-128+42
256 Valori
-128
4
-110
-1
0
-86
Numeri interi
da -128 a +127
Rappresentazione dell’informazione
29
Caratteristiche
Il valore negativo si ottiene semplicemente.
• si fissa il modulo
0000 1111
• si complementano
tutte le cifre
1111 0000
-128+112 =
-16
• si aggiunge 1
all’ultima cifra
1111 0001
-128+113 =
-15
Rappresentazione dell’informazione
15
30
Caratteristiche

Un unico algoritmo per la somma e la
sottrazione !
0000 1000+
1000 1000=
------------------1001 0000
Rappresentazione dell’informazione
8+
-120=
----------112
31
Binary Coded Decimal
Alcuni sistemi adottano anche una aritmetica decimale
poiché log2 10 =4 bit
B.C.D.
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Sistema decimale codificato in binario
Rappresentazione dell’informazione
32
B.C.D. in memoria
1 byte = 8 bit
1 sola cifra
zoned
2 cifre
packed
Con i primi quattro bit scelti
per semplificare le operazioni
di input ed output
Rappresentazione dell’informazione
Per ridurre l’occupazione di
memoria
33
Caratteristiche
•in input
il numero e’ organizzato in formato packed
•in memoria
levando ad ogni byte i “bit di zona”,
si compattano le cifre in formato packed
•in output
si aggiungono ad ogni cifra i bit di zona
•per i numeri negativi
•4 bit sono indicativi del segno a fianco della cifra meno
significativa
•rappresentazioni in segno e modulo o in complemento a 10
Rappresentazione dell’informazione
34
Operazione in memoria
• Le operazioni procedono dalle cifre meno significative fino a
quelle piu’ significative
• presenza di una indicazione del numero delle cifre
• correzioni necessarie quando il risultato di una operazione su
due cifre eccede 10101
Rappresentazione dell’informazione
35
Esempio
4+
5=
9
0100 +
0101 =
1001
5+
9=
14
0101 +
1001 =
1110 +
0110 =
(1) 0100
10 + 4
Rappresentazione dell’informazione
si somma 6
36
Carry e Half-Carry
Nella rappresentazione packed si introduce il riporto che si
genera sommando le prime cifre
38 +
0011 1000 +
12 =
0011 0010 =
50
0100 1010
0110
0100 0000
1
0101 0000
Half-carry
mentre il carry propaga il riporto tra un byte e l’altro
Rappresentazione dell’informazione
37
Numeri reali
Due differenti rappresentazioni:
Virgola in
posizione
non fissata
Floating
point
Virgola in
posizione
fissata
323.87611
Rappresentazione dell’informazione
0.231E21
Più
agevole
38
Floating point
Infinite rappresentazioni di uno stesso valore
0.002
2E-3
20E-4
0.002E0
……….
Per poter scegliere quella più opportuna
Rappresentazione dell’informazione
39
Floating point
• Se si considera che i registri di memoria consentono
rappresentazioni finite nel numero di cifre
• Si può così scegliere la rappresentazione che contiene
il maggior numero di cifre significative.
0.0000234
234E-5
0.00345671
346E-3
Calcolatrice con
sole tre cifre
Eliminando gli zeri a sinistra e prendendo le cifre che è
possibile rappresentare dopo aver approssimato l’ultima
Rappresentazione dell’informazione
40
Caratteristiche
Rappresentazione mediante una coppia di interi
-128E23
MANTISSA
Rappresentazione dell’informazione
ESPONENTE
41
Diverse rappresentazioni
Singola Precisione
4 byte
31
23
22
0
Doppia Precisione
8 byte
14-15 cifre
63
55 54
Rappresentazione dell’informazione
0
42
Problemi
Le operazioni nella rappresentazione in virgola mobile sono:
Somma/Sottrazione (allineamento delle mantisse)
100*100 + 100*10-2 = (100 + 001)*100 = 101*100
Prodotto/Divisione
operazioni diverse su mantisse ed esponente:
prodotto/divisione
Mantisse
somma/sottrazione
Esponenti
0,10*101 x 0,20*102 = (0,10 x 0,2)*101+2 = 0,02*103
Rappresentazione dell’informazione
43
Implicazioni
• con trasformazione del risultato per recuperare tutte le cifre
significative
• approssimazione della mantissa durante l’allineamento
per arrotondamento
146 *10-1 + 500*100 = 015 *100 + 500 *100 = 515 *100
per troncamento
146 *10-1 + 500*100 = 014 *100 + 500 *100 = 514 *100
Rappresentazione dell’informazione
44
Caratteri
Per rappresentare i caratteri esistono vari codici
stringa di bit
simbolo
gli standard accettati sono:
EBCDIC
8 bit
ASCII
7 bit
(ASCII esteso 8 bit = 256 simboli)
Lo standard e’ importante affinche’ sistemi diversi comunichino tra
loro
Rappresentazione dell’informazione
45
Codice ASCII
Rappresentazione dell’informazione
46
Per comunicare con il mondo
A
0100 0001
A
0110 0001
9
0011 1001
8
0011 1000
7
0011 0111
zona valore
Rappresentazione dell’informazione
Necessità di identificare
dispositivi e meccanismi
47
UNICODE
Alfabeto universale
Rappresentazione dell’informazione
48
I dati multimediali
La realtà è continua
La codifica delle informazioni è discreta
Rappresentazione dell’informazione
49
Da analogico a digitale

Un media analogico può essere rappresentato
matematicamente sempre come una funzione continua
del tempo, mentre una rappresentazione digitale è una
rappresentazione discreta di questa.

La trasformazione da analogico a digitale si realizza per
mezzo una operazione detta campionamento ed una di
quantizzazione:


a intervalli regolari di tempo, si va a osservare quali valori
assume la funzione analogica e se ne conservano le
osservazioni o campioni
l’operazione di quantizzazione approssima i campioni ad un
certo numero prefissato di livelli
Rappresentazione dell’informazione
50
Convertitori Analogici Digitali
(ADC) e Digitali Analogici (DAC)
Rappresentazione dell’informazione
51
Codifica delle Immagini

Nel mondo reale, una immagine è un
insieme continuo di informazioni



luce, colore
Il calcolatore tratta informazioni discrete
E’ allora necessario scomporre
l’informazione in un insieme finito di
elementi che verranno codificati con
sequenze di bit
Rappresentazione dell’informazione
52
Le Immagini BitMap (1)

La scomposizione più ovvia consiste nel
suddividere l’immagine in un reticolo di
punti detti pixel (picture element)
10000000
11000000
11100000
11111000
11111100
11111111
Rappresentazione dell’informazione
10000000
11000000
11100000
11111000
11111100
11111111
53
Le Immagini BitMap (2)

Ogni punto del reticolo viene codificato
con uno o più bit.


per immagini a due soli colori, bianco e nero,
1 bit/pixel
per immagini a livelli di grigio, (256 livelli),
8 bit/pixel
Rappresentazione dell’informazione
54
Charge Coupled Device dispositivo
ad accoppiamento di carica


Gli occhi elettronici che acquisiscono
una areola del mondo:
percependone le
caratteristiche di
colore, luminosità, etc,
Più piccola è l’areola,
più vicine sono tra loro,
più numerose sono
Rappresentazione dell’informazione
Migliore la qualità
dell’immagine acquisita
55
Le immagini a Colori


La colorimetria spiega che un colore può
essere ottenuto tramite combinazione di
almeno tre colori base detti primari
Se i tre colori base sono il Rosso, il Verde
ed il Blu si ha lo spazio RGB
Color = a R + b G + c B

Con 8 bit/colore base, per ogni colore si
useranno 24 bit, ovvero circa 16 milioni di
colori diversi
Rappresentazione dell’informazione
56
I formati BitMap


Ciascuna immagine viene memorizzata
con diversi formati bitmap alcuni dei quali
prevedono forme di compressione
Tra i formati più comuni,





Tagged Image File Format TIFF
Graphics Interchange Format GIF
Joint Photographers Expert Group JPEG
Microsoft Bit Map BMP e Device Independent BitMap
DIB
PC Paintbrush PCX
Rappresentazione dell’informazione
57
Alcune dimensioni dei BITMAP
Immagine
Definizione Colori
Televisiva
720x625
SVGA
1024x768
Bit
Occupazione
256
8
440 Kb
65536
16
1,5 Mb
Fotografia 15000x10000 16 M
24
430MB
Rappresentazione dell’informazione
58
Le Immagini Vettoriali

Una immagine viene descritta in modo
astratto attraverso gli elementi grafici di
alto livello (linee, archi, colori) che la
costituiscono
Triangle 0, 0, 0, 100, 100, 100
Rappresentazione dell’informazione
59
Caratteristiche della Grafica
Vettoriale


Ogni figura è codificata tramite un identificatore
e alcuni parametri di posizione (punti, lunghezze
di segmenti..)
Pro



Indipendenza dal dispositivo di visualizzazione e dalla sua
risoluzione
possibilità di modifiche ad alto livello
Contro:


Una immagine reale non è sempre scomponibile in elementi
primitivi
Per Visualizzare occorre avere lo stesso programma di
Generazione del File Vettoriale
Rappresentazione dell’informazione
60
I formati Vettoriali

Tra i formati grafici più diffusi, vanno
ricordati

PostScript PS




EPS
PDF
Drawing eXchange Format (DXF)
Initial Graphics Exchange Specifications
(IGES)
Rappresentazione dell’informazione
61
Un disegno astratto
Gli elementi non perdono la loro identità
Rappresentazione dell’informazione
62
Le immagini in Movimento

L’occhio umano ricostruisce l’informazione di
movimento se riceve una successione
sufficientemente rapida di immagini fisse



Cinema: 24 fotogrammi/sec
TV: 25 o 30 fotogrammi/sec
Lo standard MPEG (Moving Picture Expert
Group) è sostanzialmente la codifica di ciascun
frame fisso, oltre alla codifica di suoni,
attraverso tecniche di Compressione Dei Dati.

senza compressione, 1 min. di filmato a 24 fotogrammi /sec
occuperebbe 644MB
Rappresentazione dell’informazione
63
Pulse Code Modulation
Campionamento (Hz) Bit
Mono/Stereo Occupazione Kb/s
8.000
8
8/ 16
8.000
16
16/ 31
11.025
8
11/ 22
11.025
16
22/ 43
22.050
8
22/ 43
22.050
16
46/ 86
44.100
8
43/ 86
44.100
16
86/172
Rappresentazione dell’informazione
64
Scarica

Un esempio di MICROPROCESSORE