Sei sulla pagina 1di 19

Rappresentazione

dell’informazione
Organizzazione memoria e codifica
delle informazioni

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Come rappresentare l’informazione

• 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 - Architettura degli Elaboratori UNICAM 2021

1
Vantaggi dell’alfabeto binario
• EFFICIENZA
– Operazioni binarie molto veloci
• SEMPLICITA’
– circuiti per aritmetica binaria semplici
• AFFIDABILITA’
– uso di trigger per evitare disturbi

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

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 - Architettura degli Elaboratori UNICAM 2021

2
I sistemi di numerazione additivi
• Egizio

• Greco

• Romano

(scrittura onciale) più comuni sono: D M

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

I sistemi di numerazione Posizionali


1.000 d.C.
.
.
.
.
.
.
1.400 d.C.

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

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

3
B10  B2: 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
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

B10  B2: Metodo delle divisioni successive


• Dividere successivamente per 2

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

4
Somma di numeri binari
• se la somma è > 1, scrivere la cifra a
destra e riportare 1 (analogo al decimale)
• esempio:

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Differenza di numeri binari


• se la cifra è inferiore, occorre un prestito di
1 a sinistra, (analogo al decimale)
• esempio:

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

5
Moltiplicazione di numeri binari
• Si incolonnano le moltiplicazioni parziali e
si somma
• esempio:

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

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 - Architettura degli Elaboratori UNICAM 2021

6
10111001|110
1011- |111110
110=
=1011
110
1010-
110
1000
110
0101

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2008

Strutture fisiche gerarchiche di informazione

• BIT informazione elementare 0/1


• NIBBLE gruppo di 4 bit
• BYTE gruppo di 2 nibble (8 bit)
• WORD gruppo di 2 byte (16 bit)
• DWORD gruppo di 2 word (32 bit)
• QWORD gruppo di 2 dword (64 bit)

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

7
Sistemi di numerazione intermedi
Digit Binario Digit Binario
0 000 8
0000 1000 135 7208
1 001 9
0001 1001 001 011 101 111 010 000
2 010 A
0010 1010
3 011 B
0011 1011
4 100 C
0100 1100 BBD0H
5 101 D
0101 1101
6 110 E
0110 1110 1011 1011 1101 0000
7 111 F
0111 1111
|_OTTALE_|
|___ESADECIMALE___|
Tenere a mente le prime 8 o 16 rappresentazioni binarie
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Rappresentazione binaria dei numeri relativi


• Modulo e segno
il bit più significativo indica il segno: 1 se negativo
Decim. Hex (R) Hex (8bit) Hex (16 bit)
+57 +39 39 0039
-57 -39 B9 8039
-0 -0 80 8000
-1 -1 81 8001
• 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
k
-57 2 - 39 C7 FFC7
-0 2k - 0 00 0000
-1 2k - 1 FF FFFF

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

8
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Operazioni con relativi a C2


CN = riporto su segno, CY = riporto ulteriore

Operazioni corrette
CY B CN O3 H4 H8 Dec CY B CN O3 H4 H8 Dec
0 2 2 22 34 + 0 4 2 42 66 +
1 5 5 D5 -43 = 1 5 5 D5 -43 =
0 1 0 7 7 F7 -9 OK 1 0 1 1 7 17 23 OK

Operazioni Errate
CY B CN O3 H4 H8 Dec CY B CN O3 H4 H8 Dec
0 2 2 22 34 + 1 1 7 97 -105 +
0 7 5 75 +117 = 1 2 1 A1 -95 =
0 1 1 1 7 97 151 Errore 1 0 0 3 8 38 -200 Errore

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

9
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

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 - Architettura degli Elaboratori UNICAM 2021

10
Esempi di rappresentazione
Forma generica: [S][E][M]  (-1)S * (1+M) * 2E

Esempi:

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2007 [21]

Rappresentazione standard dei numeri reali


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

Formato Ansi/IEEE 754-1985


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

Zero : M=0 ; E=0  : M=0; E=tutti “1”


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

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2007 [22]

11
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

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2007 [23]

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2007 [24]

12
Possibili organizzazioni per una memoria da
96 bit

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Organizzazione della memoria in diversi


computer

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

13
Composizione delle strutture (byte)

• WORD 1000-1001 1010-1011


Cohen (1981) Lilliput
Swift (1726) (little endian):
1010 - 1011
1000 - 1001

Blefuscu
(big endian):
1000 - 1001
1010 - 1011
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Composizione delle strutture (byte)


• WORD 1000-1001 1010-1011
N. Big Endian Little Endian
100 1000-1001 1010-1011
101 1010-1011 1000-1001
102

• DWORD 1000-1001 1010-1011 1100-1101 1110-1111


N. Big Endian Little Endian
100 1000-1001 1110-1111
101 1010-1011 1100-1101
102 1100-1101 1010-1011
103 1110-1111 1000-1001
104
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

14
Codici di Caratteri
CODIFICA
0001 A B
0010 0011 C D
0100
Parole del Codice Alfabeto Esterno

DECODIFICA
0001 A B
0010 0011 C D
0100
Parole del Codice Alfabeto Esterno

Codici non ambigui: n >= m ; m >= log2 N


Distanza di Hamming (h) = n.ro di bit di differenza tra due parole

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Codici di Hamming a correzione di errore

Per h = 3 deve essere 2k >= n+k+1


n 1 2 3 4 5 6 7 8 9 10 11 12
k 2 3 3 3 4 4 4 4 4 4 4 5

