Bit, Byte, Word e Codifica Dati Come vengono immagazzinati i dati nella memoria? Le informazioni salvate e non all'interno della memoria del calcolatore vengono gestite come un insieme di numeri in sistema binario. Codificazione del dato all'interno della memoria Nella memoria tutto è codificato in sistema binario in modo magnetico (negli hard disk) e ottico (nei cd/dvd). Si ragiona sempre in termini binari e l'unità di misura fondamentale è il BIT. Viene utilizzato il sistema binario in quanto si riducono i rischi di errore al limite trovandosi di fronte solo due tipi di segnale che sono lo 0 e 1. Questi due segnali vengono letti e interpretati a seconda della loro tensione elettrica. Avendo solo due segnali da interpretare quindi il campo di valutazione si può estendere molto ed assegnare a determinate tensioni il suo determinato segnale. In questo modo poi si riducono i costi per la memorizzazione che si riduce a soli due elementi. Esempio di lettura del segnale Bit Banda con tensione da 0 a 7 Volt Banda con tensione da 7 a 12 Volt Legge 0 Legge 1 Significa Binary digit e come abbiamo visto può assumere due valori che sono 0 e 1ai quali vengono assegnati due stati di un sitema fisico come per esempio la tensione, corrente, campo magnetico o altro. Una composizione ordinata in sequenza di 8 bit forma il BYTE. Byte Il byte abbiamo detto è la sequenza ordinata di 8 bit e può essere rappresentato graficamente in questo modo: 7 6 5 4 3 2 1 0 MSB (Most Significant Bit) LSB (Least Significant Bit) Nella posizione più a sinistra si trova il bit MSB ovvero il Carattere Più Significativo mentre nella posizione più a destra il bit LSB ovvero il Carattere Meno Significativo. Bisogna sapere che con un byte sono possibili 256 combinazioni di numeri o caratteri utili per la rappresentazione di un dato. 1
Esistono poi dei multipli del byte esposti nella seguente tabella: Word Denominazione Kilo byte (K) = 2 10 = 1024 Combinazioni possibili Mega byte (M) = 2 20 = 1048576 Giga byte (G) = 2 30 = 1073741824 Tera byte (T) = 2 40 = 1099511627776 Peta byte (P) = 2 50 = 1125899906842624 La WORD dipende dall'architettura del calcolatore e può essere di diversi tipi contenente diversi multipli del byte. 1 byte 1 byte word da 16 bit 1 byte 1 byte 1 byte 1 byte word da 32 bit 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte word da 64 bit Codifica dell'informazione Le informazioni che possono essere immagazzinate nella memoria sono di diverso tipo a seconda della loro utilità. Esistono informazioni numeriche ma anche informazioni audio e video, testi e altro. Queste informazioni o dati vengono lette dalla macchina nel modo rappresentato sotto e attenzione che legge ma non interpreta. Quindi se non gli diciamo esplicitamente che tipo di informazione sta leggendo non sapremo a cosa sta lavorando. Il calcolatore non pensa. codifica INFORMAZIONI DATI interpretazione I dati devono essere nella forma adatta per essere trattata dall'elaboratore. Le informazioni si dividono in due principali categorie di Informazioni Tradizionali ed Informazioni Multimediali. 2
La tabella mostra i tipi più comuni ed usati di informazioni delle due categorie: Informazioni Tradizionali Numeri interi positivi positivi e negativi reali Testi Informazioni Multimediali Immagini fisse vettoriali bitmap Audio Video I numeri sono interpretati con notazione posizionale, ovvero come tutti noi li conosciamo mentre i testi hanno bisogno di una tabella arbitraria di codifica (ASCII, EBCDIC) dove ad ogni lettera visibile e non è associato un codice binario. Le informazioni multimediali sono particolari e si basano tutte sul principio del campionamento che non tratteremo. La codifica alfanumerica Come abbiamo già detto il calcolatore è in grado di leggere numeri di qualsiasi genere e di qualsiasi sistema numerico anche se lavora solo in sistema binario e in aritmetica finita. Tutti i sistemi numerici sono detti sistemi posizionali in quanto ad una posizione immaginaria nello spazio viene assegnato un elemento preciso in successione. Vediamo i sistemi numerici trattati: Binario (base 2) 0,1 Decimale (base 10) 0,1,2,3,4,5,6,7,8,9 Ottale (base 8) 0,1,2,3,4,5,6,7 Esadecimale (base 16) Sono tutti sistemi posizionali e vediamo perchè: 274 10 =2 10 2 7 10 1 4 10 0 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 1011 2 =1 2 3 0 2 2 1 2 1 1 2 0 =821=10 10 425 8 =4 8 2 2 8 1 5 8 0 =277 10 Le conversioni da un sistema all'altro avvengono in metodi diversi. 3
Per passare da base 2 a base 10 uso il metodo delle MOLTIPLICAZIONI SUCCESSIVE o DEI QUOZIENTI SUCCESSIVI o da base 10 a base 2 uso il metodo delle DIVISIONI SUCCESSIVE. 8100 011 010 001base 2= 4321 8 4 8 3 8 2 8 1 8 1000 1101 0001 base 2=8D1 16 8 16 D 16 1 16 7614 8 =7 8 3 6 8 2 1 8 1 4 8 0 =3980 10 11 10 = 11 2 =5Resto 1 5 2 =2Resto 1 2 2 =1Resto 0 0 2 =0Resto 1 1101 2 57 10 =? 2 con il metodo dei quozienti successivi = 64 32 16 8 4 2 1 1 1 1 0 0 1 2 103 10 =? 8 512 64 8 1 1 4 7 8 375 10 =? 16 256 16 1 1 7 7 16 Rappresentazione di numeri negativi nella memoria I numeri nella memoria vengono annotati come sappiamo in sistema binario. Ma come vengono scritti? Per esempio si vuole memorizzare il numero 13 in base 10 su 32 bit, la scrittura avverrà in questo modo: (13) 10 =(1101) 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 Se voglio invece che venga memorizzato il numero negativo -13 il salvataggio viene eseguito in modo differente ovvero eseguendo il COMPLEMENTO A DUE del numero in base binaria. Il complemento a due si svolge praticamente in due fasi. Prima bisogna eseguire il complemento a uno del numero e successivamente il complemento a due. 4
Complemento a uno del numero 13 (si invertono i valori) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 Complemento a due (al complemento a 1 si aggiunge +1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 I due numeri +13 e quello ottenuto dal complemento a due sommati in modo binario danno 0 anche se il 33 valore è 1. Il valore 1 finale non viene considerato dal calcolatore in quanto rappresenta il segno negativo del numero. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Il calcolatore inizialmente quindi legge il numero, fa il complemento a due per vedere se è negativo e poi rifà il complemento a due per leggere il numero intero. Ridondanza La memorizzazione e trasmissione dei dati è soggetta ad errori e per evitare ciò vengono eseguiti degli artifici. Si possono aggiungere ai dati informazioni aggiuntive per controllarne la correttezza e per correggere quando possibile gli eventuali errori. 5