La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ambrosino - Noli - PerfettoSistemi di Elaborazione A.A. 2015- 2016 1 Sistemi di Elaborazione Obiettivi del corso Definizioni generali Il calcolatore Codifica.

Presentazioni simili


Presentazione sul tema: "Ambrosino - Noli - PerfettoSistemi di Elaborazione A.A. 2015- 2016 1 Sistemi di Elaborazione Obiettivi del corso Definizioni generali Il calcolatore Codifica."— Transcript della presentazione:

1

2 Ambrosino - Noli - PerfettoSistemi di Elaborazione A.A. 2015- 2016 1 Sistemi di Elaborazione Obiettivi del corso Definizioni generali Il calcolatore Codifica binaria dell’informazione Introduzione all’informatica

3 Ambrosino - Noli - PerfettoSistemi di Elaborazione A.A. 2015- 2016 2 Premessa Il corso non presuppone conoscenze informatiche precedenti

4 Ambrosino - Noli - Perfetto3 Obiettivi del corso Conoscere gli aspetti fondamentali dell ’ Informatica e della struttura dei calcolatori Conoscere la struttura di alcuni dei più utilizzati pacchetti applicativi Conoscere alcune delle possibilità di informazione offerte da internet Sistemi di Elaborazione A.A. 2015- 2016

5 Ambrosino - Noli - Perfetto4 Cos ’ è l ’ informatica ? L ’ informatica è la scienza dei calcolatori L ’ informatica è la scienza della programmazione L ’ informatica è la scienza di Internet Sistemi di Elaborazione A.A. 2015- 2016

6 Ambrosino - Noli - Perfetto5 Cos ’ è l ’ informatica ? L ’ informatica è la scienza della rappresentazione e dell ’ elaborazione automatica dell ’ informazione L ’ informatica è lo studio degli algoritmi: delle loro proprietà formali e matematiche delle loro realizzazioni hardware delle loro realizzazioni linguistiche delle loro applicazioni Sistemi di Elaborazione A.A. 2015- 2016

7 Ambrosino - Noli - Perfetto6 Che cos ’ è un algoritmo ? Un insieme ben ordinato e finito di operazioni non ambigue ed effettivamente calcolabili che, applicate ad un insieme di condizioni iniziali, produce un risultato e termina in una quantità di tempo finita. Sistemi di Elaborazione A.A. 2015- 2016

8 Ambrosino - Noli - Perfetto7 Esempi di algoritmi Ricetta di cucina Sequenza di operazioni per registrare un programma con un video registratore Sequenza di operazioni per montare una tenda Sequenza di operazioni per moltiplicare due numeri … Sistemi di Elaborazione A.A. 2015- 2016

9 Ambrosino - Noli - Perfetto8 Un algoritmo ben scritto La ricetta per cuocere 100 g di pasta: 1. Metti 1 l di acqua in una pentola 2. Poni la pentola sul fornello 3. Accendi la fiamma del fornello 4. Finchè l ’ acqua non bolle ripeti il passo 5. 5. Aspetta 1 minuto. 6. Aggiungi 10 g di sale grosso 7. Leggi sulla confezione della pasta la cottura prevista 8. Versa la pasta nell ’ acqua bollente 9. Aspetta il tempo di cui al punto 7. 10. Scola la pasta 11. Fine Sistemi di Elaborazione A.A. 2015- 2016

10 Ambrosino - Noli - Perfetto9 Un algoritmo per guadagnare in borsa 1. Se le azioni sono scese al punto che non possono far altro che salire, compra 2. Se le azioni sono salite al punto che non possono far altro che scendere, vendi Un insieme ben ordinato e finito di operazioni non ambigue ed effettivamente calcolabili che, applicate ad un insieme di condizioni iniziali, produce un risultato e termina in una quantità di tempo finita. Sistemi di Elaborazione A.A. 2015- 2016

11 F. Ambrosino & F. Perfetto10 I due ubriachi 1. Siccome Peppe è ubriaco, Ciro lo accompagna a casa 2. Siccome Ciro è ubriaco, Peppe lo accompagna a casa 3. Siccome Peppe è ubriaco, Ciro lo accompagna a casa … Un insieme ben ordinato e finito di operazioni non ambigue ed effettivamente calcolabili che, applicate ad un insieme di condizioni iniziali, produce un risultato e termina in una quantità di tempo finita. Laboratorio di Informatica A.A. 2008-2009

12 Ambrosino - Noli - Perfetto11 Riassumendo…. L ’ “ algoritmo ” per vincere in borsa non è ben ordinato è ambiguo L ’ “ algoritmo ” dei due ubriachi non impiega un tempo finito non produce un risultato Sistemi di Elaborazione A.A. 2015- 2016

