Sistemi di Elaborazione delle Informazioni Rappresentazione dell Informazione 1 Il bit Si consideri un alfabeto di 2 simboli: 0, 1 Che tipo di informazione si può rappresentare con un bit? 2
Codifica binaria Esiste una particolare aggregazione di bit che è costituita da 8 bit (2 8 = 256 informazioni) e prende il nome di byte Di solito si usano i multipli del byte Kilo Mega Giga Tera Peta KB MB GB TB PB 2 10 (~ un migliaio, 1024 byte) 2 20 (~ un milione, 1KB x 1024) 2 30 (~ un miliardo, 1MB x 1024) 2 40 (~ mille miliardi, 1GB x 1024) 2 50 (~ miliardo miliardi, 1TB x 1024) 3 Digitale o Analogico? I segnali analogici sono molto sensibili alle interferenze (rumore) I segnali digitali possono assumere solo due stati Per un dispositivo è semplice distinguere questi due stati, per cui vie è una maggiore immunità alle interferenze 4
Perché Digitale? Una buona foto in bianco e nero presa da un giornale avrà circa 256 sfumature di grigio Rappresentazione analogica 256 gradi di luminosità con una lampada Attenzione alle interferenze provocate dalla nebbia! Rappresentazione digitale 8 lampade (256 configurazioni diverse) Ciascuna configurazione sarebbe più sicura anche in caso di nebbia! 5 Rappresentazione Binaria informazione codifica decodifica rappresentazione binaria Mondo esterno Computer: memorizzazione, elaborazione 6
Informazioni Numeri Interi positivi Positivi e negativi Reali Testi Immagini fisse Vettoriali Bitmap Audio Video Informazioni tradizionali Informazioni multimediali 7 Sistemi Numerici 8
Generalità Per determinare un sistema numerico serve Un insieme limitato di simboli (le cifre), che rappresentano quantità prestabilite (1, 2, V, X, M) Le regole per costruire i numeri Sistemi numerici posizionali Sistemi numerici non posizionali 9 Sistemi Numerici Sistemi numerici non posizionali Il valore delle cifre è indipendente dalla posizione Es. Numeri romani Sistemi numerici posizionali Il valore delle cifre dipende dalla loro posizione all interno del numero Ogni posizione ha un peso 10
Sistemi Numerici Posizionali Esempio N = d 3 d 2 d 1 d 0 V(N)=d 3 p 3 +d 2 p 2 +d 1 p 1 +d 0 p 0 N Rappresentazione del numero V(N) Valore del numero Sistemi a base fissa p i = r i r è la base del sistema 11 Il Sistema Decimale È un sistema numerico posizionale a base fissa Il sistema decimale utilizza r = 10 d = 0,1,2,3,4,5,6,7,8,9 12
Sistema Decimale: Esempio Cifra più significativa Cifra meno significativa 8427 = 8 10 3 + 4 10 2 + 2 10 1 + 7 10 0 13 Sistema Binario Anche il sistema binario è un sistema numerico posizionale a base fissa Il sistema binario utilizza r = 2 d = 0,1 Ogni cifra è detta bit (da BInary digit) 14
Sistema Binario: Esempio Bit più significativo (MSB) Bit meno significativo (LSB) 1011 2 = 1 2 3 + 0 2 2 + 1 2 1 + 1 2 0 = 11 10 15 Decimale a Binario Es.: 11510 = 11100112 115 2 1 57 2 1 28 2 0 14 2 0 7 2 1 3 2 1 1 2 1 0 16
Altre Basi di Numerazione Comuni Sistema ottale r = 8 d = 0,1,2,3,4,5,6,7 Sistema esadecimale r = 16 d = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 17 Esadecimale e Binario Esiste una corrispondenza diretta tra cifre esadecimali e il corrispondente binario Esadecimale: 16 cifre 4 bit per rappresentare una cifra esadecimale 11000110 2 C 6 18
Ottale e Binario Esiste una corrispondenza diretta tra cifre ottali e il corrispondente binario Ottale: 8 cifre 3 bit per rappresentare una cifra ottale 11000110 2 3 0 6 19 Bit Necessari Le macchine hanno vincoli spaziali E necessario conoscere il massimo valore rappresentabile Con n bit si può rappresentare al massimo il numero 2 n -1 E facile determinare che per poter rappresentare fino ad X, sono necessari un numero n di bit pari a log2 X Dove y resitituisce il più piccolo numero intero maggiore o uguale a y 20
Overflow Esiste un limite al numero di bit impiegati per rappresentare un numero Dato che la rappresentazione è formata da un numero finito di bit, se si supera tale limite si ha errore (overflow) MAX Numero intero rappresentato... 4 3 2 1 1 2 3 4... Numero intero 21 Numeri Negativi Esistono diverse possibilità di rappresentazione Modulo e segno (M&S) Complemento a 2 (C2) 22
Modulo e Segno Convenzione per il bit più significativo 0: segno positivo 1: segno negativo Esempio +5 00101-10 11010 Esistono due rappresentazioni per lo 0 +0 00000-0 10000 23 Complemento a 2 Dato X in base 2 di n bit 1 + NOT(X) è il complemento a 2 di X Se X=01011, il suo complemento a 2 è 1 + NOT(01011) = 1 + 10100 =10101 Regoletta pratica Il complemento a 2 si calcola analizzando i bit del numero a partire da destra: si riportano invariati tutti gli zeri fino al primo bit a 1, si riporta invariato questo stesso bit a 1, si complementano tutti gli altri bit 24
Complemento a 2 Se d n-1 d n-2 d 2 d 1 d 0 è un numero binario rappresentato in C2 a n bit, l equivalente decimale si calcola come -2 n-1 d n-1 +2 n-2 d n-2 + +2 2 d 2 +2 1 d 1 +d 0 25 Osservazioni sul C2 Unica rappresentazione dello 0 I numeri positivi hanno il bit più significativo (segno) posto a zero I numeri negativi sono rappresentati dal complemento a 2 del corrispondente numero positivo, segno compreso Esempio +3 10 00011 2 C2(00011 2 ) = 11101 2 11101 2-3 10 26
C2 vs. M&S Usando modulo e segno La somma algebrica di numeri positivi e negativi può generare problemi Servono sistemi hardware specifici per la gestione corretta del formato E' necessario riconoscere il segno dal primo bit Usando il complemento a due La sottrazione si esegue con una somma! 27 Intervallo di Valori Rappresentabili Rappresentazione M&S -2 n-1 + 1 N 2 n-1-1 Rappresentazione C2-2 n-1 N 2 n-1-1 28
Rappresentazione Numeri Reali E spesso necessario utilizzare numei reali Due rappresentazioni Virgola Fissa Virgola Mobile 29 Virgola Fissa Intero 0 1 0 1 0 0 1 1-2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 = 2 6 + 2 4 + 2 1 + 2 0 = 83 Virgola Fissa 0 1 0 1 0 0 0 0-2 0 2-1 2-2 2-3 2-4 2-5 2-6 2-7 = 2-1 + 2-3 = 0.5 + 0.125 = 0.625 30
Virgola Mobile E la risposta alla necessità di manipolare numeri di ordini di grandezza diversi Notazione scientifica (numeri espressi nella forma) X.YYY * 10 W X: parte intera Y: parte frazionaria W: esponente 31 Virgola Mobile Nomenclatura A = M * B E M: mantissa B: base E: esponente Necessita di un segno per la mantissa e uno per l esponente 32
Virgola Mobile Forma normalizzata Numero = ± 1.XXXXXXX * 2 a.xxxxxxx parte frazionaria a è detto esponente vero 33 Virgola Mobile Rappresentazione IEEE P754 (32 bit) 1 bit per il segno 8 bit per l esponente (rappresentazione eccesso 127) 23 per la mantissa (parte frazionaria - normalizzata) 31 30 23 22 0 Segno S Esponente E Mantissa F 1 8 23 N = (-1) S 2 E-127 1.F 34
Memorizzazione su Calcolatore e Codici 35 Bit, Byte e Word L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detto byte Word Tipicamente 16, 32 o 64bit Insieme di bit la cui dimensione è una importante caratteristica del calcolatore considerato. Essa influenza La larghezza degli indirizzi La dimensione dei registri del processore Larghezza dei bus (word o multipli di essa) 36
Intervalli di Variabilità Bit Numero di configurazioni: 2 Intervallo di variabilità: {0,1} Byte Numero di configurazioni: 256 Intervallo di variabilità: dipende dal tipo di codifica 37 Intervalli di Variabilità (byte) Modulo 256 configurazioni Intervallo di Variabilità: [0, 255] Modulo e segno 256 configurazioni Intervallo di Variabilità: [-127, +127] Complemento a 2 256 configurazioni Intervallo di Variabilità: [-128, +127] 38
Codifica dei Testi Si utilizza una tabella (arbitraria) Standard oggi (quasi) universalmente riconosciuto Codice ASCII (American Standard Code for Information Interchange) Ogni carattere (simbolo) è codificato con 7 bit 128 simboli diversi 39 Tabella dei Codici ASCII 40
Codice ASCII Esteso Si utilizzano 8 bit 256 simboli diversi 41 UNICODE Abbiamo considerato il codice Extended ASCII: 8 bit per carattere È stato basato dal codice ASCII: 7 bit per carattere Il codice ASCII non include à, è, é, ì, ò, ù, per esempio Un altro codice UNICODE, 16 bit per carattere (Extended ASCII + caratteri etnici) 2 16 = 65.536 simboli 42