23
15/03/2007 Introduzione ai sistemi informatici 1 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Capitolo 2 Capitolo 2 L’ informazione e la sua codifica informazione e la sua codifica Informatica e Informazione Informatica e Informazione La codifica dell La codifica dell’informazione informazione Analogico Analogico vs vs digitale digitale Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Informazione e Informatica Informazione e Informatica Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Informatica e telecomunicazione Informatica e telecomunicazione Cos Cos’è ’è l’informatica informatica? 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 dell la scienza della rappresentazione e dell’elaborazione elaborazione dell dell’informazione informazione Cos Cos’è ’è la la telecomunicazione telecomunicazione? la trasmissione rapida rapida a distanza distanza dell’informazione Attenzione: Attenzione: Non Non si parla di tecnologia dei calcolatori calcolatori ! Si attribuisce ruolo centrale al concetto di informazione informazione !

Informatica e Informazione La codifica dell’informazione ...pa.icar.cnr.it/storniolo/info200708/02.pdf15/03/2007 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo

  • 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.