13 Ambrosino - Noli - Perfetto12 Formalizzazione del concetto di algoritmo: perché ? L’obiettivo è la costruzione di uno o più mezzi di calcolo in grado di eseguire “operazioni primitive” (ovvero effettivamente calcolabili). Un mezzo di calcolo che esegue operazioni primitive permette di automatizzare una soluzione di un problema espressa da un algoritmo. La soluzione di un problema espressa da un algoritmo costituito da sequenze di operazioni primitive può essere automatizzata Sistemi di Elaborazione A.A. 2015- 2016

14 Ambrosino - Noli - Perfetto13 Cos ’ è un programma ? Un Programma è l ’ espressione di un algoritmo in un linguaggio comprensibile all ’ esecutore L ’ algoritmo è una rappresentazione astratta della soluzione di un problema, il programma è l ’ espressione concreta dell ’ algoritmo Sistemi di Elaborazione A.A. 2015- 2016

15 Ambrosino - Noli - Perfetto14 Linguaggi di Programmazione I Uno stesso algoritmo può essere espresso (codificato) attraverso diversi linguaggi di programmazione Esistono alcune centinaia di linguaggi di programmazione: sono tutti basati su pochi concetti fondamentali I linguaggi di programmazione consentono al programmatore di astrarre dalle caratteristiche fisiche dell ’ esecutore Sistemi di Elaborazione A.A. 2015- 2016

16 Ambrosino - Noli - Perfetto15 Linguaggi di Programmazione II Programmazione: una qualsiasi notazione per la descrizione di algoritmi e strutture dati (general purpose languages) Es. Fortran, C, C++, Basic, Java Domain-specific: qualsiasi notazione per la descrizione di un problema in un dominio di applicazione determinato e circoscritto. Es HTML, LaTeX, SQL… Scripting: linguaggi interpretati che consentono anche di collegare tra loro delle applicazioni. Es, Perl, TCL/TK, php, JavaScript… Principio:Scegliere il linguaggio più appropriato per la risoluzione di un dato problema Sistemi di Elaborazione A.A. 2015- 2016

17 Ambrosino - Noli - Perfetto16 Correttezza di un algoritmo Determinare la correttezza dell ’ algoritmo elaborato per un dato problema può essere arduo…le condizioni per essere ragionevolmente sicuri di averlo trovato sono: Comprensione effettiva del problema Validità della soluzione indipendentemente da condizioni particolari o dal valore dei dati in ingresso Livello di approssimazione del risultato sufficiente agli scopi di progetto Sistemi di Elaborazione A.A. 2015- 2016

18 Ambrosino - Noli - Perfetto17 Efficienza degli algoritmi Una volta determinato un algoritmo corretto per la soluzione di un problema, occorre preoccuparsi della sua efficienza, ovvero di come esso gestisca le risorse tempo (numero di operazioni necessarie alla soluzione) e spazio (memoria occorrente per trovare la soluzione) che saranno in quantità finita per qualunque elaboratore reale. Sistemi di Elaborazione A.A. 2015- 2016

19 Ambrosino - Noli - Perfetto18.... proseguendo Un criterio per la valutazione dell’efficienza di un algoritmo è di grande utilità in quanto dobbiamo assicurarci la possibilità di operare confronti tra diversi algoritmi, indipendentemente dal linguaggio con cui saranno implementati e dalla “potenza” della macchina su cui saranno eseguiti. Sistemi di Elaborazione A.A. 2015- 2016

20 Ambrosino - Noli - Perfetto19 Valutare l ’ efficienza rispetto al tempo L ’ efficienza rispetto alla risorsa tempo può essere valutata in generale contando il numero di operazioni richieste dall ’ algoritmo per arrivare alla soluzione del problema in funzione del numero n dei dati in ingresso. In questa valutazione non è importante il valore esatto quanto la dipendenza funzionale e l ’ ordine di grandezza. Si parlerà allora di algoritmi o complessità O(n), O(n 2 ), O(log n), O(2 n ) etc. a seconda degli andamenti. Sistemi di Elaborazione A.A. 2015- 2016

21 Ambrosino - Noli - Perfetto20 L ’ algoritmo di ricerca sequenziale... Supponiamo di voler cercare un nome in una rubrica telefonica contenente 100 nomi. Il primo algoritmo che viene in mente potrebbe essere: Sistemi di Elaborazione A.A. 2015- 2016

22 Ambrosino - Noli - Perfetto21 1. Acquisisci nome 1 …..nome 100 2. Acquisisci tel 1 ……tel 100 3. Acquisisci nome cercato 4. Poni trovato = falso 5. Poni i = 1 6. Ripeti finché trovato diventa vero o i >100 7. Se nome i = nome cercato allora 8. Stampa tel i 9. Poni trovato = vero Altrimenti 10. Incrementa i di 1 11. Fine del ciclo 12. Se trovato = falso allora 13.Stampa messaggio ‘ Nome non in elenco ’ 14. Fermati Sistemi di Elaborazione A.A. 2015- 2016

