Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
15/03/2007
Introduzione ai sistemi informatici 1
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Capitolo 2Capitolo 2LL’’informazione e la sua codificainformazione e la sua codifica
Informatica e InformazioneInformatica e InformazioneLa codifica dellLa codifica dell’’informazioneinformazione
Analogico Analogico vsvs digitaledigitale
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e InformaticaInformazione e Informatica
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informatica e telecomunicazioneInformatica e telecomunicazioneCosCos’è’è ll’’informaticainformatica??• lo studio sistematico degli algoritmi che descrivono e
trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione[ACM – Association for Computing Machinery]
•• la scienza della rappresentazione e dellla scienza della rappresentazione e dell’’elaborazione elaborazione delldell’’informazioneinformazione
CosCos’è’è la la telecomunicazionetelecomunicazione??• la trasmissione rapidarapida a distanzadistanza dell’informazione
Attenzione:Attenzione:•• NonNon si parla di tecnologia dei calcolatoricalcolatori !• Si attribuisce ruolo centrale al concetto di informazioneinformazione !
15/03/2007
Introduzione ai sistemi informatici 2
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il concetto di informazioneIl concetto di informazione
Configurazione 1Configurazione 1 Configurazione 2Configurazione 2
un fogliocosparso di
macchie
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supportoInformazione e supportoLL’’informazione informazione èè ““portata daportata da””, o , o ““trasmessa trasmessa susu””, o , o ““memorizzata inmemorizzata in””, o , o ““contenuta incontenuta in””qualcosa; questo qualcosa; questo ““qualcosaqualcosa”” però non però non èèll’’informazione stessa.informazione stessa.
Ogni supporto ha le sue caratteristiche in Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta quanto mezzo su cui può essere scritta delldell’’informazione.informazione.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supporti (1)Informazione e supporti (1)
La stessa informazione può essere scritta La stessa informazione può essere scritta su su supporti differentisupporti differenti..
1010109
11
8
67
15/03/2007
Introduzione ai sistemi informatici 3
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supporti (2)Informazione e supporti (2)
Lo Lo stesso supportostesso supporto può portarepuò portareinformazioni differentiinformazioni differenti..
farefare
burroburro
italiano
tariffa, prezzo, …inglese
to make, to do, to build, …
italiano
asino, cavalletto, somaro, …spagnolo
mantequilla, manteca, …
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supporto (3)Informazione e supporto (3)Distinguere informazione e supporto fisico Distinguere informazione e supporto fisico èèdistinguere tra distinguere tra ““entitentitàà logichelogiche”” ed ed ““entitentitààfisichefisiche””::• l’informazione richiede un supporto fisicorichiede un supporto fisico, ma
non coincide con esso;• l’informazione è un’entità extraextra--fisicafisica, non
interpretabile in termini di materia-energia e sottoposta alle leggi della fisica solo perché basata su un supporto fisico.
LL’’informazione si può informazione si può crearecreare e e distruggeredistruggere..
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Quali caratteristiche deve avere un Quali caratteristiche deve avere un sistema fisico per supportare informazioni?sistema fisico per supportare informazioni?
Si ottiene informazione quando, dato un Si ottiene informazione quando, dato un insieme di alternative possibili, la lettura del insieme di alternative possibili, la lettura del supporto ne elimina alcune e ne seleziona supporto ne elimina alcune e ne seleziona altre.altre.Condizione necessariaCondizione necessaria perchperchéé un supporto un supporto possa portare informazione possa portare informazione èè che possa che possa assumere assumere configurazioni differenticonfigurazioni differenti, a ognuna , a ognuna delle quali venga associata una differente delle quali venga associata una differente entitentitàà di informazionedi informazione..
15/03/2007
Introduzione ai sistemi informatici 4
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Supporto fisico: 1Supporto fisico: 1aa condizionecondizioneDeve consentire di Deve consentire di potere identificare potere identificare delle differenzedelle differenze• Es: voglio rappresentare
2 alternative
Cosa Cosa rappresentarappresentaciascuna ciascuna configurazione?configurazione?
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Configurazioni e codiciConfigurazioni e codiciA ogni configurazione del supporto deve essere associata unA ogni configurazione del supporto deve essere associata un’’entitentitàà di di informazione:informazione:• Prima Configurazione = interruttore “ONON” = “Divina CommediaDivina Commedia”;• Seconda Configurazione = interruttore “OFFOFF” = “I Promessi SposiI Promessi Sposi”.
Per interpretare le differenti configurazioni del supporto in tePer interpretare le differenti configurazioni del supporto in termini di rmini di informazione informazione èè necessario conoscere il necessario conoscere il codicecodice (cio(cioèè la regola) che a la regola) che a ogni ogni configurazione ammessa del supporto associa unconfigurazione ammessa del supporto associa un’’entitentitàà di di informazioneinformazione..
La definizione di un codice comporta che siano identificati in mLa definizione di un codice comporta che siano identificati in modo non odo non ambiguo lambiguo l’’insieme delle insieme delle possibili possibili configurazioniconfigurazioni del supporto e ldel supporto e l’’insieme insieme delle delle possibili possibili entitentitàà di informazionedi informazione a cui ci si vuole riferire.a cui ci si vuole riferire.
Variando il codice Variando il codice èè possibile riferirsi a entitpossibile riferirsi a entitàà di informazione differenti di informazione differenti utilizzando uno stesso supporto fisicoutilizzando uno stesso supporto fisico..
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
CODICE
Supporto fisico: 2a condizioneSupporto fisico: 2a condizioneDeve essere Deve essere condivisacondivisa una regola per attribuire una regola per attribuire
un un significatosignificato a ciascuna configurazionea ciascuna configurazione
Configurazione 1
Entità di informazione 1
Configurazione 2
Entità di informazione 2
15/03/2007
Introduzione ai sistemi informatici 5
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Definire un codiceDefinire un codiceIdentificare Identificare • { Configurazioni }• { Entità informazione }
Associare gli elementi Associare gli elementi dei 2 insiemidei 2 insiemi
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Livelli di informazione: il telegrafoLivelli di informazione: il telegrafoSupporto fisicoSupporto fisico: conduttore in cui transita corrente continua: conduttore in cui transita corrente continua
EntitEntitàà di informazionedi informazione: : ““puntipunti”” e e ““lineelinee””, che rappresentano le lettere , che rappresentano le lettere delldell’’alfabetoalfabeto
CodiceCodice = regola che specifica la corrispondenza:= regola che specifica la corrispondenza:• passa corrente per 1 s ⇒ punto• passa corrente per 2 s ⇒ linea• non passa corrente per 1 s ⇒ separazione tra punti e linee della stessa lettera• non passa corrente per 2 s ⇒ separazione tra due lettere
•• ““passa corrente per 1 s, non passa per 1 s, passa per 2 spassa corrente per 1 s, non passa per 1 s, passa per 2 s”” = = ““punto lineapunto linea””..
Codice MorseCodice Morse = relazione tra lettere e sequenze di punti linee:= relazione tra lettere e sequenze di punti linee:• punto linea ⇒ lettera “A”• linea punto punto punto ⇒ lettera “B”• linea punto linea punto ⇒ lettera “C”• ecc.
Abbiamo associato simboli ad altri simboli!!Abbiamo associato simboli ad altri simboli!!
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Messaggi Messaggi vsvs configurazione del supportoconfigurazione del supportoConfigurazione del supporto fisicoConfigurazione del supporto fisico (livello fisico, (livello fisico, LFLF):):• passa corrente per 2s, non passa per 1s, passa per 1s, non passa per 2s,
passa per 2s, non passa per 1s, passa per 2s, non passa per 1s, passa per 2s
messaggiomessaggio, al livello logico 1 (, al livello logico 1 (LL1LL1):):• linea punto, separazione di lettera, linea linea linea
messaggiomessaggio, al livello Logico 2 (, al livello Logico 2 (LL2LL2):):• “N” “O”
messaggiomessaggio, al livello Logico 3 (, al livello Logico 3 (LL3LL3):):• “NO”, con il significato (per esempio) di “incontro non confermato”
Le relazioni tra questi livelli definiscono ognuna un codice Le relazioni tra questi livelli definiscono ognuna un codice per interpretare il significato delle entitper interpretare il significato delle entitàà che compaiono al che compaiono al livello precedente in termini delle entitlivello precedente in termini delle entitàà del livello del livello successivo: sono relazioni di significazione.successivo: sono relazioni di significazione.
15/03/2007
Introduzione ai sistemi informatici 6
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Tre diversi livelli di informazioneTre diversi livelli di informazione
Informazione Informazione sintatticasintattica
Informazione Informazione semanticasemantica
Informazione Informazione pragmaticapragmatica
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Teoria dellTeoria dell’’informazioneinformazioneQuando si parla di Quando si parla di ““teoria dellteoria dell’’informazioneinformazione”” si fa si fa riferimento al solo livello riferimento al solo livello ““sintatticosintattico””Ambito di applicazioneAmbito di applicazione: caratterizzare le condizioni per la : caratterizzare le condizioni per la trasmissione di segnali in termini ditrasmissione di segnali in termini di•• adeguatezzaadeguatezza del supporto adottato per la trasmissione •• accuratezzaaccuratezza della trasmissione stessa.
Quali problemi si pone:Quali problemi si pone:• un certo supporto può essere utilizzato per la memorizzazione di una
certa quantità di informazione?• con quale velocità una certa quantità di informazione può essere
trasferita a distanza mediante un certo supporto?• con quale grado di accuratezza un certo messaggio è stato trasmesso?
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e incertezzaInformazione e incertezzaLa presenza di informazione La presenza di informazione èè condizionata dal fatto che il condizionata dal fatto che il supporto sia in grado di assumere supporto sia in grado di assumere diverse configurazionidiverse configurazioni..
Se la nostra ignoranza, o piSe la nostra ignoranza, o piùù formalmente la nostra formalmente la nostra incertezza, circa lincertezza, circa l’’effettiva configurazione del supporto effettiva configurazione del supporto viene ridotta dallviene ridotta dall’’accesso al supporto, allora sembra del accesso al supporto, allora sembra del tutto ragionevole assumere che si possa affermare che tale tutto ragionevole assumere che si possa affermare che tale atto ci ha atto ci ha portato dellportato dell’’informazioneinformazione..
Se fossimo in grado di misurare il Se fossimo in grado di misurare il grado di incertezzagrado di incertezza in cui in cui ci trovavamo ci trovavamo prima della letturaprima della lettura e quello successivo a essae quello successivo a essa, , la la quantitquantitàà di informazionedi informazione portata dalla configurazione che portata dalla configurazione che abbiamo letto sul supporto potrebbe essere definita proprio abbiamo letto sul supporto potrebbe essere definita proprio dalla dalla differenza tra tali gradi di incertezzadifferenza tra tali gradi di incertezza..
15/03/2007
Introduzione ai sistemi informatici 7
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
La codifica dellLa codifica dell’’informazioneinformazione
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica dati e istruzioniCodifica dati e istruzioniAlgoritmoAlgoritmo•• descrizionedescrizione della soluzione di problemasoluzione di problema scritta in modo
da poter essere eseguita da un esecutoreesecutore (eventualmente diverso dall’autore dell’algoritmo)
• sequenza di istruzioniistruzioni che operano su datidati.ProgrammaProgramma•• algoritmo algoritmo scritto in modo da poter essere eseguito da un
calcolatorecalcolatore (esecutore automatico)
Per scrivere un Per scrivere un programmaprogramma èè necessario necessario rappresentare rappresentare istruzioniistruzioni e e datidati in un formato tale in un formato tale che che ll’’esecutore automaticoesecutore automatico sia capace di sia capace di memorizzare memorizzare e e manipolaremanipolare..
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica dati e istruzioniCodifica dati e istruzioni
AlfabetoAlfabeto deidei simbolisimboli• cifre “0”, “1”, …, “9”, separatore decimale (“,”), separatore delle
migliaia (“.”) e segni positivo (“+”) o negativo (“–”).RegoleRegole di di composizionecomposizione ((sintassisintassi), ), cheche definisconodefiniscono le le successionisuccessioni ““benben formateformate””• “1.234,5” è la rappresentazione di un numero;• “1,23,45” non lo è.
CodiceCodice ((semanticasemantica))• “1.234,5” = 1×103 + 2×102 + 3×101 + 4×100 + 5×10–1• “1,23,45” = ??
Lo Lo stessostesso alfabetoalfabeto puòpuò essereessere utilizzatoutilizzato con con codicicodici diversidiversi::• “123,456” = 1×102 + 2×101 + 3×100 + 4×10–1 + 5×10–2 + 6×10–3, [IT]• “123,456” = 1×105 + 2×104 + 3×103 + 4×102 + 5×101 + 6×100, [UK]
15/03/2007
Introduzione ai sistemi informatici 8
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica BinariaCodifica BinariaAlfabeto binarioAlfabeto binario: usiamo dispositivi con solo due stati: usiamo dispositivi con solo due statiProblema: assegnare un Problema: assegnare un codice univococodice univoco a tutti gli oggetti a tutti gli oggetti compresi in un insieme predefinito (e.g. studenti)compresi in un insieme predefinito (e.g. studenti)
Quanti Quanti oggettioggetti posso codificare con posso codificare con kk bit:bit:• 1 bit ⇒ 2 stati (0, 1) ⇒ 2 oggetti (e.g. Vero/Falso)• 2 bit ⇒ 4 stati (00, 01, 10, 11) ⇒ 4 oggetti• 3 bit ⇒ 8 stati (000, 001, …, 111) ⇒ 8 oggetti• …•• k bit k bit ⇒⇒ 22kk stati stati ⇒⇒ 22kk oggettioggetti
Quanti Quanti bitbit mi servono per codificare mi servono per codificare NN oggetti:oggetti:• N ≤ 2k ⇒ k ≥ log2N ⇒ k = k = ⎡⎡loglog22NN⎤⎤ (intero superiore)
Attenzione:Attenzione:ipotesi implicita che i codici abbiano tutti la ipotesi implicita che i codici abbiano tutti la stessa lunghezzastessa lunghezza
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Esempio di codifica binariaEsempio di codifica binariaProblema:Problema:assegnare un codice binario univoco a tutti i giorni della assegnare un codice binario univoco a tutti i giorni della settimanasettimana
Giorni della settimana: Giorni della settimana: N = 7 N = 7 ⇒⇒ k k ≥≥ loglog227 7 ⇒⇒ k = 3k = 3
Con 3 bit possiamo ottenere 8 diverse configurazioni:Con 3 bit possiamo ottenere 8 diverse configurazioni:• Ne servono 7, quali utilizziamo?• Quale configurazione associamo a quale giorno?
Attenzione:Attenzione:ipotesi che i codici abbiano tutti la stessa lunghezzaipotesi che i codici abbiano tutti la stessa lunghezza
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
I giorni della settimana in binario (1)I giorni della settimana in binario (1)
1 bit2 “gruppi”
2 bit4 “gruppi”
3 bit8 “gruppi”
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
000 001 010 011 100 101
111 110
Lunedì Martedì
Mercoledì Giovedì
Venerdì Sabato
Domenica
00
01
10
11
Lunedì
Martedì Mercoledì
Giovedì
Venerdì
Sabato
Domenica
0
1
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
15/03/2007
Introduzione ai sistemi informatici 9
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
I giorni della settimana in binario (2)I giorni della settimana in binario (2)
1 bit2 “gruppi”
2 bit4 “gruppi”
3 bit8 “gruppi”
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
000 001 010 011 100 101
111 110 Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
00
01
10
11
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
0
1
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica binaria dei caratteriCodifica binaria dei caratteriQuanti sono gli oggetti compresi nellQuanti sono gli oggetti compresi nell’’insieme?insieme?• 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 circa 120 oggetti complessivi ⇒⇒ k = k = ⎡⎡loglog22120120⎤⎤ = 7= 7Codice ASCII: utilizza 7 bit e quindi può Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 2rappresentare al massimo 277=128 caratteri=128 caratteri• Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso)• Si stanno diffondendo codici più estesi (e.g. UNICODE) per
rappresentare anche i caratteri delle lingue orientali
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
ASCII su 7 bitASCII su 7 bit
canccanc~~}}||{{zzYYxxwwvvuuttssrrqqpp111111oonnmmllkkjjIIhhggffeeddccbbaa`̀110110__^̂]]\\[[ZZYYXXWWVVUUTTSSRRQQPP101101OONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@100100??>>==
15/03/2007
Introduzione ai sistemi informatici 10
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
bit, Byte, bit, Byte, KiloByteKiloByte, , MegaByteMegaByte, , ……
bitbit = solo due = solo due statistati, , ““00”” oppureoppure ““11””..ByteByte = 8 bit, = 8 bit, quindiquindi 2288 = 256 = 256 statistatiKiloByteKiloByte [[KBKB]] = 2= 21010 Byte = 1024 Byte ~ 10Byte = 1024 Byte ~ 1033 ByteByteMegaByteMegaByte [[MBMB]] = 2= 22020 Byte = 1'048'576 Byte ~ 10Byte = 1'048'576 Byte ~ 1066 ByteByteGigaByteGigaByte [[GBGB]] = 2= 23030 Byte ~ 10Byte ~ 1099 ByteByteTeraByteTeraByte [[TBTB]] = 2= 24040 Byte ~ 10Byte ~ 101212 ByteBytePetaBytePetaByte [[PBPB]] = 2= 25050 Byte ~ 10Byte ~ 101515 ByteByteExaByteExaByte [[EBEB]] = 2= 26060 Byte ~ 10Byte ~ 101818 ByteByte
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Lo standard IEC per i prefissi binariLo standard IEC per i prefissi binari
20.89%(103)81'208'925'819'614'629'174'706'176(210)8YiYobiYotta binario
18.06%(103)71'180'591'620'717'411'303'424(210)7ZiZebiZetta binario
15.29%(103)61'152'921'504'606'846'976(210)6EiExbiExa binario
12.59%(103)51'125'899'906'842'624(210)5PiPebiPeta binario
9.95%(103)41'099'511'627'776(210)4TiTebiTera binario
7.37%(103)31'073'741'824(210)3GiGibiGiga binario
4.86%(103)21'048'576(210)2MiMebiMega binario
2.40%1031'024210KiKibiKilo binario
Diff. %SIDimensioneSimboloNomeGrandezza
Usando questi prefissi si può risolvere lUsando questi prefissi si può risolvere l’’ambiguitambiguitàà• capacità di un disco fisso: 120 GB = 111.76 GiB,• capacità di un floppy: 1.406 MiB = 1.475 MB
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
La codifica delle istruzioniLa codifica delle istruzioniSi segue lo schema presentato per i caratteri Si segue lo schema presentato per i caratteri alfanumerici:alfanumerici:• quali e quante sono le istruzioni da codificare?• qual è la lunghezza delle successioni di bit da utilizzare ?• qual è la corrispondenza tra istruzioni e successioni di bit ?
Istruzioni aritmetico-logiche
Istruzioni per il trasferimento dati
Istruzioni di controllo
Codice Istruzione Codice Istruzione Codice Istruzione 0111 1100 ADD 1110 1000 LOAD 0100 1001 IF_EQ 0111 1101 SUB 1111 1000 STORE 0100 1000 GOTO 0111 1110 AND … … … … … … 0100 1100 RETURN … … … … … … … … … … … … … … … … … …
15/03/2007
Introduzione ai sistemi informatici 11
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Oltre al codice operativoOltre al codice operativo…… èè necessarionecessario far far riferimentoriferimento aiai datidati necessarinecessari per per completarecompletare ll’’esecuzioneesecuzione delldell’’istruzioneistruzione,,• e.g. addizione: è necessario che sia specificato (anche implicitamente)
dove leggere i due operandi da sommare e dove scrivere il risultato;
ilil numeronumero deidei datidati dada specificarespecificare èè variabilevariabile, in , in funzionefunzionedelledelle istruzioniistruzioni..
Codice Operativo Destinazione Sorgente 1 Sorgente 2 Estensione del codice operativo
Codice Operativo Destinazione Sorgente 1 Operando (immediato)
Codice Operativo Operando (immediato)
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri naturaliNumeri naturali
Sistema di numerazione posizionale in base Sistema di numerazione posizionale in base bb•ckck–1…c0 rappresenta ck×bk + ck–1×bk–1 + … + c0×b0
•b=10 ⇒ 1101dieci indica 1×103 + 1×102 + 0×10 + 1×100
Conversione Conversione binario binario ⇒⇒ decimaledecimale•basta scrivere il numero secondo la notazione posizionale utilizzando già il sistema decimale
•b=2 ⇒ 1101due indica 1×23 + 1×22 + 0×2 + 1×20 = 13dieciConversione Conversione decimaledecimale ⇒⇒ binariobinario•Si potrebbe utilizzare lo stesso metodo indicato sopra, ma èmolto complesso
•b=10 ⇒ 345dieci indica 11×101010 + 100×10101 + 101×10100
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Conversione binario Conversione binario ⇒⇒ decimaledecimale101100due = 1dieci×25dieci+ 0dieci×24dieci+ 1dieci×23dieci+ 1dieci×22dieci+ 0dieci×21dieci+ + 0dieci×20dieci = = 1dieci×32dieci + 0dieci×16dieci + 1dieci×8dieci + 1dieci×4dieci+ 0dieci×2dieci + 0dieci×1dieci = = 32dieci + 8dieci + 4dieci = = 44dieci
101110101due = 1dieci×28dieci+ 0dieci×27dieci+ 1dieci×26dieci+ 1dieci×25dieci+ 1dieci×24dieci+ 0dieci×23dieci+ 1dieci×22dieci+ 0dieci×21dieci+ 1dieci×20dieci = = 1dieci×256dieci+ 0dieci×128dieci+ 1dieci×64dieci+ 1dieci×32dieci+ 1dieci×16dieci+ 0dieci×8dieci+ 1dieci×4dieci+ 0dieci×2dieci+ 1dieci×1dieci = = 256dieci+ 64dieci+ 32dieci+ 16dieci+ 4dieci+ 1dieci = = 373dieci
15/03/2007
Introduzione ai sistemi informatici 12
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Conversione Conversione decimaledecimale ⇒⇒ binariobinario
565dieci = 5dieci×102dieci + 6dieci×101dieci + 5dieci×100dieci = = 101due×10102due + 110due×10101due + 101dieci×10100due = = 101due×1100100due + 110due×1010due + 101due×1due = = 111110100due + 111100due + 101due = = 1000110101due
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Conversione Conversione decimaledecimale ⇒⇒ binariobinarioSistema di numerazione posizionale in base B che, in questo contSistema di numerazione posizionale in base B che, in questo contesto si può esto si può ipotizzare diversa da dieciipotizzare diversa da dieci
ccnn––11ccnn––22……cc11cc00 == ccnn––11××BBnn––11 ++ ccnn––22××BBnn––22 + + …… + c+ c11××BB11 + c+ c00××BB00ccnn––11ccnn––22……cc11cc00 == ccnn––11××BBnn––11 ++ ccnn––22××BBnn––22 + + …… + c+ c11××B + cB + c00
(infatti B(infatti B11 == B e BB e B00 == 1)1)Dividendo il numero per il valore della base, il risultato che sDividendo il numero per il valore della base, il risultato che si ottiene i ottiene èè::
((ccnn––11××BBnn––11 ++ ccnn––22××BBnn––22 + + …… + c+ c11××B + cB + c00)/B =)/B === ccnn––11××BBnn––22 ++ ccnn––22××BBnn––33 + + …… + c+ c11 + c+ c00/B/B
che può essere scomposto in modo da evidenziare quoziente e restche può essere scomposto in modo da evidenziare quoziente e resto:o:quoziente =quoziente = ccnn––11××BBnn––22 ++ ccnn––22××BBnn––33 ++ …… + c+ c11resto = cresto = c00
Il resto della divisione corrisponde allIl resto della divisione corrisponde all’’ultima cifra della rappresentazione in ultima cifra della rappresentazione in base B del numerobase B del numero, ma il suo valore , ma il suo valore èè indipendente dalla base che si utilizza indipendente dalla base che si utilizza per effettuare i conti.per effettuare i conti.Applicando lo stesso procedimento al quoziente si ottiene la Applicando lo stesso procedimento al quoziente si ottiene la penultimapenultima cifra cifra della rappresentazione in base Bdella rappresentazione in base BRipetendo la procedura Ripetendo la procedura èè possibile ottenere tutte le altre cifre.possibile ottenere tutte le altre cifre.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Conversione Conversione decimaledecimale ⇒⇒ binariobinario573573diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 286286diecidieci restoresto 11diecidieci286286diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 143143diecidieci restoresto 00diecidieci143143diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 7171diecidieci restoresto 11diecidieci7171diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 3535diecidieci restoresto 11diecidieci3535diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 1717diecidieci restoresto 11diecidieci1717diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 88diecidieci restoresto 11diecidieci88diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 44diecidieci restoresto 00diecidieci44diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 22diecidieci restoresto 00diecidieci22diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 11diecidieci restoresto 00diecidieci11diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 00diecidieci restoresto 11diecidieci
11 000000 111111 101101duedue == 573573diecidieci
(cifra binaria meno significativa)(cifra binaria meno significativa)
(cifra binaria pi(cifra binaria piùù significativa)significativa)
15/03/2007
Introduzione ai sistemi informatici 13
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Conversione Conversione decimaledecimale ⇒⇒ binariobinario
18 : 2 18 : 2 = 9= 9 resto 0resto 09 : 2 = 49 : 2 = 4 resto 1resto 14 : 2 = 24 : 2 = 2 resto 0resto 02 : 2 = 12 : 2 = 1 resto 0resto 01 : 2 = 01 : 2 = 0 resto 1resto 1
137 : 2 137 : 2 == 6868 resto 1resto 168 : 2 =68 : 2 = 3434 resto 0resto 034 : 2 =34 : 2 = 1717 resto 0resto 017 : 2 =17 : 2 = 88 resto 1resto 18 : 2 =8 : 2 = 44 resto 0resto 04 : 2 =4 : 2 = 22 resto 0resto 02 : 2 = 2 : 2 = 11 resto 0resto 01 : 2 = 1 : 2 = 00 resto 1resto 1
Si calcolano i resti delle divisioni per due
10010
10001001
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri binari: operazioniNumeri binari: operazioniOperazioni di somma di numeri binari naturali.Operazioni di somma di numeri binari naturali.Con gli 8 bit utilizzati negli esempi qui riportati si possono Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri naturali fino a 255dieci.rappresentare i numeri naturali fino a 255dieci.Operazioni che producono un risultato maggiore provocano Operazioni che producono un risultato maggiore provocano il superamento della capacitil superamento della capacitàà di rappresentazione (indicato di rappresentazione (indicato in gergo dal termine inglese in gergo dal termine inglese overflowoverflow). ).
1 1 1 1
0 0 0 1 1 0 0 1due + 2 5dieci + 0 0 1 0 1 1 0 0due + 4 4dieci + 0 0 1 1 1 1 0 0due = 6 0dieci = 0 1 0 0 1 1 1 0due = 7 8dieci = 0 1 0 1 0 1 0 1due 8 5dieci 0 1 1 1 1 0 1 0due 1 2 2dieci
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri naturali binari nei calcolatoriNumeri naturali binari nei calcolatoriPer la codifica dei numeri Per la codifica dei numeri naturalinaturali (interi positivi) si (interi positivi) si utilizzano abitualmente successioni di utilizzano abitualmente successioni di 32 bit32 bit (4 byte) con (4 byte) con cui si possono rappresentare i numeri compresi tra cui si possono rappresentare i numeri compresi tra 00 e e 223232––11 == 4'294'967'2954'294'967'295 ≈≈ 44××101099..
Aumentando la lunghezza delle successioni il massimo Aumentando la lunghezza delle successioni il massimo numero rappresentabile cresce numero rappresentabile cresce esponenzialmenteesponenzialmente: : passando da 32 a 64 bit il massimo numero rappresentabile passando da 32 a 64 bit il massimo numero rappresentabile diventa diventa 226464––11 ≈≈ 1616××10101818 == 1.61.6××10101919..
A causa del minor numero di simboli dellA causa del minor numero di simboli dell’’alfabeto binario alfabeto binario rispetto a quello decimale, un numero codificato in rispetto a quello decimale, un numero codificato in notazione binaria richiede pinotazione binaria richiede piùù cifre rispetto a quelle cifre rispetto a quelle impiegate in notazione decimale.impiegate in notazione decimale.
15/03/2007
Introduzione ai sistemi informatici 14
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
OttaliOttali eded esadecimaliesadecimaliUtili per rappresentare sinteticamente i valori Utili per rappresentare sinteticamente i valori binaribinariOttaliOttali (base b = 8)(base b = 8)• Alfabeto ottale: cifre comprese tra 0 e 7
• 354otto = 3×82 + 5×81 + 4×80 = 192+40+4 = 236dieci• 1461otto = 1×83 + 4×82 + 6×81 + 1×80 = 512+256+48+1 = 817dieci
• Ogni cifra ottale corrisponde a tre cifre binarie:• 11101100due = [11] [101] [100] = 354otto• 1100110001due = [1] [100] [110] [001] = 1461otto
EsadecimaliEsadecimali (base b = 16)(base b = 16)• Alfabeto esadecimale: cifre 0 – 9 + lettere A – F
• ECsedici = 14×161 + 12×160 = 224 + 12 = 236dieci• 331sedic = 3×162 + 3×161 + 1×160 = 768+48+1 = 817dieci
• Ogni cifra esadecimale corrisponde a quattro cifre binarie:• 11101100due = [1110] [1100] = ECsedici• 1100110001due = [11] [0011] [0001] = 331sedici
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri interiNumeri interiAlfabeto binarioAlfabeto binario• anche il segno è rappresentato da 0 o 1• è indispensabile indicare il numero kk di bit utilizzati
Modulo e segnoModulo e segno• 1 bit di segno (0 positivo, 1 negativo) • k – 1 bit di modulo
• Esempio: +6dieci = 0110ms –6dieci = 1110ms• si rappresentano i valori da –2k–1+1 a 2k–1–1
• con 4 bit i valori vanno da –7 a +7• con 8 bit i valori vanno da –127 a +127
• Attenzione: ci sono due rappresentazioni dello 0• con 4 bit sono +0dieci = 0000ms –0dieci = 1000ms
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Diverse codifiche/interpretazioniDiverse codifiche/interpretazioni
--77
--66
--55
--44
--33
--22
--11
--00
MSMS
11111111
11101110
11011101
11001100
10111011
10101010
10011001
10001000
CodiceCodice
1515777701110111
1414666601100110
1313555501010101
1212444401000100
1111333300110011
1010222200100010
99111100010001
88000000000000
NatNatMSMSNatNatCodiceCodice
15/03/2007
Introduzione ai sistemi informatici 15
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri interi in complemento a 2Numeri interi in complemento a 2Alfabeto binarioAlfabeto binario• anche il segno è rappresentato da 0 o 1• è indispensabile indicare il numero k di bit utilizzati
Complemento a 2Complemento a 2• X corrisponde al binario naturale di 2k + X
+6dieci ⇒ 24+6 = 22 ⇒ [1]0110⇒ 0110C2–6dieci ⇒ 24– 6 = 10 ⇒ [0]1010⇒ 1010C2
• si rappresentano i valori da –2k–1 a 2k–1–1• con 4 bit i valori vanno da –8 a +7• con 8 bit i valori vanno da –128 a +127• Con 32 bit i valori vanno da –2'147'483'648 fino a +2'147'483'647
• Attenzione: c’è una sola rappresentazione dello 0• con 4 bit è +0dieci = 0000C2 mentre 1000C2 = –8dieci
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il complemento a 2Il complemento a 2
Metodi alternativi per calcolare la Metodi alternativi per calcolare la rappresentazione di rappresentazione di ––X a partire da quella di XX a partire da quella di X• Effettuare il complemento di ogni bit di X, poi aggiungere 1
• rappresentazione di +6dieci = 0110C2 (NB ci vogliono 4 bit!!)• complemento di tutti i bit ⇒ 1001C2 (corrisponderebbe a -7dieci)• aggiungere 1 ⇒ 1010C2 (che corrisponde a -6dieci)
• Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso, complementare tutti gli altri bit.
• rappresentazione di +6dieci = 0110C2 (NB ci vogliono 4 bit!!)• gli ultimi due bit (_ _ 1 0) rimangono invariati• gli altri due bit vengono complementati (1 0 1 0C2)
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Complemento a 2: alcune osservazioniComplemento a 2: alcune osservazioniSe si considera la notazione posizionale, si può notare che Se si considera la notazione posizionale, si può notare che nella rappresentazione binaria in complemento a due il nella rappresentazione binaria in complemento a due il valore si può ottenere anche valore si può ottenere anche associando alla cifra piassociando alla cifra piùùsignificativa un peso negativosignificativa un peso negativo, mentre tutte le altre cifre , mentre tutte le altre cifre mantengono il peso originario positivo.mantengono il peso originario positivo.
Il valore di un numeroIl valore di un numero ccnn––11ccnn––22……cc11cc00 scritto in complemento scritto in complemento a due a due èè –– ccnn––11××22nn––11 ++ ccnn––22××22nn––22 ++ …… ++ cc11××2211 ++ cc00××2200
Esempi:Esempi:• 0101C2 = – 0×23+1×22+0×21+1×20 = 5dieci,• 1011C2 = – 1×23+0×22+1×21+1×20 = –5dieci.
15/03/2007
Introduzione ai sistemi informatici 16
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Complemento a 2: alcune osservazioniComplemento a 2: alcune osservazioniI valori positivi iniziano con I valori positivi iniziano con 00, quelli negativi con , quelli negativi con 11Data la rappresentazione di un numero su Data la rappresentazione di un numero su kk bit, la bit, la rappresentazione dello stesso numero su rappresentazione dello stesso numero su k+1k+1 bit si bit si ottiene aggiungendo (a sinistra) un bit uguale al ottiene aggiungendo (a sinistra) un bit uguale al primo (primo (estensione del estensione del ““segnosegno””))• Rappresentazione di –6 su 4 bit = 1010• Rappresentazione di –6 su 5 bit = 11010• Rappresentazione di –6 su 8 bit = 11111010
la sottrazione si effettua come somma algebricala sottrazione si effettua come somma algebrica• 4 – 6 = +4 + (–6) = 0100 + 1010 = 1110 = –2• 9 – 6 = +9 + (–6) = 01001 + 11010 = [1]00011 = +3
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
C2: rappresentazioni con diversi #bitC2: rappresentazioni con diversi #bit
0000 0000 0000 10000000 10000 1000NANANA+8
1111 1111 1111 10001111 10001 10001000NANA–8
Complemento a due (# bit)Naturale inbase dieci 1685432
0000 0000 0000 11010000 11010 1101NANANA+13
0000 0000 0000 01110000 01110 01110111NANA+70000 0000 0000 01000000 01000 01000100NANA+40000 0000 0000 00010000 00010 0001000100101+11111 1111 1111 11111111 11111 1111111111111–11111 1111 1111 11001111 11001 11001100100100NA–41111 1111 1111 10011111 10011 10011001NANA–7
1111 1111 1111 00111111 00111 0011NANANA–13
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
C2: operazioniC2: operazioniOperazioni di somma di numeri binari in complemento a Operazioni di somma di numeri binari in complemento a due.due.Con gli 8 bit utilizzati negli esempi qui riportati si possono Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri interi da rappresentare i numeri interi da ––128128diecidieci fino a +127fino a +127diecidieci
1 1 1
0 0 0 1 1 0 0 1C2 + +2 5dieci + 0 0 1 0 1 1 0 0C2 + + 4 4dieci + 0 0 1 1 1 1 0 0C2 = +6 0dieci = 1 0 1 1 0 0 1 0C2 = – 7 8dieci = 0 1 0 1 0 1 0 1C2 +8 5dieci 1 1 0 1 1 1 1 0C2 - 3 4dieci
1 1 1 1 1 1 1 1
1 1 1 0 0 1 1 1C2 + –2 5dieci + 1 1 0 1 0 1 0 0C2 + – 4 4dieci + 1 1 0 0 0 1 0 0C2 = –6 0dieci = 0 1 0 0 1 1 1 0C2 = + 7 8dieci =1 1 0 1 0 1 0 1 1C2 –8 5dieci 1 0 0 1 0 0 0 1 0C2 + 3 4dieci
15/03/2007
Introduzione ai sistemi informatici 17
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
C2: operazioniC2: operazioni
Se dueSe due operandioperandi dello stesso segno danno un dello stesso segno danno un risultato di segno opposto vuol dire che risultato di segno opposto vuol dire che èè stata stata superata la capacitsuperata la capacitàà di calcolo (di calcolo (overflowoverflow).).
1 1 1 1 1 1 1
0 1 0 0 1 1 1 0C2 + + 7 8dieci + 1 1 0 0 0 1 0 0C2 + – 6 0dieci +0 0 1 1 1 1 0 0C2 = + 6 0dieci = 1 0 1 1 0 0 1 0C2 = – 7 8dieci =
1 0 0 0 1 0 1 0C2 – 1 1 8dieci 1 0 1 1 1 0 1 1 0C2 + 1 1 8dieci
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Diverse codifiche/interpretazioniDiverse codifiche/interpretazioni
10001000NANANANA––88NANANANA10001000+8+81111111111101110110111011100110010111011101010101001100110001000MSMS
1001100110101010101110111100110011011101111011101111111100000000C2C2
––77––66––55––44––33––22––11––00
DieciDieci
NANA011101110111011101110111+7+7NANA011001100110011001100110+6+6NANA010101010101010101010101+5+5NANA010001000100010001000100+4+4NANA001100110011001100110011+3+3NANA001000100010001000100010+2+2NANA000100010001000100010001+1+1
00000000000000000000000000000000+0+0DueDueC2C2MSMSDueDueDieciDieci
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Diverse codifiche/interpretazioniDiverse codifiche/interpretazioni
--77--66--55--44--33--22--11--00MSMS
--11--22--33--44--55--66--77--88C2C2
1111111111101110110111011100110010111011101010101001100110001000
CodiceCodice
15157777770111011114146666660110011013135555550101010112124444440100010011113333330011001110102222220010001099111111000100018800000000000000
NatNatC2C2MSMSNatNatCodiceCodice
15/03/2007
Introduzione ai sistemi informatici 18
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri razionaliNumeri razionaliCifre piCifre piùù significativesignificative: sono le cifre associate ai pesi maggiori: sono le cifre associate ai pesi maggiori• per i numeri maggiori di 1, le cifre picifre piùù significative sono quelle poste pisignificative sono quelle poste piùù a a
sinistrasinistra, per esempio, nel numero 723'456, la cifra più significativa è 7, associata al peso 105, seguita da 2, con peso 104, e così via;
• nel caso di numeri minori di 1, che iniziano con 0 seguito dal separatore decimale, le cifre pile cifre piùù significative sono le prime diverse da 0 che si significative sono le prime diverse da 0 che si incontrano andando da sinistra verso destraincontrano andando da sinistra verso destra, per esempio, nel numero 0.0072345 la cifra più significativa è 7, con peso 10–3, seguita da 2, con peso 10–4, e così via.
Quando i numeri hanno un valore molto grande o molto piccolo, siQuando i numeri hanno un valore molto grande o molto piccolo, siconsiderano solo le cifre piconsiderano solo le cifre piùù significative, adottando una significative, adottando una rappresentazione che viene indicata come notazione scientifica: rappresentazione che viene indicata come notazione scientifica: un un numero in base B viene rappresentato come numero in base B viene rappresentato come ±±0.m0.m××BBee,,•• segnosegno (+ oppure –),• coefficiente mm, detto mantissamantissa, che è la parte frazionaria compresa tra 0 e 1 •• esponenteesponente ee a cui elevare la base della numerazione, che è un intero ( 0)
Esempi:Esempi:• -123'450'000'000 diventa ––0.123450.12345××10121012,
con segno negativo, mantissa 12345, ed esponente 12;• +0.0000012345, corrisponde a 0.123450.12345××105105,
con segno positivo, mantissa 12345 ed esponente –5.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Rappresentazione binariaRappresentazione binariaPer esempio +101010000 diventa +0.10101Per esempio +101010000 diventa +0.10101××10100100101001,,• segno positivo;• mantissa 10101 (si noti che la mantissa inizia sempre con 1);• esponente è 01001C2
(si noti come l’esponente sia un numero intero e per questo sia necessario adottare una rappresentazione che permetta la codifica anche di valori negativi, come, per esempio, quella in complemento a due).
Standard Standard IEEEIEEE--754754 ((InstituteInstitute of of ElectricalElectrical and and ElectronicElectronic EngineersEngineers):):•• precisione doppia: 64 bitprecisione doppia: 64 bit•• precisione singola: 32 bitprecisione singola: 32 bit
0 –10–45 +10–45–10–38 +10–38–1038 +1038
Area di underflow
Area di overflow negativo (–∞)
Numeri negativi con mantissa normalizzata
Numeri negativi con mantissa non normalizzata
Numeri positivi con mantissa non normalizzata
Numeri positivi con mantissa normalizzata
Area di overflow positivo (+∞)
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Analogico Analogico vsvs digitaledigitale
15/03/2007
Introduzione ai sistemi informatici 19
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione Informazione ““classificatoriaclassificatoria””e pie piùù che che ““classificatoriaclassificatoria””
Informazione Informazione classificatoriaclassificatoria::“è“è questo, ma avrebbe potuto essere questquesto, ma avrebbe potuto essere quest’’altroaltro””..
Informazione Informazione pipiùù che che classificatoriaclassificatoria::• riconoscere distinzioni;• stabilire una relazione d’ordine (“questo è maggiore di quest’altro”);• stabilire una metrica (“questo è distante un certo valore da
quest’altro”).
LL’’insieme delle entitinsieme delle entitàà di informazione ha una di informazione ha una strutturastruttura..• La struttura dice “cosa si può fare” con le entità di informazione
dell’insieme, in termini di operazioni di combinazione e di confronto.• Si tratta di informazione su informazione (meta-informazione) in
presenza della quale l’insieme delle entità di informazione diventa un sistema, cioè appunto un “insieme con struttura”.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Due alternativeDue alternativeMetaMeta--informazione informazione esplicitaesplicita nel supporto:nel supporto:• il supporto ha una struttura corrispondente a quella presente tra entità
di informazione.
MetaMeta--informazione informazione implicitaimplicita nella regola di codifica:nella regola di codifica:• al supporto si richiede solo di avere configurazioni molteplici e
distinguibili l’una dall’altra,• la meta-informazione è definita in modo estensionale nella regola di
codifica.
Cosa succede nei due casi se si aggiungono i Cosa succede nei due casi se si aggiungono i ““mezzi puntimezzi punti””??
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Analogico e digitaleAnalogico e digitale
MetaMeta--informazione informazione esplicita nel supportoesplicita nel supporto
Codifica ANALOGICACodifica ANALOGICA
MetaMeta--informazione informazione implicita nella codificaimplicita nella codifica
Codifica DIGITALECodifica DIGITALE
15/03/2007
Introduzione ai sistemi informatici 20
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Analogico Analogico vsvs digitaledigitale
DigitaleDigitaleAnalogicoAnalogico
EstensionaleEstensionaleIntensionaleIntensionaleDefinizione della codificaDefinizione della codifica
Estendere il processo Estendere il processo definito in precedenzadefinito in precedenza
NessunaNessunaridefinizioneridefinizione
RidefinizioneRidefinizione codifica codifica vsvsvariazione entitvariazione entitàà informazioneinformazione
Solo perSolo per cardinalitcardinalitàà finita finita e con entite con entitàà note a priorinote a priori
OK anche perOK anche percardinalitcardinalitàà non finitanon finita
ApplicabilitApplicabilitàà vsvs cardinalitcardinalitàà entitentitààinformazioneinformazione
OK in ogni casoOK in ogni casoSolo se cSolo se c’è’è una una
strutturastrutturaApplicabilitApplicabilitàà vsvs struttura entitstruttura entitààinformazioneinformazione
OK in ogni casoOK in ogni casoSolo se il supporto ha Solo se il supporto ha
una strutturauna strutturaCondizioni sul supportoCondizioni sul supporto
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Da analogico a digitale:Da analogico a digitale:1. la 1. la quantizzazionequantizzazione
Ampiezza dellagrandezza fisica
Valorirappresentativi
dei diversiinsiemi
Demarcazione degliinsiemi individuati
Codifiche assegnate ai valori scelti per rappresentare gli insiemi
000
001
011
010
110
111
101
100
101
111
100
100
110
010
001001
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Da analogico a digitale:Da analogico a digitale:2. il campionamento2. il campionamento
La grandezza varia nel La grandezza varia nel tempo e non può essere tempo e non può essere rappresentata da un solo rappresentata da un solo valore.valore.I valori di riferimento I valori di riferimento debbono essere rilevati in debbono essere rilevati in diversi istanti di tempo diversi istanti di tempo (frequenza di (frequenza di campionamento).campionamento).La La quantizzazionequantizzazione deve poi deve poi essere ripetuta per ogni essere ripetuta per ogni valore campionato.valore campionato.
Ampiezza della grandezza fisica
Tempo
15/03/2007
Introduzione ai sistemi informatici 21
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Campionamento e Campionamento e quantizzazionequantizzazioneAmpiezza della grandezza fisica
Tempo
Valo
ri r
appr
esen
tati
vi
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Campionamento e Campionamento e quantizzazionequantizzazione
T1 T2 T3 T4 T5 T6 T7
t1 t2 t3 t4 t5 t6 t7
A0
A1
A2
A3
Ampiezza
Tempo
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
RicostruzioneRicostruzione
T1 T2 T3 T4 T5 T6 T7
t1 t2 t3 t4 t5 t6 t7
A0
A1
A2
A3
a0
a1
a2
a3
Ampiezza
Tempo
Andamento originario della
grandezza
Andamento della grandezza ricostruito dai valori campionati
15/03/2007
Introduzione ai sistemi informatici 22
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
QuantizzazioneQuantizzazione su pisu piùù livellilivelli
T1 T2 T3 T4 T5 T6 T7
t1 t2 t3 t4 t5 t6 t7
Ampiezza
Tempo a0
a1
a2
a3
a4
a5
a6
a7
A0
A2
A4
A6
A1
A3
A5
A7
Andamento originario della
grandezza
Andamento della grandezza ricostruito dai valori
campionati con quattro livelli di quantizzazione
Andamento della grandezza ricostruito dai
valori campionati con otto livelli di quantizzazione
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Suono digitaleSuono digitaleFormato standard per i CD audioFormato standard per i CD audio• 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 (Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) 2 byte) ciascuno per due canali, quindi 176'400 byte.ciascuno per due canali, quindi 176'400 byte.LL’’errore che si commette nella ricostruzione del segnale sonoro errore che si commette nella ricostruzione del segnale sonoro èèdifficilmente rilevabile da parte di un orecchio umano. difficilmente rilevabile da parte di un orecchio umano.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Foto digitaliFoto digitaliPer la codifica digitale delle immagini le operazioni di campionPer la codifica digitale delle immagini le operazioni di campionamento e amento e quantizzazionequantizzazione si applicano nello si applicano nello spaziospazio invece che nel invece che nel tempotempo..Il Il campionamentocampionamento consiste nel dividere lconsiste nel dividere l’’immagine in sottoinsiemi immagine in sottoinsiemi ((pixelpixel, cio, cioèè picturepicture elementelement), per ognuno dei quali si dovr), per ognuno dei quali si dovràà prelevare prelevare un campione che si considera rappresentativo del colore di tuttoun campione che si considera rappresentativo del colore di tutto il il sottoinsieme.sottoinsieme.La La quantizzazionequantizzazione èè la codifica del colore associato a ogni pixel: i pila codifica del colore associato a ogni pixel: i piùùrecenti formati utilizzano recenti formati utilizzano 32 bit32 bit (4 byte) per pixel: 8 bit per ognuna (4 byte) per pixel: 8 bit per ognuna delle tre componenti fondamentali (delle tre componenti fondamentali (RGB: RGB: redred, , greengreen, , blueblue) e altri 8 per ) e altri 8 per gestire le gestire le trasparenzetrasparenze..
Memoria necessaria per immagini non compresse (Memoria necessaria per immagini non compresse (bitmapbitmap))• per un’immagine di 640×480 pixel servono 1'228'800 byte;• per un’immagine di 800×600 pixel servono 1'920'000 byte;• per un’immagine di 1024×768 pixel servono 3'145'728 byte;• per un’immagine di 1280×1024 pixel servono 5'242'880 byte;• per un’immagine di 1600×1200 pixel servono 7'680'000 byte;• …
15/03/2007
Introduzione ai sistemi informatici 23
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il successo del digitaleIl successo del digitaleRumoreRumore: effetto dell: effetto dell’’ambiente sul ambiente sul supporto.supporto.Quanto un supporto Quanto un supporto èè ““immuneimmune”” al al rumore?rumore?•• Codifica analogicaCodifica analogica: ogni configurazione è
lecita dal punto di vista informazionale e quindi risulta impossibile distinguere il rumore dal segnale.
•• Codifica digitaleCodifica 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
Tensione (V)
00 binario
1
2
3
4
51 binario
Non lecito
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Come ridurre il numero di bitCome ridurre il numero di bitEsempioEsempio• successione di un milione di caratteri, ognuno scelto dall’insieme {A, C, G, T}{A, C, G, T};• la frequenza dei quattro caratteri all’interno della successione non è uguale: AA
si presenta nel 50%50% dei casi, CC nel 25%25%, GG e TT solo nel 12.5%12.5% dei casi.
Codifica digitale a lunghezza costanteCodifica digitale a lunghezza costante• due bit per ciascuno dei simboli, per esempio: AA == 0000, CC == 0101, GG == 1010 e TT == 1111;• la lunghezza complessiva della successione è quindi pari a 2 milioni di bit2 milioni di bit.
Codifica a lunghezza variabile (che tenga conto della distribuziCodifica a lunghezza variabile (che tenga conto della distribuzione)one)•• AA == 00, CC == 1010, GG == 110110 e TT == 111111;• la lunghezza complessiva della successione è di 1.75 milioni di bit1.75 milioni di bit
(1×50% + 2×25% + 3×12.5% + 3×12.5%) bit/carattere × 1 milione di caratteri
Il cambiamento di codifica permette di ridurre il numero di bit Il cambiamento di codifica permette di ridurre il numero di bit utilizzato senza perdere informazione.utilizzato senza perdere informazione.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
La compressione dei datiLa compressione dei dati
Gli algoritmi di compressione dei dati possono essere distinti iGli algoritmi di compressione dei dati possono essere distinti in due n due categorie fondamentalicategorie fondamentali• Compressione losslesslossless, se nonnon provocaprovoca la perdita di informazione• Compressione lossylossy, se provocaprovoca la perdita di informazione
Gli algoritmi di compressione Gli algoritmi di compressione lossylossy sono specifici per i diversi domini sono specifici per i diversi domini applicativi.applicativi.