Architettura di un elaboratore Informatica Architettura di un elaboratore 1
Il termine informatica Informazione + automatica Informazione = dati + istruzioni Informatica Architettura di un elaboratore 2
Codifica e decodifica il numero dieci codifica decodifica 0 0 0 0 1 0 1 0 dispositivo bistabile Informatica Architettura di un elaboratore 3
Dati: numerici Decodifica di numeri naturali (c k c k 1 c 0 ) b = c k b k + c k 1 b k 1 + + c 0 b 0 b=10 1101 10 indica 1 10 3 + 1 10 2 + 0 10 + 1 10 0 Informatica Architettura di un elaboratore 4
continua esempio 101100 due = 1 dieci 2 5 dieci+ 0 dieci 2 4 dieci+ 1 dieci 2 3 dieci+ 1 dieci 2 2 dieci+ 0 dieci 2 1 dieci+ + 0 dieci 2 0 dieci = = 1 dieci 32 dieci + 0 dieci 16 dieci + 1 dieci 8 dieci + 1 dieci 4 dieci + 0 dieci 2 dieci + 0 dieci 1 dieci = = 32 dieci + 8 dieci + 4 dieci = = 44 dieci Informatica Architettura di un elaboratore 5
continua esempio 101110101 due = 1 dieci 2 8 dieci+ 0 dieci 2 7 dieci+ 1 dieci 2 6 dieci+ 1 dieci 2 5 dieci+ 1 dieci 2 4 dieci+ 0 dieci 2 3 dieci+ 1 dieci 2 2 dieci+ 0 dieci 2 1 dieci+ 1 dieci 2 0 dieci = = 1 dieci 256 dieci + 0 dieci 128 dieci + 1 dieci 64 dieci + 1 dieci 32 dieci + 1 dieci 16 dieci + 0 dieci 8 dieci + 1 dieci 4 dieci + 0 dieci 2 dieci + 1 dieci 1 dieci = = 256 dieci + 64 dieci + 32 dieci + 16 dieci + 4 dieci + 1 dieci = = 373 dieci Informatica Architettura di un elaboratore 6
continua Codifica di numeri naturali c n 1 c n 2 c 1 c 0 = c n 1 B n 1 + c n 2 B n 2 + + c 1 B B + c 0 (c n 1 B n 1 + c n 2 B n 2 + + c 1 B B + c 0 )/B quoziente = c n 1 B n 2 + c n 2 B n 3 + + c 1 resto = c 0 Codifica per iterazione Informatica Architettura di un elaboratore 7
continua esempio 18 : 2 = 9 resto 0 9 : 2 = 4 resto 1 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10010 Informatica Architettura di un elaboratore 8
continua esempio 137 : 2 =68 resto 1 68 : 2 =34= resto 0 34 : 2 =17= resto 0 17 : 2 =8= resto 1 8 : 2 =4= resto 0 4 : 2 =2= resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10001001 Informatica Architettura di un elaboratore 9
continua Per la codifica dei numeri naturali si utilizzano abitualmente successioni di 32 bit Informatica Architettura di un elaboratore 10
Sommare numeri naturali 1 0 1 0 1 1 + 1 1 0 0 1 0 = 1 0 1 1 1 0 1 Overflow: il risultato non è rappresentabile nel numero di bit disponibili Informatica Architettura di un elaboratore 11
Numeri interi Modulo e segno: il bit più significativo rappresenta il segno, i bit successivi rappresentano il modulo del numero Esercizio: Codificare il numero -18 su 8 bit 18 00010010 per cui -18 10010010 Informatica Architettura di un elaboratore 12
continua Modulo e segno: (2 n-1 1) N 2 n-1 1 10000000 e 00000000 sono 0 00000001 + 10000001 = 10000010 L adozione di questa tecnica richiederebbe la realizzazione di distinti circuiti per sommare e sottrarre e per correggere inconvenienti come il doppio 0 Informatica Architettura di un elaboratore 13
Rappresentazione in virgola fissa 1. Codifica la parte intera su un numero fissato di bit 2. Codifica la parte decimale su un mero fissato di bit 0.c 1 c 2.. 10 = m -1 2-1 +m -2 2-2 +.. codifica per moltiplicazioni successive Informatica Architettura di un elaboratore 14
continua Esempio: Codificare in virgola fissa 2,25 2,25 = 10.01 Decodificare 11.11001 in virgola fissa 11.11001 = 3,78125 Informatica Architettura di un elaboratore 15
continua Esempio: Codificare 0.2 PROBLEMA Informatica Architettura di un elaboratore 16
continua Problemi: 1) Spreco di bit per rappresentare gli 0 (esempio 0,007) 2) Intervallo di numeri rappresentabili piccolo Informatica Architettura di un elaboratore 17
Dati: alfanumerici Codice ASCII Informatica Architettura di un elaboratore 18
continua 26 lettere maiuscole + 26 minuscole 52 10 cifre Circa 30 segni d interpunzione Circa 30 caratteri di controllo (EOF, CR, LF, ) circa 120 oggetti complessivi k = log 2 120 = 7 ASCII esteso: 8 bit UNICODE: 16 bit Informatica Architettura di un elaboratore 19
Il successo del digitale Quanto un supporto è immune al rumore? Codifica analogica: ogni configurazione è lecita dal punto di vista informazionale e quindi risulta impossibile distinguere il rumore dal segnale. Codifica digitale: un valore binario è associato a un insieme di configurazioni valide quindi si può -riconoscere il rumore che porta in configurazioni non lecite -trascurare il rumore che non fa uscire il segnale dall insieme associato alla stessa configurazione Informatica Architettura di un elaboratore 20
continua Tensione(V) 5 4 3 2 1 0 1 binario non lecitodaun p.todivista informazionale 0 binario Informatica Architettura di un elaboratore 21
Dati: analogici - quantizzazione Ampiezza della grandezza fisica Codificheassegnateaivalorisceltiper rappresentare gli insiemi 111 110 111 111 110 101 101 Valori rappresentativi dei diversi insiemi 100 011 Demarcazione degli insiemi individuati 010 001 001 Informatica Architettura di un elaboratore 000 001 22 100 011
Dati: analogici - campionamento I valori di riferimento debbono essere rilevati in diversi istanti di tempo. Ampiezza della grandezza fisica La quantizzazione deve poi essere ripetuta per ogni valore campionato. Tempo Informatica Architettura di un elaboratore 23
Ampiezza della grandezza fisica Dati: analogici campionamento e quantizzazione Valori rappresentativi Tempo Informatica Architettura di un elaboratore 24
continua Ampiezza A 3 A 2 A 1 A 0 Tempo t 1 t 2 t 3 t 4 t 5 t 6 t 7 T 1 T 2 T 3 T 4 T 5 T 6 T 7 Informatica Architettura di un elaboratore 25
Dati: analogici - ricostruzione Ampiezza A 3 a 3 A 2 a 2 Andamento originario della grandezza A 1 a 1 Andamento della grandezza ricostruito dai valori campionati A 0 a 0 Tempo t 1 t 2 t 3 t 4 t 5 t 6 t 7 Informatica T 1 T 2 T 3 Architettura Tdi 4 un elaboratore T 5 T 6 T 7 26
Esempio: suono digitale frequenza di campionamento di 44'100 Hz quantizzazione su 65'536 livelli (un campione viene codificato su 16 bit) Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte L errore che si commette nella ricostruzione del segnale sonoro è difficilmente rilevabile da parte di un orecchio umano Informatica Architettura di un elaboratore 27
Codifica delle immagini Immagine: insieme continuo di informazioni (luce, colore, che si estende in due dimensioni ) Informatica Architettura di un elaboratore 28
Modalità row Informatica Architettura di un elaboratore 29
Formato di una immagine - header: dimensioni spaziali dell immagine (righe colonne) numero di bit per pixel cosa rappresenta un valore numerico etc. - immagine Informatica Architettura di un elaboratore 30
Immagini bitmap o raster Campionamento: divisione immagine in sottoinsiemi (pixel), per ognuno dei quali si dovrà prelevare un campione che si considera rappresentativo del colore di tutto il sottoinsieme Quantizzazione: codifica del colore associato a ogni pixel 8 bit per ogni RGB, 8 per trasparenze indice a una tavolozza di colori 0000000000100000 0000000010100000 0000001000100000 0000010000100000 0001000000100000 0011111111100000 0000000000000000 Informatica Architettura di un elaboratore 31
continua Proprietà: risoluzione: numero di pixel contenuti nell'unità di misura considerata profondità: numero di bit dedicati ad ogni pixel per descrivere il colore Informatica Architettura di un elaboratore 32
Compressione dati Algoritmi lossless Algoritmi lossy Informatica Architettura di un elaboratore 33
Istruzioni aritmetico-logiche trasferimento dati controllo Istr. Codice ADD 0111 1100 SUB 0111 1101 AND 0111 1110 Istr. Codice LOAD 1110 1000 STORE 1111 1000 Istr. Codice IF_EQ 0100 1001 GOTO 0100 1000 RETURN 0100 1100 Informatica Architettura di un elaboratore 34