23 Ambrosino - Noli - Perfetto22 …e quello di ricerca binaria L ’ algoritmo di ricerca sequenziale è semplice e corretto... ma non sfrutta il fatto che la rubrica è ordinata ! “ Riesco a trovare i nomi molto più velocemente sul dizionario, da quando ho scoperto che sono in ordine alfabetico ” (Groucho Marx) Sistemi di Elaborazione A.A. 2015- 2016

24 Ambrosino - Noli - Perfetto23 1. Acquisisci nome 1 …..nome 100 2. Acquisisci tel 1 ……tel 100 3. Acquisisci nome cercato 4. Poni trovato = falso 5. Poni inizio = 1 e fine = 100 6. Ripeti finché trovato diventa vero 7. Poni i a (inizio+fine)/2 8. Se nome i = nome cercato allora 9. Stampa tel i 10. Poni trovato = vero Altrimenti Se nome cercato precede alfabeticamente nome i 11. Poni fine = i -1 altrimenti (nome cercato segue nome i ) 12. Poni inizio = i +1 13. Fine del ciclo 14. Se trovato = falso allora 15.Stampa messaggio ‘ Nome non in elenco ’ 16. Fermati o fine <inizio Sistemi di Elaborazione A.A. 2015- 2016

25 Ambrosino - Noli - Perfetto24 Confronto fra ricerca sequenziale e ricerca binaria Computer: CRAY T3E-900 1360 processori in parallelo Costo: 30 M euro Numero di op. al secondo: 7*10 11 Algoritmo ric. sequenziale Computer: Pentium Pro 200 Costo: fuori produzione, si può trovare a 200 euro Numero di op. al secondo: 7*10 7 Algoritmo ricerca binaria Elenco di Napoli (10 6 abitanti): Elenco di New York (2*10 7 abitanti): Sistemi di Elaborazione A.A. 2015- 2016

26 Ambrosino - Noli - Perfetto25 Automatizzare i calcoli I primi mezzi automatici di calcolo compaiono nel XVII secolo ad opera di Schickard e Pascal. Funzionano sulla base di ruote dentate. Macchina calcolatrice di Schickard LaPascalina Sistemi di Elaborazione A.A. 2015- 2016

27 Ambrosino - Noli - Perfetto26 Il primo programma Ma la prima macchina a disporre di un vero programma è il telaio di Jacquard costruito nel 1804 : il disegno della trama viene inserito tramite schede perforate e realizzato automaticamente dalla macchina. Sistemi di Elaborazione A.A. 2015- 2016

28 Ambrosino - Noli - Perfetto27 Il primo calcolatore Il primo progetto di un calcolatore vero e proprio, capace di eseguire programmi, si deve a Charles Babbage (1830) L ’ Analytic engine sfruttava le schede perforate di Jacquard, e una sofisticatissima tecnica meccanica già utilizzata nella precedente Difference engine. Sistemi di Elaborazione A.A. 2015- 2016

29 Ambrosino - Noli - Perfetto28 I primi calcolatori elettronici Motivati principalmente da esigenze belliche i primi grandi calcolatori elettronici a valvole furono realizzati dalle maggiori potenze in conflitto nel corso degli anni 40. ENIAC: 18000 valvole 30 m lunghezza 30 tonnellate Sistemi di Elaborazione A.A. 2015- 2016

30 Ambrosino - Noli - Perfetto29 Il calcolatore moderno Il principale problema dei calcolatori fino agli anni ’ 40 era la fondamentale differenza fra il modo in cui venivano memorizzati i dati e quello in cui venivano realizzati i programmi, che non erano memorizzati, ma realizzati esternamente usando connessioni, fili etc. Fu il genio di Von Neumann che permise di progettare e realizzare, nel 1950, l ’ EDVAC, il primo calcolatore a programma memorizzato. L ’ EDVAC pesava 8 ton e aveva una memoria di 1024 parole… ma non era nella sostanza diverso dal computer usato per scrivere questa presentazione… Sistemi di Elaborazione A.A. 2015- 2016

31 Ambrosino - Noli - Perfetto30 Processore La macchina di Von Neumann Lo schema della macchina di Von Neumann, modello sul quale si basano praticamente tutti i moderni computer è basato su quattro elementi fondamentali: La memoria L ’ unità aritmetico logica (ALU) L ’ unità di controllo Le unità di Ingresso/Uscita (I/O) Sistemi di Elaborazione A.A. 2015- 2016