Schema per n =7 e k = 4
b6 b5 b4 h3 b3 b2 b1 h2 b0 h1 h0
1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
11 10 9 8 7 6 5 4 3 2 1
• h0 controlla la parità di : b6,b4,b3,b1,b0
• h1 controlla la parità di : b6,b5,b3,b2,b0
• h2 controlla la parità di : b3,b2,b1
• h3 controlla la parità di : b6,b5,b4

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

15
Codice di Hamming – applicazione
1) Collocazione bit dati nelle posizioni bn dello schema
2) Calcolo parità e collocazione nelle posizioni hn dello schema
3) Ricezione codice completo e calcolo codice controllo:
– c0 = parità di : b6,b4,b3,b1,b0, h0
– c1 = parità di : b6,b5,b3,b2,b0, h1
– c2 = parità di : b3,b2,b1, h2
– c3 = parità di : b6,b5,b4, h3
4) C = c3,c3,c1,c0 indica la posizione del bit errato

ESEMPIO B = 1010011 b6 b5 b4 h3 b3 b2 b1 h2 b0 h1 h0
1 0 1 0 0 1 1
1) Collocazione bit nello schema: b6 b5 b4 h3 b3 b2 b1 h2 b0 h1 h0
2) Calcolo parità hn e collocazione 1 0 1 0 0 0 1 1 1 0 0
3) Simulo errore su un bit (10100111100) e calcolo indice di controllo:
c0 = P (110110) = 0 b6 b5 b4 h3 b3 b2 b1 h2 b0 h1 h0
c1 = P (100110) = 1 1 0 1 0 0 1 1 1 1 0 0
c2 = P (0111) = 1 11 10 9 8 7 6 5 4 3 2 1
c3 = P (1010) = 0  C = 0110 (6)

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Codice BCD
Cifra Codifica
Decimale BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Esempio: il numero decimale 57 può essere rappresentato come:


Binario 00111001
Packed BCD 0101 0111
Unpacked BCD 00000101 00000111

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

16
Codice GRAY
Cifra Codifica
Decimale GRAY
0 000
00
0000
1 001
01
0001
2 011
11
0011
3 010
10
0010
4 0110
110
10
5 111
11
0111
6 101
01
0101
7 100
00
0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000

Dal metodo di costruzione deriva il nome di “codice riflesso”


 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Codice EBCDIC

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2008

17
Codice ASCII
b6-b4 0 1 2 3 4 5 6 7
b3-b0
(000) (001) (010) (011) (100) (101( (110) (111)

0 (0000) NUL DLE SP 0 @ P ` p


1 (0001) STX DC1 ! 1 A Q a q
2 (0010) SOT DC2 “ 2 B R b r
3 (0011) ETX DC3 # 3 C S c s
4 (0100) EOT DC4 $ 4 D T d t
5 (0101) ENQ NAK % 5 E U e u
6 (0110) ACK SYN & 6 F V f v
7 (0111) BEL ETB ‘ 7 G W g w
8 (1000) BS CAN ( 8 H X h x
9 (1001) TAB EM ) 9 I Y i y
A (1010) LF SUB * : J Z j z
B (1011) VT ESC + ; K [ k {
C (1100) FF FS , < L \ l |
D (1101) CR GS - = M ] m }
E (1110) SI RS . > N ^ n ~
F (1111) SO US / ? O _ o DEL
NUL Carattere Nullo TAB Horizontal Tabul. DC2 Device Control 2 ESC Escape
STX Start Transmission LF Line Feed DC3 Device Control 3 FS Frame Separator
SOT Start Of Text VT Vertical Tabulation DC4 Device Control 4 GS Group Separator
ETX End Of Transmiss. FF Form Feeed NAK Negative Acknow. RS
EOT End Of Text CR Carriage Return SYN Synchronize US
ENQ Enquiry SI Shift In ETB SP Spazio
ACK Acknowledge SO Shift Out CAN Cancel DEL Delete character
BEL Bell (campanello) DLE EM End Mark
BS BackSpace DC1 Device Control 1 SUB

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

UNICODE
MOTIVAZIONI:
•Necessita’ di estendere il codice ASCII per includere i simboli
alfabetici di altre nazioni, magari portandolo a 8 bit.
•Primo fra tutti Microsoft con le Code Pages per MS-DOS (CP
437, 850, ...)
•ISO/IEC 646: 10 varianti nazionali nel codice ASCII a 7 bit
•{*argv[1]='\0'} German DIN 66003 æ*argvÆ1Å='Ø0'å
•ISO IEC/2022: fino a 4 testine intercambiabili di stampa per
caratteri aggiuntivi (codice ISO 8859)

•UNICODE (v4.0 identica a Universal Character Set = ISO/IEC
10646) : Usa 32 bit (4 byte) per assegnare code-point unici
•La maggior parte dei circa 200.000 simboli mondiali usa 16 bit
•U+0 a U+7F = Tabella codici ASCII
•U+80 to U+FF= C1 Control and Latin-1 Supplement (ISO 8859).

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

18
Implementazioni Unicode: UTF-8
Il costo imposto dalla codifica UNICODE a 32 bit frena
l’applicazione, specialmente quando il charset è simile ad
ASCII, come nel caso di ISO 8859

Unicode Transformation Format-8


a) Elimina i byte “null” codificando con numero di bytes variabile
b) 8^ bit se 0 => Ascii, altrimenti codice speciale:
• 11* = primo byte della sequenza
• 10* = altri byte della sequenza

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

19

Potrebbero piacerti anche