Rappresentazione delle
informazioni


Occorre un codice
Legato alla tecnologia usata
• Robustezza
• Semplicita’
• Economicita’
1
© 1999 Roberto Bisiani
Rappresentazione delle
informazioni, cont.

Numeri
• Rappresentazione decimale codificata
• Rappresentazione posizionale
– Intera positiva e negativa
– Floating point (virgola mobile)

Informazione alfanumerica
• Codice ASCII (8 bit)
• Unicode (16 bit)

Indirizzi
• Rappresentazione posizionale
– Intera positiva
2
© 1999 Roberto Bisiani
Memoria
Numero
di parole
(milioni di byte)
Word, byte, …
Dimensioni di parola (8, 16, 32, 64 bit)
3
© 1999 Roberto Bisiani
Indirizzi





Necessari per memorizzare informazioni complesse
Indicano (puntano a) una locazione di memoria
Numeri positivi interi
Legame indirizzo massimo –dimensioni di parola di
memoria
In un’architettura vengono usate diverse dimensioni di
parola:
• Di memoria
– Logico
– Fisico
• Del data-path
• Dei bus di interconnessione
4
© 1999 Roberto Bisiani
Numeri interi positivi

Quindi
• Dati
• Indirizzi

Rappresentazione posizionale in base 10:
• Simboli uguali assumono valori diversi a seconda della loro
posizione nel numero
• Somma delle potenze del 10 pesate per il valore del simbolo
corrispondente
– In un calcolatore viene solitamente usata la base 2.

Vantaggi:
• Semplice da leggere
• Aritmetica semplice (provare con i numeri “romani”)
5
© 1999 Roberto Bisiani
Altre basi
Per convenienza si usano a volte altre base per manipolare
esternamente le informazioni all’interno di un
calcolatore.
Ottale (base 8)
Esadecimale (base 16)
MA LA RAPPRESENTAZIONE
INTERNA NON CAMBIA!!!!
6
© 1999 Roberto Bisiani
Altre basi

Non a caso sono basi “potenza di 2”
• La conversione da e a binario e’ molto facile

7
Il loro uso e’ superato grazie alla potenza delle interfacce
utente.
© 1999 Roberto Bisiani
Conversioni
Base B  decimale
Basta rappresentare usando una rappresentazione decimale
come potenze di B e poi fare i conti.
Es. 01001
0 * 24 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 8 + 1 = 9
8
© 1999 Roberto Bisiani
Conversioni, cont.
9
© 1999 Roberto Bisiani
Conversioni, cont.
Non sempre si puo’ rappresentare un numero finitamente
in due basi diverse.
Esempio: il numero 0,357 base 10 non si puo` rappresentare
finitamente in base 2:
0,357 * 2 = 0,714 e segno quindi 0
0,714 * 2 = 1,428 e segno quindi 1
0,428 * 2 = 0,856 e segno quindi 0
0,856 * 2 = 1,712 e segno quindi 1
0,712 * 2 = 1,424 e segno quindi 1
.........

10
© 1999 Roberto Bisiani
Numeri negativi

Segno e grandezza
• Non efficente nell’implementare le operazioni aritmentiche
11
© 1999 Roberto Bisiani
Numeri negativi, cont.

12
Complemento a uno
© 1999 Roberto Bisiani
Numeri negativi, cont.

13
Complemento a uno: due zeri, negazione facendo il
complemento bit a bit
© 1999 Roberto Bisiani
Numeri negativi, cont

14
Complemento a due: uno zero, negazione facendo
complemento a 1 e somma di 1.
© 1999 Roberto Bisiani
Operazioni aritmetiche


15
Numeri positivi: bit a bit dato che si tratta di una
rappresentazione posizionale
Numeri negativi: le rappresentazioni in complemento
permettono di utilizzare sempre la somma anche per
sottrarre
© 1999 Roberto Bisiani
Overflow

Overflow  traboccamento
• Si verifica se il risultato di un’operazione non puo’ essere
rappresentato con il numero di bit a disposizione

Nel caso di complemento a due (la norma):
• Si verifica solo se i segni sono uguali
-124+ 10000100
67= 01000011
_____ ________
-57 11000111
70+ 01000110
70= 01000110
____ ________
140 10001100
16
Segni discordi.
Risultato corretto.
Segni concordi.
Risultato scorretto (140 è fuori dal
range):OVERFLOW.
© 1999 Roberto Bisiani
Numeri frazionari

17
Fixed point
© 1999 Roberto Bisiani
Numeri frazionari



Floating point  come la notazione scientifica
esponenziale
Aumenta la gamma di valori rappresentabili
Diminuisce e dimenta variabile la precisione:
• NON TUTTI I VALORI SONO RAPPRESENTABILI!!!!!!!
• Esempio:
1753.427 si puo’ rappresentare come:
0.1753427*10^4=1.753427*10^3=...=1753427*10^-3
18
© 1999 Roberto Bisiani
Gamma di rappresentazione
Le possibilita’ di rappresentare un certo valore non sono
uniformi in tutta la gamma di valori rappresentabili.
Vedere figura B-1 (Numeri floating point )
19
© 1999 Roberto Bisiani
Una possibile rappresentazione
floating point

Standard IEEE 754
• Singola precisione, 32 bit
• Doppia precisione, 64
20
© 1999 Roberto Bisiani
Standard floating point



21
I numeri sono sempre normalizzati, cioe’ la parte
frazionaria e’ del tipo 1.xxxxxxxxx….
Il primo 1 non viene rappresentato perche’ implicito
Lo zero si rappresenta con un esponente e frazione a zero
© 1999 Roberto Bisiani
Rappresentazione dell’esponente


Biased, cioe’ “spostata” di meta’ della precisione
possibile
Esempio: se l’esponente e’ di 8 bit invece di rappresentare
l’esponente in complemento (da –128 a +127) lo si
rappresenta come:
• Esponente reale + 128
• Quindi l’esponente reale –128 viene rappresentato come 0,
l’esponente reale 0 come 128

22
Perche’? Per far si’ che due numeri floating point siano
confrontabili in grandezza dagli stessi circuiti che
confrontano i numeri interi.
© 1999 Roberto Bisiani
Esempio
23

A cosa corrisponde questo numero?

Il bit di segno è 1, mentre il campo esponente contiene
129 e il campo significant contiene 1x2^-2:
il numero corrispondente alla notazione è quindi -1.01 x
2^2, che corrisponde al numero decimale -1.25 x 4=-5.0
© 1999 Roberto Bisiani
Scarica

Trasparenze