32 Ambrosino - Noli - Perfetto31 La macchina di Von Neumann (II) Sistemi di Elaborazione A.A. 2015- 2016

33 Ambrosino - Noli - Perfetto32 La memoria RAM IndirizzoContenuto 0 1 Dato o istruzione 2 Dati e istruzioni sono codificati MAR MDR Operazioni possibili: Fetch (indirizzo) Store (indirizzo, valore) F/S Memory Address Register Memory Data Register Sistemi di Elaborazione A.A. 2015- 2016 ALU Controllo

34 Ambrosino - Noli - Perfetto33 Le unità di I/O Dispositivi di interfaccia utente: tastiera, monitor, mouse… Dispositivi di comunicazione: porte e dispositivi ad esse connessi (stampanti, modem…) Dispositivi di memoria di massa: (Hard disk, Floppy disk, CDROM, DVD) Tempi caratteristici di accesso: diversi ordini di grandezza più lenti della memoria RAM Controllore di I/O BufferDriver I/O Interrupt Dati Sistemi di Elaborazione A.A. 2015- 2016

35 Ambrosino - Noli - Perfetto34 L ’ unità aritmetico logica: ALU Il cuore calcolante del computer: effettua un insieme finito e predeterminato di operazioni matematiche e logiche. Gli operandi vengono letti da registri in ingresso, e il risultato dell ’ operazione è scritto su un registro in uscita. Il registro di stato (SR) riporta il segno del risultato e la presenza di riporto o di una condizione di errore( underflow, overflow) ALU Registro 00 Registro 01 Registro 15 Linee di selezione SR Sistemi di Elaborazione A.A. 2015- 2016

36 Ambrosino - Noli - Perfetto35 L ’ unità di controllo (I) Struttura di una istruzione in linguaggio macchina: Codice operativo – Indirizzo 1 – Indirizzo 2 Esempio: ADD X,Y (Y=X+Y) Dati e istruzioni sono codificati Ciclo di esecuzione di un programma: Instruction fetch Decodifica Esegui Sistemi di Elaborazione A.A. 2015- 2016

37 Ambrosino - Noli - Perfetto36 L ’ unità di controllo (II) Program Counter (++) Registro istruzioni (IR) Codice op. – Indirizzo 1-Indirizzo N Decodificatore di istruzione Memoria, ALU,controllori I/O… Sistemi di Elaborazione A.A. 2015- 2016

38 Ambrosino - Noli - Perfetto37 Riassumendo La struttura di Von Neumann permette di calcolare una sequenza di istruzioni opportunamente codificate e memorizzate e di controllare il flusso dell ’ esecuzione. La gestione dell ’ I/O è delegata a opportuni controllori per ottimizzare le prestazioni. La condizione chiave per la realizzazione del calcolatore è disporre di un sistema efficiente e affidabile di codifica dell ’ informazione, ovvero dei dati e delle istruzioni che devono essere via via eseguite. Sistemi di Elaborazione A.A. 2015- 2016

39 Ambrosino - Noli - Perfetto38 Codifica binaria Sistemi di Elaborazione A.A. 2015- 2016

40 Ambrosino - Noli - Perfetto39 La codifica binaria L’alfabeto più semplice è quello costituito da soli due simboli. Facilmente implementabile su un supporto fisico  Sostanze magnetiche con due opposte polarizzazioni  Passaggio o meno di corrente  Passaggio o meno di luce .... Piu’ economico Piu’ affidabile Un sistema automatico basato su un alfabeto binario è: Sistemi di Elaborazione A.A. 2015- 2016

41 Ambrosino - Noli - Perfetto40 Es. Codice binario di Morse:. - A. -J. - - -S... B-...K-. -T- C-. L. -..U.. - D-..M- V... - E.N-.W. - - F.. -.O- - -X-.. - G- -.P. - -.Y-. - - H.. Q- -. -Z- -.. I. R. -. Codifica solo le lettere maiuscole Il numero di simboli in successione non e’ fisso per ogni lettera Sistemi di Elaborazione A.A. 2015- 2016

42 Ambrosino - Noli - Perfetto41 Sistema di numerazione decimale 1. E’ posizionale (unità, decine, centinaia) 2. E’ costituito da 10 cifre (base = 10) 504.31 = 5 10 2 + 0 10 1 + 4 10 0 + 3 10 -1 + 1 10 -2 peso valore intrinseco della cifra Cifra più significativa Cifra meno significativa Sistemi di Elaborazione A.A. 2015- 2016

