Corso di Informatica schede di supporto alla didattica Facoltà di Medicina e Chirurgia Ezio M. Ferdeghini Istituto di Fisiologia Clinica del CNR 050-3152616 [email protected] Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Definizioni INFORMATICA: Scienza che studia la rappresentazione, la memorizzazione e la elaborazione automatica dell’Informazione CALCOLATORE (Computer): Strumento elettronico per l’elaborazione e memorizzazione dell’Informazione che, opportunamente “programmato”, esegue operazioni su oggetti (dati) per produrre altri oggetti (risultati). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Rappresentazione dell’Informazione Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Rappresentazione dell’informazione Realtà quotidiana: Computer: INFORMAZIONE INFORMAZIONE RAPPRESENTAZIONE verbale scritta RAPPRESENTAZIONE audio linguaggio binario (0,1) visiva codificata … INFORMAZIONE INFORMAZIONE Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Elaborazione ELABORAZIONE dell’Informazione: • HARDWARE: Parte meccanica ed elettronica programmabile del Computer. Macchina numerica binaria. • SOFTWARE: Lista di istruzioni (Programma) per il funzionamento del Computer in forma sequenziale. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Struttura del computer • CPU (Central Processing Unit): Unità di esecuzione sequenziale del programma e di elaborazione dei dati I/O • ALU (Aritmetic Logic Unit): Unità per calcoli aritmetici ed operazioni logiche CPU MEMORIA ALU • Memoria: unita’ che contiene il programma ed i dati • I/O (Input/Output unit): Unità per l'immissione di dati e la presentazione dei risultati Le operazioni di base effettuate dal computer sono SOLO i calcoli aritmetici e le operazioni logiche Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Schema dell’elaborazione Programmatore PROCEDURA ALGORITMO Utente PROGRAMMA DATI COMPUTER RISULTATI Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Livello dell’elaborazione Livello Programmatore: Livello Utente: • Conoscere metodo di soluzione • L’utente ha visibilita` solo di determinate applicazioni • Tradurlo per il calcolatore •Codifica dati ingresso •Trovare opportuno metodo di elaborazione che trasformi i dati iniziali nei corrispondenti risultati finali desiderati. • Accede ad una ”Interfaccia utente” • Inserisce dei dati • Comanda le elaborazioni • Visualizza i risultati • Definire l’algoritmo come una sequenza di azioni elementari Il Computer esegue SOLO operazioni di base Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini BIT • BIT: Binary digIT • Unità elementare di informazione nel computer • Le due cifre 0 e 1 corrispondono ai 2 stati interni della memoria e ai due valori di riferimento dei segnali elettrici • Elettronica digitale: segnali elettrici a 2 livelli di tensione • Il Sistema Binario è il più semplice sistema di rappresentazione delle informazioni • Le memorie binarie e l’elettronica digitale sono relativamente economiche e di facile realizzazione. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Valore del BIT • I valori di un Bit (0,1) corrispondono a: • Magnetizzato/Non magnetizzato (Campo magnetico) • Tensione Alta/Bassa (Circuito elettrico) • Conduzione corrente/Non conduzione (Transistor) • Chiuso/Aperto (Interruttore, Foro su una scheda) • Presenza/Assenza di luce (Riflettività di una superficie) • Pieno/Vuoto (“contenitore”) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Rappresentazione in BIT INFORMAZIONE RAPPRESENTAZIONE in SISTEMA BINARIO BIT COMPUTER Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Rappresentazione binaria • Informazione Binaria • (p.e. 1 Cifra Binaria 0 = FALSO, 1 = VERO ) Sequenza di cifre binarie Valori N. valori • 1 0,1 2 • 2 00,01,10,11 4 • 3 000,001,010,011,100,101,110,111 8 00000000,00000001,………..,11111111 256 • …. • 8 • …. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Codifica binaria Informazione NON binaria Sequenza N cifre binarie (p.e. con 2 cifre binarie la Sorgente di Informazione S:{S0,S1,S2} si può codificare come: 00 = S0 Prima Informazione 01 = S1 Seconda Informazione 10 = (inutilizzato) 11 = S2 Terza Informazione ) K = numero Informazioni (o Cardinalità dell’insieme I) N = numero cifre binarie 2N K ovvero N log2K= Entropia di S L’operazione di codifica consiste nel mettere in corrispondenza (biunivoca) un elemento di un insieme con una sequenza di di simboli di un altro insieme. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Byte Sequenza di 8 Bit 256 possibili valori ( 0 – 255 ) Sequenza minima di memorizzazione (indirizzamento) Scelta convenzionale (Unità Standard di memoria) (p.e. la Terza Informazione è memorizzata come: 00000011 ) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Word Sequenza di 2 Bytes 216 = 65536 possibili valori ( 0 – 65535) Unità convenzionale di memorizzazione su alcuni sistemi di elaborazione (p.e. in un sistema che opera con Word la Terza Informazione è memorizzata come: 0000000000000011 ) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Codifica dell’informazione Operazione di associazione di Informazioni (distinte e di numero finito) con Sequenza Binarie. L’Operazione di Codifica è Arbitraria Il Codice generato dall’operazione di codifica può essere a lunghezza variabile La regola di codifica adottata deve essere Biunivoca (p.e. Informazione Prima Seconda Terza ….. N-esima Codice 01101 010 0111111 00 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Codici standard Necessità di Codici Standard per scambio di informazioni tra computers. Codice ASCII (American Standard Institute for Information Interchange). Il più diffuso tra i diversi computers; Codice EBCDIC (Extended Binary Coded Decimal Interchange Code). Usato essenzialmente sui computers medio-grandi (mainframe) IBM. E’ uguale nel formato al codice ASCII; differisce solo per i codici. Codice ANSI (American National Standard Institute) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Codifica dei caratteri codice ASCII: Codice di lunghezza fissa su 7 bits, quindi: 27 = 128 codici Associazione di sequenze di 7 bit con: Caratteri minuscoli dell’alfabeto inglese Caratteri maiuscoli Cifre decimali (0,1,2,…..9) Segni di interpunzione (.,$%? ….) Operatori aritmetici (-+*….) Caratteri speciali tipografici (CR, LF, TAB….) Caratteri speciali di controllo (NUL,EOT,DC1…) (p.e. % & 0 1 0100101 0100110 0110000 0110001 A B 2 4 1000001 1000010 0110010 0110100 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini a b 3 1100001 1100010 0110011 ) Codice Ascii Standard Nella pratica viene utilizzato il codice ASCII STANDARD: codice ASCII su 8 bit (con l’aggiunta di un bit di prefisso=0 ) In tal modo: codice Ascii standard = bit0 + codice Ascii= 1 byte Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Codice Ascii Esteso Codice ASCII su 8 bit (28 = 256 codici) primi 128 codici (primo bit =0) = codice ASCII STANDARD secondi 128 codici (primo bit = 1) = codici speciali per le varie lingue (italiano: è,è,à..), (tedesco: ,ä,ö,.). Quindi lo stesso codice (esteso) ha significato diverso nelle varie lingue Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Codice Unicode Codice universale a 16 bit ( 216 = 65536 codici) che comprende tutti i simboli delle varie lingue Compatibile con il codice Ascii Standard: i primi 128 codici corrispondono ai rispettivi codici Ascii con i primi 8 bits = 0 NON E’ POSSIBILE ESEGUIRE CALCOLI NUMERICI SU INFORMAZIONI ESPRESSE SOTTO FORMA DI CODICE, MA SOLO ALCUNE OPERAZIONI LOGICHE Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Sistemi di numerazione Un numero è una espressione simbolica che esprime una quantità di oggetti. Un sistema di numerazione definisce il formato e le regole per esprimere con un numero una quantità di oggetti Un sistema di numerazione è caratterizzato da: i Simboli (cifre) utilizzati per rappresentare il numero la Base che specifica il numero dei simboli Per esempio nel sistema di numerazione Decimale la base è 10 ed i simboli sono {0,1,2,3,4,5,6,7,8,9}. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Base e Simboli Scelto un sistema di numerazione di base B=n e una lista ordinata di simboli S:{S0,S1,….Sn-1} si associa ciascun simbolo Sj ad una quantità crescente di oggetti in modo che: • S0 rappresenta una quantità di zero oggetti; • S1 rappresenta una quantità di un oggetto; • …. • Sn-1 rappresenta una quantità di n-1 oggetti; Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Numero Il Numero (N) e’ la rappresentazione della quantità Q mediante simboli (S). La dimensione della base di numerazione B e’ pari al numero dei simboli necessari a rappresentare Q (es. numeri binari, B=2, S={0,1}; numeri decimali, B=10, S={0…9}; numeri esadecimali, B=16, S={0…9,A…F}) se Q < B il numero N è dato dal simbolo Sj corrispondente; se Q>= B il numero N è rappresentato dall’espressione: N = Ck-1......C2C1C0 dove ogni termine Ci è un simbolo di S. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini La notazione posizionale I coefficienti Ci che specificano il numero N (N=Ck-1......C2C1C0 ) sono dati dall’espressione : Q =Ck-1 * Bk-1 + ......+C2 * B2 +C1 * B1 +C0 * B0 dove B è la base, Ci i simboli, k è il numero dei termini Ci e k è il più piccolo numero intero tale che: Q <Bk Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Numerazione binaria Nel sistema di numerazione Binario ha base B = 2 e simboli S: {0, 1}. Quindi il numero binario N2 = Ck-1......C2C1C0 sarà formato dalle cifre 0 e 1. La notazione binaria è posizionale (come quella decimale) ogni posizione rappresenta una potenza crescente di 2 Con k cifre binarie è possibile scrivere 2k numeri compresi tra 0 numero 2k-1 Per esempio il numero decimale 9110 = 10110112 ottiene da*: 1*26 + 0*25 +1*24 +1*23 +0*22+1*21 +1*20 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Numeri interi unsigned L’insieme dei numeri rappresentabili con questo formalismo è quello dei numeri interi senza segno. Bk sono i numeri rappresentabili con k cifre: 0 numero Bk-1 Per esempio la quantità ‘settemilatrentanove’ oggetti nel sistema di numerazione decimale è rappresentata col numero: 7039 = 7 * 103 + 0 * 102 + 3 * 101 + 9 * 100 e con 4 cifre decimali si possono scrivere 104 = 10000 numeri e precisamente i numeri compresi tra 0 e 9999. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Intervallo numeri interi unsigned Con k=7 cifre binarie è quindi possibile scrivere i numeri binari (interi senza segno) compresi tra 0 e 27-1 cioè i 128 numeri: 0 numero decimale 12710 od anche 00000002 numero binario 11111112 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Numeri binari e computer • I computer digitali sono in grado di effettuare calcoli ed operazioni direttamente sui numeri espressi nel sistema di numerazione binaria (NON in codifica binaria) • Gli attuali computer utilizzano tipicamente 2 (o 4) byte per la rappresentazione dei numeri interi senza segno, potendo quindi rappresentare numeri compresi tra: 0 numero 216(o 232)-1 • Fissati k bit per la memorizzazione in un computer dei numeri (interi senza segno) esiste un numero FINITO di numeri interi (binari) rappresentabili Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Numeri interi signed (segno e val.ass.) • Il segno di un numero binario è un bit che vale: • 0: se il numero è positivo o zero; • 1: se il numero è negativo. SEGNO E VALORE ASSOLUTO: è un semplice metodo che consiste nel rappresentare in binario il valore assoluto del numero a cui viene anteposto il bit del segno. L’inconveniente principale è che NON valgono le regole per le operazioni aritmetiche tra numeri interi senza segno. Per esempio con 3 bit il numero –3 e +3 sono: -3: 111 +3: 011 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Numeri interi signed (compl. a 2) COMPLEMENTO A DUE: questa rappresentazione, per cui valgono le regole per le operazioni aritmetiche tra numeri senza segno, antepone il bit del segno al numero che: • Se positivo o zero coincide con la rappresentazione senza segno; • Se negativo si calcola il numero binario del suo valore assoluto, si invertono tutti i bit e si somma 1 al risultato. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Intervallo numeri interi signed Con k bit si possono rappresentare numeri interi compresi tra -2(k-1) numero +2(k-1) -1 metà delle sequenze binarie di k cifre sono riservate per i numeri negativi e l’altra metà per lo zero più i numeri positivi. Per esempio con 3 bit si rappresentano i numeri compresi tra: -22 numero +22 -1 -4: 100 -2: 110 0: 000 +2: 010 -3: 101 -1: 111 +1: 001 +3: 011 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Informazione non numerica L’informazione qualitativa (nella realtà quotidiana di forma imprecisa e illimitata) deve essere rappresentata in un computer, attraverso un numero (codice), in maniera finita e limitata. DISCRETIZZAZIONE IN LIVELLI: l’informazione qualitativa deve essere preventivamente quantizzata in livelli: cioè occorre stabilire un numero finito di forme in cui si potrà presentare (livelli). Il numero dei livelli e le regole di riduzione dipendono ESCLUSIVAMENTE dall’applicazione, considerando che comunque ci sarà una perdita di dettaglio. Dopo aver quantizzato l’informazione S in K livelli: S1,S2,….,Sk è necessario associare una sequenza di almeno N bit (codice) per ciascun livello (tale che 2N > K) . Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Esempio di rappr. dell’inf. qualitativa Per esempio: rappresentare i colori con K=6 livelli (e N=3 bit) Bianco Giallo Arancio Livello 1 010 Livello 1 Bianco Rosa Rosso Porpora Livello 2 011 Livello 2 Rosso Livello 6 110 Livello 6 Nero ……. Viola Blu Nero Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Campionamento e quantizzazione I segnali analogici descrivono esattamente il fenomeno fisico in quanto operano in modo continuo nel campo dei numeri reali. Un segnale analogico può essere memorizzato in un computer solo dopo la sua trasformazione in segnale digitale. Conversione analogico-digitale: è la trasformazione dalla rappresentazione con numeri reali (analogico) a quella con interi (digitale) attraverso una trasformazione dal dominio dei tempi a quello delle frequenze (trasformata di Fourier). E’ sempre un’approssimazione con errore. Essa si basa su: campionamento del segnale; cioè considerare il valore del segnale analogico ad intervalli fissi di tempo; digitalizzazione del valore: significa quantizzare in livelli l’intervallo di variabilità del segnale e quindi associare ad ogni intervallo un valore numerico unico. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Esempi di segnali Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Hardware Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Architettura dell’Hardware Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Componenti dell’Hardware Le componenti principali dell’hardware sono connesse tra loro tramite BUS (dati ed indirizzi) cioè canali di comunicazione – Bus indirizzi – Bus dati – Bus controlli Il Processore è l’unità centrale di esecuzione del programma: elabora i dati secondo le istruzioni fornite dal programma. Le unità di I/O (Memoria di massa o Secondaria e Periferiche di I/O) sono interfacciate ai Bus tramite CONTROLLER. La Memoria (Centrale o Principale) per registrare i dati e i programmi Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Unità di Controllo L’unità di controllo (Processore) è la componente principale del computer attiva le operazioni di base del computer (svolte dalla ALU); gestisce il funzionamento di tutte le componenti del computer; esegue una sequenza di istruzioni (il programma). La sua memoria interna è costituita da una serie di registri. Programmi differenti sono eseguibili dallo stesso processore con effetti diversi (risultati dell’elaborazione). Il programma ed i dati devono essere presenti nella memoria centrale per poter essere eseguiti. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Ciclo di funzionamento Lo schema del ciclo di funzionamento del processore è: legge un’istruzione del programma dalla memoria; interpreta l’istruzione; leggere (l’eventuale) dato richiesto dalla memoria; attiva l’operazione di base o invia un comando alla componente specificata; memorizza (in un suo registro interno) il risultato dell’operazione; passa alla successiva istruzione del programma. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Caratteristiche del Processore CPU: Central Processing Unit velocità: legata al tempo di esecuzione del “ciclo macchina” (tipico da da 2 a 10 per istruzione) scandito da un clock (1 - 2 GHz per un Pc mediopiccolo). E’ misurata in Mips (milioni di istruzioni al secondo) dimensione dei bus: quello degli indirizzi fornisce la capacità di indirizzamento delle memorie, quello dei dati il numero e la potenza del set di istruzioni (tipico 32 e 16). con la tecnologia dual core e la piu’ recente multi core e’ possibile integrare direttamente all'interno di un unico processore due o piu’ core logici nello stesso package, capaci di aumentare la potenza di calcolo senza aumentare la frequenza di funzionamento del processore Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Unità Aritmetico-Logica E’ l’insieme dei circuiti elettronici che eseguono fisicamente le operazioni di base aritmetiche e logiche secondo la logica di funzionamento dei circuiti elettrici e della matematica binaria. I dati da elaborare sono forniti alla ALU sotto forma di segnali elettrici dal Processore (valori digitali binari) che si occupa anche della raccolta ed interpretazione dei segnali generati. Il minimo set di: operazioni aritmetiche: SOMMA binaria e l’INVERSIONE operazioni logiche: TEST LOGICO (evento vero, evento falso), UGUALE, MAGGIORE, MINORE, AND, NOT) Le ALU dedicate a svolgere particolari funzioni matematiche e che operano su numeri in floating point sono chiamati COPROCESSORI MATEMATICI. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Struttura della Memoria Centrale La memoria del computer è utilizzata per memorizzare i dati ed i programmi al momento dell’elaborazione (run-time), e le dimensioni devono essere sufficienti a contenerli. Le memorie binarie sono costituite da componenti elementari con due stati interni, a cui corrispondono i bit. Le unità elementari di memoria sono raggruppate in una struttura ordinata di Celle di memoria (di dimensione tipica 1 byte). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Indirizzi di Memoria Ogni cella di memoria ha un nome di riferimento (Indirizzo) univoco e organizzato in ordine sequenziale. Gli indirizzi sono sostanzialmente dei numeri (binari) crescenti da 0 a N ((N+1)x8 = dimensione in bit della memoria) • L’accesso al bit è effettuato tramite l’indirizzo della cella di memoria in cui è contenuto. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Connessione Processore - Memoria Il byte (unità di misura della cella di memoria) è l’unità minima di memoria indirizzabile. Solo il Processore può effettuare operazioni sulla memoria, cioè leggere il contenuto di una cella o riscriverlo. Data Bus: canale di comunicazione tra Processore e Memoria per il trasferimento dei dati (bidirezionale) Address Bus: canale di comunicazione dal Processore alla Memoria per la specifica degli indirizzi (unidirezionale). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Memoria La memoria RAM è la tipica memoria centrale: è accessibile in lettura ed in scrittura. La memoria ROM è solo leggibile, quindi è utilizzata per contenere informazioni essenziali non cancellabili. Le attuali memorie centrali sono di tipo elettronico e quindi necessitano di alimentazione elettrica per funzionare. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Memoria RAM RAM: Random Access Memory E’ il principale tipo di memoria centrale; Ha un accesso di tipo diretto (random) che significa che occorre sempre lo stesso tempo per accedere a una qualsiasi cella della memoria La RAM è una memoria volatile: le informazioni memorizzate restano attive fino ad una nuova riscrittura o finchè non viene tolta l'alimentazione. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Memoria ROM ROM: Read Only Memory E’ una memoria di sola lettura; Ha un accesso di tipo diretto (random); La memoria ROM è permanente, ed è quindi utilizzata come memoria speciale del computer. Contiene dati e istruzioni che non possono essere modificati dall’utente (le istruzioni di base); Programmi di avvio del computer (Bootstrap) Programmi di sistema e BIOS (Basic Input Output System) Tipi di Rom: • Rom Read Only Memory • Prom Programmable Read Only Memory • Eprom Erasable Programmable Read Only Memory • Eeprom Electrically Erasable Progr. Read Only Memory (flash) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Accesso alla Memoria Ogni cella della memoria è accessibile direttamente attraverso il suo indirizzo indipendentemente dalla sua posizione fisica nella memoria: quindi il tempo di accesso è identico per tutte le celle. Una cella senza indirizzo non è accessibile. Essendo la specifica dell’indirizzo di una cella un numero binario, il numero di indirizzi diversi disponibili (2k) è dato dal numero k di cifre binarie riservate all’indirizzo. Le dimensioni di una memoria dipendono: Dal numero dei componenti fisici elementari di memoria; Dalla capacità di indirizzamento della memoria Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Misura della Memoria La capacità di memoria è data dal numero delle celle di memoria (byte) accessibili. Le dimensioni della memoria sono specificate in bytes e nei suoi multipli (unità di misura valide anche per le memorie di massa ): Kb (Kilobytes) = 210 = 1,024 bytes Mb (Megabytes)= 220 = 1,048,576 bytes Gb (Gigabytes) = 230 = 1,073,741,824 bytes Tb (Terabytes) = 240 = 1,099,511,627,776 bytes Gli attuali computer hanno una di quantità di memoria centrale dell'ordine del centinaio di megabyte, e le memorie di massa (dischi fissi) dell'ordine delle decine di gigabyte. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Caratteristiche della Memoria Capacità: numero di componenti fisici elementari (bit) di memorizzazione (Pc attuali medio-piccoli: 256 Mbytes); Dimensione della cella: organizzazione della unità elementare di indirizzamento (byte, word,..); Indirizzamento: numero dei possibili indirizzi di memoria (Address bus a 32 bit); Velocità: tempo di accesso in lettura o scrittura ad una cella di memoria (tipico 60 nsec.). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Unità di Input/Output Compito dell'Unità di I/O è interfacciare il computer con l'ambiente esterno Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Memorie di Massa Le informazioni esterne, tramite la gestione diretta dell'unità di controllo, sono trasferite a/da la memoria e sono elaborate. L'unità di I/O è essenzialmente costituita da: Memoria di massa: utilizzata come archivio permanente dei dati e programmi di grande capacità; Periferiche di I/O: cioè i dispositivi fisici per l'immissione e la presentazione delle informazioni con l'ambiente esterno. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tecnologia di Memorizzazione La Memoria di massa (o esterna, o secondaria) è utilizzata per memorizzare in modo permanente tutti i dati e i programmi di cui si desidera dotare lo specifico computer. La tecnologia di memorizzazione: Magnetica: viene associato al bit l'orientamento del campo magnetico del singolo elemento magnetizzabile. La magnetizzazione permane fino ad una nuova operazione di magnetizzazione (successiva scrittura); Ottica: i due livelli della riflessione della luce di un raggio laser prodotta da una superficie forata o no, sono fatti corrispondere al bit. L'operazione di scrittura consiste nel produrre (o no) un piccolo foro su una superficie con un raggio laser (operazione irreversibile). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Caratteristiche delle Memorie di Massa Bassa velocità di accesso: la notevole lentezza rispetto alla memoria centrale è dovuta agli organi meccanici dell'unità; Alta capacità di memoria: tecnica di accesso ai dati ed ai programmi alternativa agli indirizzi di memoria; Elaborazione diretta non possibile: dati e programmi devono essere trasferiti in memoria centrale per essere elaborati dalla CPU ed i risultati (che si desidera conservare) devono essere memorizzati sulla memoria di massa; Accesso non diretto: i metodi di accesso fisico sono l'accesso sequenziale e l'accesso pseudo-random; l'assenza degli indirizzi impedisce l'accesso diretto al singolo byte. La tecnica di accesso è basata sui blocchi di memoria che costituiscono l'unità elementare di memorizzazione e di trasferimento con la memoria centrale (record fisico). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Memorie di Massa Supporti Magnetici (dischi fissi, floppy, zip, nastri…): sfruttano la capacità di magnetizzazione di materiali che possono essere letti tramite una testina di lettura/scrittura che li converte in segnali elettrici; Supporti Ottici (CD-ROM, DVD,…): usano la caratteristica di ‘riflessione/non riflessione’ di un raggio laser; Supporti Magneto-Ottici: sfruttano la tecnologia magnetica per memorizzare i dati e quella ottica per consentire la memorizzazione (riscaldamento della superficie); Memorie Flash (fotocamere digitali, agende elettroniche, palmari...): un tipo particolare di memoria elettronica che mantiene memoria dei dati anche dopo lo spengimento. E’ fatta come una Ram ma è comunemente utilizzata come memoria di massa. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dischi Magnetici: Hard Disk Dischi a supporto rigido. E’ la principale unità di memorizzazione permanente. E’ interno al computer e costituisce la memoria secondaria in linea. Conserva grandi quantità di dati. È formato da uno o più dischi magnetici rigidi e da due o più testine di lettura (i dischi girano continuamente ad altissima velocità, le testine si spostano per accedere ai dati richiesti). L’accesso ai dati è pseudo-random (veloce ma nettamente più lento della Ram). Le informazioni restano memorizzate quando si spegne il computer Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dischi Magnetici: Floppy Disk Floppy Disk da 3.5” da 1.44 MB Dischi a supporto flessibile. Sono removibili. Utilizzati come archivio di backup e per trasferimento file. L’accesso ai dati è pseudo-random (ma molto più lento dell’Hard Disk) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dischi Magnetici: Dischi Removibili Hard disk Removibili: funzionalmente sono simili ai floppy disk (insieme al suo contenitore sono inseriti in un’apposita unità di lettura); Permettono di registrare dati in maniera permanente, ma su supporti piccoli e facilmente trasportabili. Sono di solito meno capienti e prevedono tempi di accesso più lenti dell’hard disk. L’accesso ai dati è pseudo-random (intermedio tra Hard e Floppy disk). Tipi di dischi removibili: Zip Unità JAZ Hard disk package Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dischi Magnetici Dischi magnetici: sono costituiti da un disco con una superficie magnetizzata posto in rotazione costante: una testina disposta su un braccio radiale provvede alle operazioni di lettura e scrittura. Nelle unità con una sola testina essa è mobile; nelle unità con molteplici testine in genere esse sono fisse. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Struttura dei Dischi Magnetici I dischi magnetici sono molto utilizzati sui Pc per il trasferimento di informazioni tra calcolatori, e costituiscono facili ed economici supporti per archivi di dati. La superficie di memorizzazione del disco è suddivisa in tracce concentriche a sua volta segmentate in settori (corrispondenti al record fisico o cluster): Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Caratteristiche dei Dischi Magnetici la parte scrivibile può essere una o entrambe le facce (single/double sided); le dimensioni tipiche dei cluster sono 512 - 4KB il cluster (identificato da un numero di traccia e di settore) è l'unità di accesso al disco: dopo aver letto il cluster in memoria centrale il byte all'interno del cluster è accesso per indirizzi (accesso pseudorandom); ogni traccia ha lo stesso quantità di cluster: ne consegue una densità di memorizzazione maggiore sulle tracce più interne; i dischi magnetici hanno diverse densità di memorizzazione (single/double/high) (tpi: tracks per inch; bpi: bit per inch); un disco vergine deve essere inizialmente organizzato in tracce e settori (formattazione): il numero, la dimensione ed il tipo dipendono dal sistema operativo. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tempo di accesso Il tempo di accesso ad un byte è dato dalla somma di: seek time: tempo di spostamento della testina sul braccio per raggiungere la traccia (average seek time); latency time: tempo di attesa che il settore raggiunga la testina (dipendente dalla rotazione del disco); average latency time= (1/2) * 60/(num. rotazioni al min.) access time: seek time + latency time; transition time: tempo per leggere tutto il blocco, tempo di lettura/scrittura del cluster (data transfert time) misurato in Kbit/sec: average transition time= (bytes x blocco/ bytes x traccia) * tempo rotazione completa Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dischi Ottici Dischi ottici: sono costituiti da un disco di plastica rigida inciso con tecnica laser. Durante l'accesso il disco è posto in rotazione e una testina mobile su un braccio radiale provvede alle operazioni di lettura e scrittura. Tipicamente sono memorie di sola lettura (Cd-Rom: Compact Disk Read Only Memory). Sono il tipo di disco ottico più diffuso. L'utilizzo tipico è la distribuzione di programmi e archivi di informazioni statiche. I Cd-Rom vergini sono scrivibili (Worm: Write Once Read Memory) con unità di scrittura (masterizzatore) ma non sono cancellabili. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Dischi Ottici Il tipo di accesso più comune è quello sequenziale (unica traccia a spirale) (CD audio). Le tracce hanno uguale densità (CLV: Constant Linear Velocity); Esistono anche Cd con struttura a tracce concentriche analoga a quella dei dischi magnetici. Le tracce hanno densità diversa (CAV: Constant Angular Velocity); Usano il codice di correzione CIRC a 14bit; Tipi di CD: CD-ROM: Cd stampato da un Master (tipo LongPlay); CD-R: (CD Recordable) Cd registrabile in più sessioni; CD-RW (CD reWritable) Cd riscrivibile (limitate volte); DVD: (Digital Versatile Disk) registrabile fino a 17GB; DVD-RW: DVD riscrivibile; BlueRay Disc: registrabile fino a 50GB Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Nastri Magnetici Nastri: sono costituiti dai comuni nastri magnetici analoghi a quelli audio. I nastri o cassette digitali (CAD) hanno piste longitudinali (corrispondenti al bit) I byte sono memorizzati sequenzialmente (per la caratteristica intrinseca del dispositivo). Per raggiungere l’informazione richiesta, è necessario scorrere tutte le informazioni presenti fino a posizionarsi sul punto richiesto; L’accesso ai dati è sequenziale (notevole lentezza anche rispetto ai Floppy disk). Grande capacità di memorizzazione ma tempi di accesso estremamente lunghi (minuti); Densità di memorizzazione tipica 1600 bpi (bit per inch); E’ possibile solo Inserimento ma NON Modifica dei dati Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Nastri Magnetici Sono utilizzati per il backup (salvataggio di sicurezza) periodico dei dati (tipicamente dai dischi magnetici). Tipi di nastri: Bobina: nastro fino a 6250 bpi. Per computer medioalti; Cassette: 600-13000 bpi. Usato per Holter; DAT (Digital Audio Tape) nastro digitale (fino a 61000 bpi); DLT (Digital Linear Tape) grande affidabilità con codici di errore. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Memorie di massa a Stato Solido (1) Memorie elettroniche permanenti utilizzate con le tecniche delle memorie di massa (senza indirizzi). Formato carta di credito: Memory Card: PCMCIA (Personal Computer Memory Card International Association) usato come memoria di massa (HD mini, Flash)o Ram esterna; altre versioni: CF (Compact Flash), MC, SSFDC,… Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Memorie di massa a Stato Solido (2) Smart Card: memoria con microprocessore, ram, interfaccia per batteria e I/O. Usata per effettuare calcoli. Funziona quando è inserita in un apposito lettore. E’ programmabile, ha un codice di sicurezza. Utilizzata come carta per Servizi Sanitari; Laser Card: memoria ottica (tecnologia tipo Cd (microperforazione e lettura laser). Per usi sanitari. Non è modificabile né magnetizzabile. Contiene anche immagini. Basso costo. 2-4MB. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dischi a stato solido (SSD) • dispositivo di archiviazione dati che utilizza unicamente l'elettronica dello stato solido per la memorizzazione delle informazioni digitali • si basano sulla memoria flash di tipo NAND per l'immagazzinamento dei dati; per questo essi non richiedono parti meccaniche e magnetiche • • • • • • Rumorosita’ assente Minori consumi durante le operazioni di lettura e scrittura Tempo di accesso ridotto: si lavora nell'ordine dei decimi di millisecondo Maggiore resistenza agli urti: le specifiche di alcuni produttori arrivano a dichiarare resistenza a shock di 1500 g Maggiore dissipazione di calore Minore peso e dimensioni Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Confronto tra Memorie di Massa Formato Capacit€ (tipica) Velocit€ di accesso Tipo di accesso Costo supporto Costo unit€ Estraibile Uso tipico Affidabilit€ Floppy disk 3.5У; 5.25У Hard disk Interno 1.44MB Bassa (<20KB/s) Pseudorandom Basso < 0,5 <20 Si Trasf. Dati archivi Bassa 80GB Alta (2MB/s) Pseudorandom Alto < 100 = No Memoria di massa Media Opical disk CD 3.5У; Ottici vari Nastri Tape, CAD, cassetta 650 MB ordine GB Medio-alta (200KB/s) Bassissima (<1KB/s) Sequenziale o Sequenziale Pseudo-random Basso (CD)<0,5 Basso <0,5 <50 <50 Si Si Programmi archivi Backup Alta Alta Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Periferiche di I/O L’unità di I/O: • è costituita dall’interfaccia di I/O e dalle periferiche vere e proprie. • opera sotto il controllo diretto della CPU (Sistema Operativo) in modalità slave. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Caratteristiche delle periferiche di I/O funzionamento asincrono: la gestione dei dati da parte della unità di I/O è effettuata in modo autonomo con la CPU. uso di controller: è un particolare circuito ausiliario che si occupa della gestione della comunicazione dei dati (effettuata tramite il data bus) con la CPU; tipo di comunicazione: alcune unità operano intrinsecamente a byte (tastiera) altre a blocchi di memoria (dischi). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Gestione dell’I/O polling (effettuato dal Sistema Operativo o dal programma): interrogazione ciclica delle periferiche; interrupt (iniziato direttamente dalle periferiche). La tecnica degli interrupt provvede alla sincronizzazione in tempo reale tra CPU e periferica di I/O: l’unità di I/O invia un segnale speciale (interrupt) alla CPU quando ha un nuovo dato (input) o è libera per gestire un dato ricevuto (output); la CPU, quando lo ritiene opportuno (secondo come è stata precedentemente programmata), interrompe l’operazione in corso e, attraverso il Sistema Operativo, provvede ad eseguire il programma di gestione dell’interrupt (interrupt handler) per eseguire l’operazione di I/O del dato; terminata la gestione dell’interrupt il Sistema Operativo riattiva l’operazione interrotta. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Principali Periferiche di I/O • Input: – tastiera – mouse – scanner – lettore di codice a barre • Output: – schede video – video – stampante – plotter • Input/Output: – modem – schede audio Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Interfacce di I/O Il funzionamento di ogni periferica (drive) è assicurato da uno specifico software (driver) eseguito sul computer; l’interscambio di segnali e messaggi di controllo tra computer e periferica durante la connessione è spesso simile anche con periferiche differenti e di differenti produttori; risulta in pratica molto comodo e versatile l’utilizzo e l’interscambio di periferiche di differenti produttori senza la necessità di sostituzione dei programmi di comunicazione; per unificare la comunicazione sono state definite alcune interfacce standard: Computer Interfaccia Standard Connessione Interfaccia Standard Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Periferica Interfacce di I/O Speciali Tutte le periferiche di I/O sono connesse al computer tramite le interfacce di I/O. Le più comuni classi sono: interfacce dedicate: quali la porta di input per la tastiera, la porta per il mouse, la porta di output per il monitor; interfacce dirette: slot interni al computer (SCSI, ISA, PCI IDE, EIDE,..) che permettono di accedere direttamente al data bus, all’address bus ed ai segnali di controllo. Queste interfacce sono tipicamente utilizzate per schede audio, unità a disco, unità Cd, schede Pcmcia, schede di rete, schede di espansione della memoria, schede modem. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Interfacce di I/O Generali interfacce generali: sono le porte di I/O di tipo: • seriali (COM RS232, USB, IEEE 1394, IrDA,...): la comunicazione è fatta a bit in sequenza; • parallela (LPT): un byte (o word o multipli di byte) sono trasmessi contemporaneamente; Periferiche tipiche connesse alle porte generali di I/O sono la stampanti, il plotter, il modem ed in genere la speciale digitale strumentazione L’interfaccia (la propria unità di I/O del computer) comunica esternamente con le periferiche di I/O ed internamente con la CPU tramite i segnali di interrupt, i segnali di controllo ed i bus dei dati e degli indirizzi. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini L'interfaccia seriale canale di trasmissione a 1 bit; è l'interfaccia più comune e più semplice; i protocolli RS232, RS432,… fissano gli standard meccanici, elettrici e di comunicazione (livelli di tensione, piedinatura, temporizzazione,…); l'intervallo tra due bit successivi è costante (velocità di trasmissione) e determina il bit-rate; la trasmissione di uguali blocchi di bits costituisce la trasmissione a pacchetto, con l’aggiunta ai dati di bit di controllo delle correttezza e di indirizzamento. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Computer MICROCOMPUTER: apparecchiature elettroniche digitali basate su schede a microprocessori generalmente impiegate per scopi specifici; PERSONAL COMPUTER (Pc): calcolatore generale costituito da schede a microprocessore; DESK TOP: Pc da scrivania costituito di base da una unità centrale, un monitor ed una tastiera; LAP TOP: Pc portatile a batteria generalmente di formato A4 e peso di pochi chili;; PALM TOP: Pc di peso e dimensioni ridotte (tipo pocket calculator) dotato di un display LCD ed una mini-tastiera; Tipi di Computer Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Computer MINICOMPUTER: computer per applicazioni scientifiche, amministrative, di controllo industriale a tecnologia più veloce e di capacità di memoria maggiore dei personal computers. Multiutente; WORKSTATION: con prestazioni analoghe ai minicomputer ed in rete locale; MAIN FRAME: computer ad elevate prestazioni e costi in uso nei grossi centri di calcolo. Operazioni centralizzate; SUPER COMPUTER: computer ad altissime prestazioni (velocità > 100 Mips) utilizzato nel calcolo parallelo Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Software Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di software Software applicativo: sono i programmi che svolgono un operazione in campo applicativo; Software di base: sono i programmi che mascherano al software applicativo il reale funzionamento dello specifico hardware; Strumenti di programmazione: speciali programmi, linguaggi, traduttori per scrivere, verificare e mettere a punto il software applicativo. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Software applicativo Il software applicativo è un programma che fa compiere al computer una specifica operazione non prevista originariamente dal sistema; L’interazione con l’utente avviene attraverso una interfaccia appositamente definita dall’applicazione: tanto maggiore ne è il livello di astrazione quanto più le funzioni di base del computer sono mascherate: ne consegue un’interfaccia utente così evoluta da non richiedere (quasi) alcuna conoscenza del computer; Il programma applicativo configura quindi una macchina virtuale che, sovrapponendosi a quella definita dal sistema operativo, ne può sfruttare tutte le funzioni, senza la necessità di interagire direttamente con l’hardware (p.e. l’accesso alle memorie di massa). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Strumenti per la Programmazione Gli strumenti per la programmazione consentono di scrivere e generare programmi applicativi in linguaggio macchina, sono: • Editor: per la scrittura e modifica dei programmi e dati; • Linker e loader: per l’assemblaggio di più programmi eseguibili ed i caricamento in memoria centrale; • Debugger: per il controllo e l’analisi dell’esecuzione; • Traduttori: per la conversione dei programmi scritti con linguaggi ad alto livello in linguaggio macchina. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Software di Base L’hardware, con i suoi circuiti elettronici, definisce le operazioni reali che un computer sa svolgere; il software fornisce una serie di istruzioni con cui far svolgere al computer una particolare operazione. Per superare le difficoltà che un utente incontra nella programmazione a basso livello, l’hardware viene fornito di un software di base che funge da interfaccia. Si definisce così una macchina astratta, la macchina virtuale, in grado di compiere realmente soltanto le operazioni consentite dall’hardware, ma che appare avere funzioni complesse di livello più alto con le quali svincola l’utente dalla gestione delle funzioni elementari del computer. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Macchina Virtuale La macchina virtuale risulta così individuata: Dall’hardware del computer; Dal software di base, costituito dall’ insieme di programmi in linguaggio macchina. Il software di base è cablato su ogni specifico hardware ma in suo comportamemento verso l’utente può essere identico anche su computer diversi. Il software di base essenzialmente è costituito da: Il sistema operativo del computer; Gli strumenti di programmazione. Resta comunque la possibilità all’utente di non utilizzare il software di base e quindi gestire con il suo programma applicativo direttamente tutto l’hardware. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Caratteristiche delle Macchine Virtuali Sullo stesso computer si possono’ definire più macchine virtuali, addirittura a più livelli gerarchici, aumentandone quindi il grado di astrazione. Altra caratteristica delle macchine virtuali esistenti è che sono espandibili; cioè è possibile aumentarne la funzionalità aggiungendo programmi specifici basati sui livelli più bassi. La sola restrizione nella generalizzazione delle macchine virtuali è che ogni funzione astratta deve essere comunque riconducibile ad una serie di istruzioni elementari. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini