INFORMATICA ……… La parola INFORMATICA indica l’insieme delle discipline e delle tecniche che permettono la trattazione automatica delle informazioni che sono alla base delle nostre conoscenze e delle loro comunicazioni. Il termine INFORMATICA è nato nel 1966 in Francia dalla contrazione delle parole INFORmazione e autoMATICA. INFORMATICA Elaborazione e trattamento automatico delle informazioni Informazione “Sequenza (o stringa) di simboli associata a un significato” Possibili supporti fisici per l’informazione: suono (conversazioni tra persone) onde radio (radio e televisione) correnti e tensioni elettriche (cavi telefonici) campi magnetici (audiocassette, floppy disk) segni su carta (libri, giornali) Sull’informazione si possono effettuare numerose operazioni: creazione trasmissione immagazzinamento (archiviazione) recupero copia distruzione elaborazione (trasformazione) Informazione “Sequenza (o stringa) di simboli associata a un significato” I simboli che fanno parte della sequenza vengono scelti all’interno di un insieme detto alfabeto. Esempi di alfabeti: - Alfabeto italiano, 21 simboli (lettere): {A, B, …., V, Z} - Alfabeto numerico decimale, 10 simboli (cifre): {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} - Alfabeto telegrafico Morse, 2 simboli: {., -} - Alfabeto del Totocalcio, 3 simboli: {1, X, 2} Esempi di stringhe composte da simboli tratti da questi alfabeti, assieme al loro significato convenzionale: AULA “ambiente destinato alle lezioni WANTED “ricercato” 123 “il numero decimale 123” TZOCAW “nessun significato convenzionale” Da questi esempi risulta evidente la necessità di regole che associno un significato a queste stringhe di simboli. Un siffatto insieme di regole prende il nome di codice. Alfabeto: k simboli diversi Lunghezza della stringa: n posizioni Numero di configurazioni= k x k x ··· xk=kn n volte Nei sistemi per l’elaborazione dell’informazione viene adottato un alfabeto composto da soli 2 simboli, rappresentati dalle cifre 0 e 1. Tale alfabeto è detto alfabeto binario. Una cifra binaria viene definita bit (da binary digit, “cifra binaria”). Quindi essendo k=2 configurazioni è 2n. il numero totale di Una stringa di 8 bit è definita byte (28=256 valori diversi) Quale tipo di oggetti possiamo rappresentare con delle stringhe binarie? Numeri, lettere, colori, forme!!!! Qualsiasi informazione può essere trasformata in una stringa di bit A tutti i tipi di informazione corrispondono codici differenti, che stabiliscono la corrispondenza fra i valori da rappresentare e le stringhe di bit che abbiamo a disposizione. Tipi di informazioni: 1. Informazione di tipo numerico: Il dato rappresenta una quantità numerica 2. Informazione di tipo alfanumerico: Il dato rappresenta un carattere {A, …, Z, a, …, z, 0, …, 9, ;, :, ., @, $, ... } 3. Informazione di tipo logico: Il dato rappresenta grandezze logiche, cioè grandezze che possono avere soltanto due valori: vero o falso. Questo tipo di informazione è associato al valore di verità di un determinato enunciato: vero se l’enunciato è vero, falso se l’enunciato è falso. Le informazioni di tipo logico si possono manipolare in maniera simile ai numeri; la differenza è che invece delle operazioni aritmetiche (+, -, etc) si utilizzano delle operazioni logiche (AND, OR, NOT). L’operazione AND agisce su due operandi. Il valore dell’AND di due operandi è vero soltanto quando entrambi gli operandi hanno valore vero. falso AND falso = falso falso AND vero = falso vero AND falso = falso vero AND vero = vero L’operazione OR agisce su due operandi. Il valore dell’OR è vero se almeno uno dei due operandi è vero. falso OR falso = falso falso OR vero = vero vero OR falso = vero vero OR vero = vero L’operatore NOT agisce su un solo operando e ha come valore il contrario del valore dell’operando. NOT falso = vero NOT vero = falso Esempi di Espressioni logiche: 7 è pari OR 7 è dispari = vero 7 è pari AND 7 è dispari = falso NOT l’Italia è una monarchia = vero 4. Informazione di tipo istruzione: Il dato rappresenta un’operazione da eseguire . Il codice che associa ad ogni stringa binaria l’azione da eseguire viene detto linguaggio macchina, che è interpretabile dalla CPU. Alcuni tipi di operazioni supportate dal linguaggio macchina sono: le operazioni aritmetico-logiche tra due operandi, il trasferimento di controllo (“salto”) ad un’istruzione che non sia la prossima ed etc….. 5. Informazione di altri tipi: Il dato rappresenta suoni, immagini, filmati, oggetti tridimensionali ……... Elaborazione dei dati - immissione dei dati nel sistema (dati di input) - elaborazione dei dati secondo istruzioni di lavoro ben determinate - emissione all’esterno del sistema di elaborazione dei risultati (dati di output) Dati di ingresso Sequenza di Operazioni Dati di uscita Esempi di elaborazione…... Elaborazione numerica - dati ingresso: i numeri 3 e 4 - elaborazione: moltiplicare 3 per 4 - dati in uscita: il risultato 12 Elaborazione non numerica - dati ingresso: i numeri del vecchio elenco, i nomi da inserire - elaborazione: confrontare ed ordinare i dati - dati in uscita: nuovo elenco Ma dove avviene l’elaborazione dell’informazione? ISTRUZIONI DATI COMPUTER RISULTATI COMPUTER è il “sistema per l’elaborazione dell’informazione” Questo sistema è costituito da due componenti: Hardware e Software Hardware Software Insieme di tutti i circuiti delle macchine e dei componenti elettronici, elettrici e meccanici di un sistema di elaborazione Insieme dei programmi operanti su di esso Caratteristiche di un computer Digitale (o numerico): - i suoi principi di funzionamento sono fondati su basi logiche e matematiche - il sistema ha un numero di stati finito, cioè in ogni circuito elettronico ci sono idealmente solo due tensioni diverse possibili ed ogni locazione di memoria può conservare soltanto un numero finito di stringhe binarie differenti. In generale, si può intendere come matematicamente preciso. Automatico: il sistema evolve da uno stato iniziale a uno stato finale eseguendo automaticamente, senza interventi esterni, un numero finito di operazioni. Elettronico: sono elettronici i circuiti preposti all’esecuzione delle istruzioni, così come gli elementi bistabili che costuiscono le memorie del sistema. A programma registrabile: La sequenza di istruzioni costituenti il programma è immagazzinata nella stessa memoria dell’elaboratore. Ciò conferisce ampia flessibilità al sistema, poiché cambiando il programma registrato si può cambiare l’elaborazione che viene compiuta. Unità di Controllo (CU, Control Unit) Presiede a tutte le operazioni eseguite dall’elaboratore, interpretando le istruzioni prelevate in sequenza dalla memoria centrale e inviando alle specifiche unità i segnali abilitanti. Unità logico-aritmetica (ALU, Arithmetical Logical Unit) Esegue le operazioni aritmetiche e logiche richieste dall’unità di controllo. Memoria centrale (RAM, Random Access Memory) Insieme ordinato di celle destinate a memorizzare le istruzioni costituenti il programma e i dati oggetti dell’elaborazione. Unità di Ingresso (Input devices) Impiegate per immettere il programma in fase di caricamento e i dati in fase di esecuzione. Unità di Uscita (Output devices) Impiegate per presentare i risultati dell’elaborazione. Il processore Il processore è detto CPU (Central Processing Unit, unità centrale di elaborazione) ALU Registri Interni Unità di Controllo I registri servono per memorizzare i dati sui quali il processore sta operando, come ad esempio i risultati intermedi dei calcoli. CPU……... La CPU interpreta un set di istruzioni. L’interpretazione di un’istruzione si svolge in due fasi, che costituiscono il ciclo macchina: - Fetch (estrazione dell’istruzione dalla memoria e sua decodifica) - Execute (esecuzione delle operazioni specificate nell’istruzione). Per far sì che i circuiti elettronici interagiscono tra loro in modo sincronizzato, esiste un dispositivo chiamato clock di sistema che genera un dato numero di impulsi al secondo. Tutti i cambiamenti di stato dei circuiti sono vincolati ad avvenire durante un impulso di clock, e sono quindi sincroni. Il tempo necessario affinchè un impulso si ripeta è detto ciclo di clock. Memory CACHE C A C H E RAM BUS ALU CU CPU La memoria CACHE serve a limitare il numero di accessi alla RAM. L’accesso alla RAM richiede l’accesso al BUS di comunicazione (molto tempo). Il tempo di accesso a un dato presente nella CACHE è simile al tempo di accesso ai registri interni della CPU. Microprocessore Le tecnologie per la lavorazione dei materiali semiconduttori hanno consentito di integrare le varie componenti della CPU in un unico circuito integrato (chip). CISC (Complex Instruction Set Computer): interpreta un set di istruzioni (300-400) RISC (Reduced Instruction Set Computer): interpreta un set di istruzioni molto ridotto, dove ciascuna istruzione può essere eseguita in tempi molto brevi rispetto ai processori CISC MEMORIA I tipi di memoria: - Memoria Centrale (RAM) - Memorie di massa - ROM (Read Only Memory) Caratteristiche: - tempo di accesso: il tempo necessario a compiere una singola operazione di lettura o scrittura - capacità: la massima quantità di informazioni memorizzabili - persistenza: la capacità di mantenere le informazioni memorizzate in assenza dell’alimentazione elettrica --volatili e permanenti. MEMORIA - Gerarchie di memorie Le funzioni di memoria di un elaboratore sono distribuite in una gerarchia con il principio di allocare negli strati più bassi le informazioni che vengono richiamate più spesso e gestire il loro trasferimento fra i diversi strati. periferiche Liv.2 Memorie di massa Cache Liv.1 Memoria centrale Capacità e tempo di accesso crescenti Cache Liv.0 Registri di CPU centro La memoria cache, che si interpone fra due livelli della gerarchia, ha lo scopo di ricordare le ultime informazioni richiamate dalla memoria più periferica. Infatti, se c’è un nuovo accesso allo stesso dato, quest’ultimo sarà richiamato dalla memoria più veloce (meno periferica) piuttosto che da quella più lenta (più periferica) . Memoria Centrale La RAM consiste in un insieme ordinato di locazioni (anche dette celle) numerate in successione. Ogni locazione è identificata dal suo numero d’ordine, che prende il nome di indirizzo della locazione. 0 1 2 3 n-2 n-1 ….. RAM di n byte vista come successione di celle Indirizzo di memoria: Posizione occupata da una locazione nell’insieme ordinato che costituisce la memoria. Spazio degli indirizzi: L’insieme degli indirizzi specificabili su un certo sistema di elaborazione. La sua dimensione è 2n, dove n è la lunghezza in bit delle stringhe binarie usate dalla CPU per indicare un indirizzo in RAM. - Il tempo necessario per accedere a una locazione è indipendente dal suo indirizzo (che si tratti della prima o dell’ultima locazione) e dipende solo dal tipo di RAM. Questa caratteristica si definisce accesso casuale (e ciò è messo in evidenza dal termine RAM). Altri dispositivi hanno invece il vincolo di non poter accedere ad un dato senza aver prima letto tutti i dati precedenti (accesso sequenziale) - L’operazione di scrittura in una locazione consiste nell’alterare lo stato dei singoli bit che la costituiscono in modo da registrare la sequenza di 0 e 1 da memorizzare. Tale operazione è distruttiva. - L’operazione di lettura di una locazione consiste nel riprodurre (copiare) lo stato dei singoli bit che la costituiscono nei bit corrispondenti di un’altra locazione o registro. Tale operazione è non distruttiva perché l’informazione letta viene preservata e può essere letta di nuovo Altri tipi di memoria Le memorie di massa sono dischi rigidi, floppy disk, CD-ROM, nastri ed etc. La ROM (Read Only Memory): E‘ elettronica e ad accesso casuale come la RAM. E’ permanente e a sola lettura: una volta che le informazioni vi sono state memorizzate non è più possibile modificarle. I chip di ROM (che vengono inizializzati in fabbrica all’atto della produzione) contengono software specializzato: - gestione di periferiche; - set aggiuntivi di caratteri per stampanti; - programma di avvio del sistema (boot loader) Memoria virtuale RAM simulata su un disco rigido. La quantità di RAM presente nel sistema copre soltanto una parte dello spazio degli indirizzi. Quindi la CPU è in grado di indirizzare molta più RAM di quanta ce n’è effettivamente. I processi eseguiti fanno riferimento a uno spazio degli indirizzi virtuale; ogni volta che un processo indirizza una locazione di memoria c’è dell’hardware (MU) che traduce gli indirizzi virtuali specificati dal processo in indirizzi fisici di memoria. La MMU (Memory Management Unit, unità di gestione della memoria) risiede all’interno della CPU. Praticamente quando la memoria fisica non basta per contenere tutte le locazioni indirizzate da tutti i processi attivi, una parte di qualche processo viene buttata fuori dalla memoria fisica e copiata su un’area del disco chiamata area di swap. In questo modo lo spazio liberato nella RAM fisica può essere messo a disposizione del nuovo processo che ne ha fatto richiesta. Periferiche - Unità di ingresso - Unità di uscita - Interfacce o porte - Memorie di massa Le memorie di massa Sono periferiche con funzioni di memoria ausiliaria I supporti magnetici usati sono: - nastri (bobine o cassette), rimovibili, accesso sequenziale; - dischi floppy (floppy disk), rimovibili, accesso casuale; - dischi rigidi (hard disk), fissi o rimovibili, accesso casuale. Le memorie magnetiche hanno le seguenti caratteristiche: - persistenza; - elevata capacità, fino a diversi Gbyte; - costi contenuti; - tempi di accesso elevati, soprattutto per i nastri. E’ da precisare che ….. - le informazioni residenti nelle unità di memoria di massa devono essere copiate nella RAM prima di poter essere elaborate dalla CPU. - i risultati dell’elaborazione presenti in memoria centrale devono essere copiati nelle unità di memoria di massa se vogliamo che siano immagazzinati permanentemente. Quindi le memorie di massa sono unità di I/O e unità di memoria ausiliaria. RAM Memorie di massa CPU Flusso di controllo Flusso di dati Disco magnetico Il disco è ricoperto da uno strato di materiale capace di conservare i campi magnetici. La superficie è divisa in cerchi concentrici, detti tracce, e in spicchi, detti settori. Prima di essere utilizzato un disco deve essere formattato (per marcare su ogni traccia i punti di inizio dei settori e altri valori che servono a temporizzare la rotazione del disco. Esempio di 6 tracce e 8 settori: Dischi a lettura ottica CD-ROM: sono dispositivi di sola lettura; infatti non è possibile scrivere dati senza utilizzare un masterizzatore. Sono in materiale rigido ricoperti da un sottile strato di metallo. Hanno elevata capacità. Le interfacce o porte Sono dispositivi elettronici che consentono di collegare le più disparate apparecchiature periferiche al BUS di sistema, alla RAM o alla CPU. Interfacce parallele: trasferiscono i caratteri con numerosi fili lunghi pochi metri. Hanno 8 fili separati per i dati (più diversi altri per segnali di controllo) e quindi trasmettono un byte (8 bit) in parallelo. [Esempio: stampante] Interfacce seriali: trasferiscono i dati bit a bit. Il cavo di collegamento è costituito da pochi fili e permettono di trasferire caratteri su cavi molto lunghi. [Esempio: collegamento del modem] Unità di ingresso Servono ad immettere il programma in fase di caricamento e i dati in fase di esecuzione. - tastiera; - mouse; - penna ottica; - floppy disk drive (unità a floppy); - hard disk drive (unità a disco rigido); - CD-ROM (lettore di CD-ROM); - scanner; - modem; - telecamera; - scheda per la connessione in rete locale (Ethernet); - microfono. La tastiera serve ad immettere testo o programmi (80-100 tasti): - caratteri alfanumerici (cifre, maiuscole, minuscole); - segni di interpunzione; - caratteri speciali ($, >, <, @,…); - tasti speciali (ESC, CTRL, DEL,…); - il tasto ENTER, che invia la linea di testo al sistema; - tasti cursore ( , , , ); - tasti funzione (F1, F2,…) che sono programmabili Il mouse e la penna ottica sono dispositivi di puntamento. Lo scanner serve a digitalizzare un’immagine che, immagazzinata in memoria, può essere elaborata in vari modi. Funziona come una fotocopiatrice. Il modem traduce i dati digitali presenti in memoria in segnali adatti ad essere trasmessi lugo una linea telefonica (modulazione) oppure fa la traduzione opposta. Quindi funziona come periferica di input ed output. La scheda per la connessione diretta in rete locale serve a collegare tra di loro sistemi di elaborazione diversi. Si parla di ethernet perché la rete (net) è eterogenea potendo essere composta da sistemi e periferiche diverse. Anche questa periferica funziona come periferica di input ed output. Unità di uscita Servono a presentare i risultati ottenuti dall’ elaborazione. Quindi sono periferiche di output tutte quelle che ricevono dati dalla CPU o dalla RAM - monitor; - stampante; - plotter; - floppy disk drive e hard disk drive; - masterizzatore di CD-ROM; - modem; - interfacce varie; - scheda per la connessione in rete locale; -dispositivi audio. Esistono monitor che funzionano solo in modo testo e monitor grafici. Le tecnologie più diffuse per i monitor sono: - CRT (Cathode Ray Tube, tubi a raggi catodici) - LCD (Liquid Crystal Display, display a cristalli liquidi) - Plasma display In modo testo i monitor possono visualizzare 24 o 25 linee di 80 caratteri. In modo grafico possono visualizzare diagrammi, disegni e immagini. In questo caso lo schermo consiste in una matrice di pixel (una griglia di puntini luminosi). Le capacità grafiche di un video display dipendono anche dalle caratteristiche dell’adattatore grafico, anche detto scheda grafica. Si tratta di un dispositivo composto da circuiti elettronici per la generazione dei segnali elettrici necessari per pilotare il video display. Oltre a tali circuiti, la scheda grafica contiene anche della memoria RAM dedicata che serve a memorizzare l’immagine attualmente mostrata sullo schermo (la video RAM). Le stampanti Stampanti ad impatto: - stampanti a carattere pieno: sfruttano una tecnica simile a quella delle macchine da scrivere tradizionali. L’insieme dei caratteri da stampare è inciso a rilievo sulla testina di stampa, che può essere a forma di cilindro o di sfera. - stampanti ad aghi: formano il carattere per mezzo di una matrice (griglia) di punti generati da aghi pilotati da un elettromagnete che vengono spinti sul nastro inchiostrato. Stampanti non ad impatto: - stampanti termiche: utilizzano una matrice di punti costituita da resistenze elettriche puntiformi che riscaldandosi producono l’alterazione del colore su di una carta speciale - stampanti a getto d’inchiostro (ink jet): la marice di punti è composta da ugelli che, opportunamente eccitati da segnali elettrici ad alta frequenza, spruzzano gocce d’inchiostro sulla carta. - stampanti laser: utilizzano la luce coerente emessa da una sorgente laser per sensibilizzare elettrostaticamente la superficie di un particolare cilindro secondo l’immagine da stampare; poi la carta viene fatta scorrere sul rullo e messa a contatto con uno speciale inchiostro in polvere (toner) che resta fissato sulla carta in corrispondenza dei punti che formano l’immagine da stampare.