43 Ambrosino - Noli - Perfetto42 Notazione posizionale La notazione posizionale consente di scrivere un numero N di una certa base generica b come una sequenza di cifre. 504.31 = 5 10 2 + 0 10 1 + 4 10 0 + 3 10 -1 + 1 10 -2 a n-1 a n-2 a n-3...a 2 a 1 a 0. a -1 a -2 …... a -m-2 a m-2 a m-1 a -m Generalizzando, data una base b ed un insieme di b cifre: Valore decimale del numero N Sistemi di Elaborazione A.A. 2015- 2016

44 Ambrosino - Noli - Perfetto43 Sistemi posizionali (208) 10 =(11010000) 2 =(D0) 16 =(320) 8 base SistemaBaseCifre binario20 1 ottale80 1 2 3 4 5 6 7 decimale100 1 2 3 4 5 6 7 8 9 esadecimale160 1 2 3 4 5 6 7 8 9 A B C D E F Sistemi di Elaborazione A.A. 2015- 2016

45 Ambrosino - Noli - Perfetto44 Sistema non posizionale Il sistema di numerazione romano non è posizionale: il valore associato a ciascun simbolo non dipende dalla sua posizione. Es: nei due numeri XII e XIX la seconda cifra, pur avendo la stessa posizione, assume due pesi diversi: XII = 10 + 1 + 1 XIX = 10 + 10 - 1 Sistemi di Elaborazione A.A. 2015- 2016

46 Ambrosino - Noli - Perfetto45 Limiti della rappresentazione posizionale (I) Data un sistema di numerazione di base b qual è il massimo numero intero positivo rappresentabile in una sequenza di n cifre? Es. in 4 cifre il sistema decimale può rappresentare interi positivi da 0 a 9999, ovvero 10 4 valori diversi, ovvero b 4 valori. Formalmente, il numero massimo N max rappresentabile con n cifre nella base b è: Sistemi di Elaborazione A.A. 2015- 2016

47 Ambrosino - Noli - Perfetto46 Limiti della rappresentazione posizionale (II) Es. in una sequenza di 16 cifre il sistema binario può rappresentare 2 16 = 65536 interi positivi che vanno da 0 a 65535; il numero minimo di cifre per rappresentare il numero 1000 è ceil(log 2 (1001)) = 10 Quante cifre sono invece necessarie per rappresentare un dato numero in una base? Basta invertire la relazione precedente: Ceiling: minimo intero superiore Sistemi di Elaborazione A.A. 2015- 2016

48 Ambrosino - Noli - Perfetto47 Il computer e l’informazione Il sistema posizionale binario permette la codifica dell’informazione numerica attraverso l’uso di solo due cifre. Con opportune convenzioni si possono rappresentare anche i numeri relativi interi e frazionari, i caratteri, le immagini ed i suoni. A causa della maggiore facilità implementativa ed affidabilità su un supporto fisico, i calcolatori digitali trattano solo informazione codificata in forma binaria. L’unità elementare d’informazione manipolata e memorizzata da un computer è detta bit (binary digit), e può assumere i valori 1 e 0. Sistemi di Elaborazione A.A. 2015- 2016

49 Ambrosino - Noli - Perfetto48 Alcune convenzioni byte  sequenza di 8 bit (Es. 01001011) word  da 16 a 64 bit a seconda dell’architettura; convenzionalmente 16bit longword  convenzionalmente 32 bit  10 18 2 60 = 1024 6 EExa  10 15 2 50 = 1024 5 PPeta  10 12 2 40 = 1024 4 TTera  10 9 2 30 = 1024 3 GGiga  10 6 2 20 = 1024 2 MMega  10 3 2 10 = 1024kKilo ApprossimazioneValoreSiglaMultiplo Sistemi di Elaborazione A.A. 2015- 2016

50 Ambrosino - Noli - Perfetto49 Codifica dei numeri interi Nell’ aritmetica binaria vi sono 4 tecniche di organizzazione dei numeri interi con segno. 1.Modulo e segno; 2.Complemento alla base diminuita; 3.Complemento alla base; 4.Eccesso M (o bias); Sistemi di Elaborazione A.A. 2015- 2016

51 Ambrosino - Noli - Perfetto50 Codifica dei numeri interi Sistemi di Elaborazione A.A. 2015- 2016

52 Ambrosino - Noli - Perfetto51 Codifica dei numeri interi Sistemi di Elaborazione A.A. 2015- 2016

53 Ambrosino - Noli - Perfetto52 Codifica dei numeri interi Sistemi di Elaborazione A.A. 2015- 2016

54 Ambrosino - Noli - Perfetto53 Codifica dei numeri interi Sistemi di Elaborazione A.A. 2015- 2016

55 Ambrosino - Noli - Perfetto54 Codifica dei numeri interi In pratica, il complemento a 2 si ottiene invertendo tutti i bit e aggiungendo 1. Sistemi di Elaborazione A.A. 2015- 2016

56 Ambrosino - Noli - Perfetto55 Codifica dei numeri razionali Sistemi di Elaborazione A.A. 2015- 2016

57 Ambrosino - Noli - Perfetto56 Codifica dei numeri irrazionali Sistemi di Elaborazione A.A. 2015- 2016

58 Ambrosino - Noli - Perfetto57 Codifica dei numeri irrazionali Sistemi di Elaborazione A.A. 2015- 2016

59 Ambrosino - Noli - Perfetto58 Float, double, long double L ’ esempio precedente si riferisce a un numero di tipo float o singola precisione. Lo standard ANSI/IEEE754 definisce anche il numero di bit per ciascun campo per rappresentare numeri di tipo double (doppia precisione) e long double (quadrupla precisione). F (23 bit)E (8 bit)S (1 bit) F (52 bit)E (11 bit)S (1 bit) F (112 bit)E (15 bit)S (1 bit) Float Double Long double Sistemi di Elaborazione A.A. 2015- 2016

60 Ambrosino - Noli - Perfetto59 Overflow e underflow Nelle operazioni fra floating point, possono verificarsi due condizioni di errore : Overflow: in un qualsiasi passo l ’ esponente calcolato è superiore al massimo rappresentabile; può verificarsi quando si maneggiano numeri dal valore assoluto molto elevato. Underflow: in un qualsiasi passo l ’ esponente calcolato è inferiore al minimo rappresentabile; può verificarsi quando si maneggiano numeri molto vicini allo “ zero ” della macchina. Sistemi di Elaborazione A.A. 2015- 2016

61 Ambrosino - Noli - Perfetto60 Propagazione degli errori I calcoli in virgola mobile vengono effettuati riportando i numeri allo stesso esponente, lavorando poi sulle mantisse e infine normalizzando il risultato. Tali procedure introducono un arrotondamento nei calcoli: la cifra meno significativa della mantissa sarà sempre affetta da un errore. Per minimizzare questo errore lo standard IEEE 754 prevede di memorizzare tutti i risultati intermedi di un ’ operazione in virgola mobile con due cifre aggiuntive dette di cifra di guardia e cifra di arrotondamento. In questo modo i calcoli in virgola mobile garantiscono una precisione inferiore a metà dell ’ unita sulla cifra meno significativa. Sistemi di Elaborazione A.A. 2015- 2016

62 Ambrosino - Noli - Perfetto61 Codifica dei caratteri Mentre per codificare numeri si usano tecniche basate sul loro valore, per codificare dei caratteri c ’ è bisogno di una relazione convenzionale, ovvero di una tabella che faccia corrispondere a una data sequenza di bit un dato carattere. Nel progettare tale tabella bisogna tener conto ovviamente anche di caratteri non direttamente stampabili, ma che rappresentino la formattazione del testo, come ad esempio il carriage return CR ( “ a capo ” ). Le tabelle “ standard ” oggi più usate sono quella cosiddetta ASCII e quella UNICODE Sistemi di Elaborazione A.A. 2015- 2016

63 Ambrosino - Noli - Perfetto62 Codifica dei caratteri (II) Sistemi di Elaborazione A.A. 2015- 2016

64 Ambrosino - Noli - Perfetto63 Codifica dei caratteri (III) Sistemi di Elaborazione A.A. 2015- 2016

65 Ambrosino - Noli - Perfetto64 Il codice ASCII Lo standard internazionalmente adottato per la codifica dei caratteri è il codice ASCII, acronimo di American Standard Code for Information Interchange. Le caratteristiche del codice ASCII sono: 7 bit ovvero 128 caratteri da 0 a 127 32 caratteri speciali non stampabili Cifre del sistema decimale, maiuscole, minuscole, ! ” #$& ’ ()*+,-./@:; ? Etc. Le lettere e le cifre conservano l ’ ordine alfabetico/numerico La distanza fra maiuscole e minuscole è fissata Il codice viene spesso esteso a 8 bit per comprendere set di caratteri specifici di una certa area geografica, come è,Ç I primi 8 bit del codice UNICODE corrispondono a quelli dell ’ ASCII esteso. Sistemi di Elaborazione A.A. 2015- 2016

66 Ambrosino - Noli - Perfetto65 Il codice ASCII (II) Sistemi di Elaborazione A.A. 2015- 2016

67 Ambrosino - Noli - Perfetto66 Il codice UNICODE Per aumentare il numero di caratteri rappresentabili nel 1991 è stato introdotto il sistema di caratteri UNICODE, che utilizzando codici di 16 bit, consente di rappresentare fino a 65536 caratteri diversi (sufficienti per la maggior parte delle lingue del mondo). Trasmettere un testo in formato UNICODE comporta l ’ invio di una quantità doppia di dati, rispetto ad una codifica ASCII estesa. Sistemi di Elaborazione A.A. 2015- 2016

68 Ambrosino - Noli - Perfetto67 Il codice UCS Sistemi di Elaborazione A.A. 2015- 2016

69 Ambrosino - Noli - Perfetto68 Il codice UCS (II) Sistemi di Elaborazione A.A. 2015- 2016

70 Ambrosino - Noli - Perfetto69 Esercizio Nell’alfabeto di Venere sono previsti 375 simboli; Quanti bit si devono utilizzare per rappresentarli tutti? L’esercizio richiede di trovare il numero di bit che sono necessari per codificare 375 informazioni diverse. Dobbiamo quindi applicare la formula: 2 N >= M e ricavare N 2 N >= 375 se N=9 Sistemi di Elaborazione A.A. 2015- 2016

71 Ambrosino - Noli - Perfetto70 Esercizio (II) Quanti byte occupa la frase “biologia marina” se la si codifica utilizzando il codice ASCII esteso? Quanti byte occupa la stessa frase scritta in codice UNICODE? Poichè sappiamo che ogni carattere in codice ASCII esteso occupa un Byte dobbiamo contare il numero di caratteri (inclusi gli spazi bianchi) che formano la frase “biologia marina” e moltiplicare per 1 15 caratteri ---> 15 byte Poichè ogni carattere in codice UNICODE occupa due byte avremo 15 caratteri --> 15 x 2 byte = 30 byte Sistemi di Elaborazione A.A. 2015- 2016

72 Ambrosino - Noli - Perfetto71 Immagini (I) Non c ’ è un “ quanto ” naturale di informazione elementare come la cifra per i numeri o la lettera per i testi. Si introduce allora un reticolo di punti detti pixel Ad ogni pixel viene poi associato un certo numero di bit, che indica l ’ intensità luminosa di ciascun colore primario, ovvero della combinazione RGB RedGreenBlue. Una tipica codifica utilizza 8 bit per colore (=256 livelli di intensità) ovvero 24 bit/pixel. In questo modo si possono rappresentare 2 24 ~ 16 milioni di diverse tonalità di colore. Il numero di bit/pixel impiegati viene chiamato profondità di colore dell ’ immagine. Sistemi di Elaborazione A.A. 2015- 2016

73 Ambrosino - Noli - Perfetto72 Immagini (II) 00011000 01100110 01000010 10010001 10001001 01000010 01100110 00011000 0001100001100110010000101001000110001001010000100110011000011000 3 zeri 2 uno 4 zeri 2 volte (2 uno 2 zeri) uno 4 zeri 1 0 1 2 zeri … Sistemi di Elaborazione A.A. 2015- 2016

74 Ambrosino - Noli - Perfetto73 Immagini (III) Codifica delle immagini Assegnando un bit ad ogni pixel è possibile codificare solo immagini in bianco e nero Per codificare le immagini con diversi livelli di grigio oppure a colori si usa la stessa tecnica: per ogni pixel viene assegnata una sequenza di bit Per memorizzare un pixel non è più sufficiente un solo bit. Ad esempio, se utilizziamo 4 bit possiamo rappresentare 2 4 = 16 livelli di grigio o 16 colori diversi, mentre con 8 bit ne possiamo distinguere 2 8 =256, ecc Sistemi di Elaborazione A.A. 2015- 2016

75 Ambrosino - Noli - Perfetto74 Immagini (IV) L’uso del colore Il colore può essere generato componendo 3 colori: Red, Green, Blue (RGB) Ad ogni colore si associa una possibile sfumatura Usando 2 bit per ogni colore si possono ottenere 4 sfumature per il rosso, 4 per il blu e 4 per il verde che, combinate insieme, danno origine a 64 colori diversi Ogni pixel per essere memorizzato richiede 6 bit Sistemi di Elaborazione A.A. 2015- 2016

76 Ambrosino - Noli - Perfetto75 Immagini (V) L’uso del colore Usando 8 bit per ogni colore si possono ottenere 256 sfumature per il rosso, 256 per il blu e 256 per il verde che, combinate insieme, danno origine a circa 16,7 milioni di colori diversi (precisamente 16777216 colori) Ogni pixel per essere memorizzato richiede 3 byte Sistemi di Elaborazione A.A. 2015- 2016

77 Ambrosino - Noli - Perfetto76 Immagini (VI) Colori e risoluzione Il numero di pixel presenti sullo schermo (colonne x righe) prende il nome di risoluzione Risoluzioni tipiche sono: 800 x 600 1024 x 768 1280 x 1024 Sistemi di Elaborazione A.A. 2015- 2016

78 Ambrosino - Noli - Perfetto77 Immagini (VII) La dimensione di un ’ immagine con profondità di colore a 24 bit e risoluzione tipica di un monitor di PC (1024x768 pixels) è già di 2.25 MB. Per poter stampare immagini di qualità fotografica occorre una risoluzione decisamente superiore…. COMPRESSIONE dei dati Vari tipi di file, con diversi livelli di compressione, ad es.: TIFF: Tagged Image File Format GIF: Graphics Image Format (solo per immagini semplici) JPEG: (Joint Photographers Expert Group) molto usato per immagini fotografiche BMP: basso livello di compressione, immagini ingombranti. Sistemi di Elaborazione A.A. 2015- 2016

79 Ambrosino - Noli - Perfetto78.bmp 3841 Kb.tiff 3842 Kb.jpeg 425 Kb Sistemi di Elaborazione A.A. 2015- 2016

80 Ambrosino - Noli - Perfetto79.jpeg 425 Kb

81 Sistemi di Elaborazione A.A. 2015- 2016 Ambrosino - Noli - Perfetto80.bmp 3841 Kb

82 Ambrosino - Noli - Perfetto81 Immagini (IV) Un discorso a parte meritano le immagini vettoriali, usatissime nel campo della progettazione meccanica, architettonica, elettronica etc. L ’ immagine, piuttosto che in punti, è scomposta in forme geometriche astratte come poligoni, cerchi etc. Per descrivere una circonferenza bastano ad es. posizione del centro e raggio. Vantaggi: indipendenza dalla risoluzione del dispositivo di visualizzazione/stampa dimensioni ridotte delle immagini Svantaggi: non applicabile in modo semplice a fotografie e immagini complesse Tipici formati vettoriali: PostScript, PDF (Portable Data Format) Sistemi di Elaborazione A.A. 2015- 2016

83 Ambrosino - Noli - Perfetto82 Immagine tridimensionale vista da diverse prospettive ottenuta con un programma di CAD Sistemi di Elaborazione A.A. 2015- 2016

84 Ambrosino - Noli - Perfetto83 Suoni e filmati Le tecniche di compressione dei dati, unite a studi di psicoacustica hanno permesso di realizzare rappresentazioni di filmati e di sequenze audio di dimensioni accettabili, dell ’ ordine di qualche MB. Questo ha aperto la strada all ’ utilizzo della multimedialità nell ’ informatica. Tipici formati audio/video sono MP3, MPEG, AVI, RealAudio, RealVideo. Sistemi di Elaborazione A.A. 2015- 2016

85 Ambrosino - Noli - Perfetto84 Rappresentazione di suoni Caratteristiche dell ’ audio (e dei segnali analogici) tempo Sistemi di Elaborazione A.A. 2015- 2016

86 Ambrosino - Noli - Perfetto85 Rappresentazione di suoni (2) Campionamento dell ’ audio ad intervalli di tempo fissi tempo Sistemi di Elaborazione A.A. 2015- 2016

87 Ambrosino - Noli - Perfetto86 Rappresentazione di suoni (3) Campionamento dell ’ audio ad intervalli di tempo fissi tempo Ogni campione viene rappresentato con un numero finito di bit (quantizzazione) Sistemi di Elaborazione A.A. 2015- 2016

88 Ambrosino - Noli - Perfetto87 Rappresentazione di suoni (4) L ’ accuratezza della ricostruzione dipende : da quanto sono piccoli gli intervalli di campionamento da quanti bit uso per descrivere il suono in ogni campione nella fase di quantizzazione al solito … maggiore accuratezza significa maggior quantità di memoria occupata! Anche per i suoni si possono utilizzare tecniche di compressione per migliorare l ’ occupazione di memoria della sequenza di campioni Sistemi di Elaborazione A.A. 2015- 2016

89 Ambrosino - Noli - Perfetto88 Rappresentazione di suoni (5) Algoritmi lossy per suoni : sfruttano il fatto che per l ’ orecchio umano suoni a basso volume sovrapposti ad altri di volume maggiore sono poco udibili e possono essere eliminati è quello che accade nello standard MPEG Layer 3, detto anche MP3 Esempi di formati sono: – WAV (Microsoft) – AIFF (Audio Interchange File Format, Apple) Sistemi di Elaborazione A.A. 2015- 2016

90 Ambrosino - Noli - Perfetto89 Video compresso con tecnica intraframe Video non compresso (originale) Sistemi di Elaborazione A.A. 2015- 2016


Scaricare ppt "Ambrosino - Noli - PerfettoSistemi di Elaborazione A.A. 2015- 2016 1 Sistemi di Elaborazione Obiettivi del corso Definizioni generali Il calcolatore Codifica."

Presentazioni simili


Annunci Google