Architettura di un elaboratore Lezione n. 6 Lo schema di riferimento Schermo Interfaccia ingresso/uscita Tastiera Mouse Interfaccia Interfaccia ingresso/uscita ingresso/uscita Memoria di massa Interfaccia ingresso/uscita Ø× Ø× Ø× Ø× … Memoria centrale CPU Ø× Ø× Bus dati Bus indirizzi Bus di controllo Corso di Informatica Giuridica (Sciuto D. e altri, Introduzione ai sistemi informatici, McGraw-Hill, 2002) 2 1 Tipi di elaboratore Supercomputer: hanno elevatissime capacità di calcolo e di solito contengono piu’ unità di calcolo. Esempi: Cray, SPM (calcolatori paralleli), presso CINECA (Centro Interuniversitario di Calcolo, Bologna). www.cineca.it Mainframe: potente elaboratore che svolge funzioni centralizzate, di solito di contabilità o amministrative Server: e’ una denominazione della funzionalità del computer che gestisce altri computer connessi a esso in rete Personal Computer (PC): computer di basso costo che possono elaborare in modo autonomo. Esempi: desktop, workstation Smart phone, palmari (PDA), play station (PSP), Ipod, … Sistemi embedded 3 Corso di Informatica Giuridica La macchina di Von Neumann - schema Corso di Informatica Giuridica (da Ceri, Mandrioli, Sbattella, Informatica: Arte e Mestiere, Mc Graw-Hill, 1999) 4 2 ENIAC (Elecronic Numerical Integrator and Computer) costruita all'Universita' della Pensilvania - 1943 - 1946 Corso di Informatica Giuridica 5 La macchina di Von Neumann - componenti Componenti fondamentali: Unita’ di elaborazione (CPU): contiene I dispositivi elettronici in grado di acquisire, interpretare ed eseguire le istruzioni. E’ divisa in due parti: Unità di controllo (UC) e Unità Aritmetico – logica (ALU) Memoria centrale: contiene istruzioni e dati Periferiche: permettono lo scambio di informazioni fra l’elaboratore e l’esterno. Le periferiche comprendono anche le memorie secondarie o memorie di massa Corso di Informatica Giuridica 6 3 La memoria - BIT e BYTE L’informazione viene codificata in modo binario, ossia in una sequenza finita di 1 e di 0 La più piccola unità di informazione memorizzabile o elaborabile è il bit (binary digit) che corrisponde allo stato di un dispositivo fisico che ha due possibili stati: differente tensione elettrica (alta o bassa in memoria centrale), differente stato di polarizzazione magnetica (positiva o negativa nelle memorie secondarie), alternanza fra luce e buoi nella trasmissione dati 7 Corso di Informatica Giuridica Informazioni binarie Bit: informazione elementare costituita da una cifra binaria (0 o 1, On o Off, Sì o No); Corso di Informatica Giuridica (© Sartor) 8 4 BIT e BYTE - terminologia L’unita’ minima del linguaggio digitale e’ il bit 1 byte= 8bit (256 combinazioni) 2 10 byte= 1 Kilobyte (1KB) 2 10 KB=1 Megabyte (1MB) 2 10 MB= 1 Gigabyte (1GB) 2 10 GB= 1 Terabyte (1TB) Corso di Informatica Giuridica 9 La tecnologia digitale CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificate mediante componenti suscettibili di assumere solo due stati tensione alta(TA)/tensione bassa(TB), aperto/chiuso, magnetizzato positivamente/magnetizzato negativamente, riflettente la luce/non riflettente la luce A ciascuno dei due stati è associata una cifra binaria, o bit, 0 e 1. Es: 1 = Tensione alta e 0 = Tensione bassa; ecc. Dati ed operazioni sono codificate mediante sequenze di bit 010000100010001…. sartor Corso di Informatica Giuridica 10 5 Sistemi di codifica Sistemi posizionali, cioè ogni cifra di un numero rappresenta un valore che dipende dalla posizione della cifra (posizione calcolata a partire dalla fine del numero, iniziando a contare da 0), e dalla base del sistema di numerazione Valore = Cifra * BasePosizione 132410 = 1 * 103 + 3 * 102 + 2* 101 + 4 * 100 (1.000) + (300) + (20) + (4) 3 2 1 11012 = 1 * 2 + 1 * 2 + 0 * 2 + 1 * 20 (8) + (4) + (0) 1 Quanti numeri posso rappresentare con 10 dita? (© Sartor) Corso di Informatica Giuridica 11 Sistema binario Anche nel sistema binario Valore = Cifra * BasePosizione In particolare Valore = Cifra * 2Posizione 1 23 1 22 0 21 1 20 11012 = 1310 Corso di Informatica Giuridica (© Sartor) 12 6 Passare da decimale a binario 13 : 2 = 6 resto 1 6 : 2 = 3 resto 0 3 : 2 = 1 resto 1 1 : 2 = 0 resto 1 1310 = 11012 Corso di Informatica Giuridica 13 Rappresentazioni nel sistema binario Numeri 13 ⇒ 1101 Caratteri alfabetici e numerici: Immagini e fotografie Tavole di conversione ASCII: Fanno corrispondere ad ogni carattere o numero un gruppo di 8 bit. Vi sono 256 gruppi diversi di bit, e pertanto con 8 bit si possono rappresentare 256 simboli diversi. Una sequenza di 8 bit viene chiamata byte o carattere in bianco e nero (es. 0 = punto bianco; 1 = punto nero) Immagini a colori Suoni Corso di Informatica Giuridica 14 7 Algebra di Boole algebra di variabili suscettibili di assumere due valori (0, 1; ON, OFF; vero, falso) 15 Corso di Informatica Giuridica Operatori BOOLEANI AND 0 0 0 1 0 0 0 0 1 1 OR NOT 0 1 Corso di Informatica Giuridica 1 0 1 1 1 1 1 0 Es. Es. Es. (© Sartor) 1100 AND 1010 1000 1100 OR 1010 1110 1010 NOT 0101 16 8 I circuiti che realizzano le operazioni elementari Corso di Informatica Giuridica (© Sartor) 17 Una semplice rete logica R= (A AND B) OR (NOT C). Corso di Informatica Giuridica (© Sartor) 18 9 Reti logiche Reti logiche elementari, costruite con gli elementi appena indicati possono eseguire operazioni elementari (addizioni, sottrazioni, confronti) Combinando operazioni elementari, si possono eseguire tutte le operazioni di base effettuabili da parte dell’elaboratore. Addizione, sottrazione, scorrimento, confronto. Sono queste le operazioni eseguibili direttamente dall’hardware, che caratterizzano la CPU RISC: reduced instructions set computer e CISC: complex instruction set computer Corso di Informatica Giuridica 19 Reti logiche e circuiti integrati Le reti logiche sono oggi realizzate mediante transistor, dispositivi composti di materiale semiconduttore (che permettono il passaggio di corrente solo in particolari condizioni) Circuito integrato: circuito complesso, realizzato su un’unica piastrina di silicio Microprocessore: circuito integrato contenente una CPU completa (unità logico-aritmetica, unità di controllo, registri) Corso di Informatica Giuridica 20 10 CPU 1971: 4004 Microprocessor 21 Corso di Informatica Giuridica Maschere di CPU - Pentium III Corso di Informatica Giuridica 1999: Pentium® III Xeon(TM) Processor 22 11 Piastra madre Corso di Informatica Giuridica 23 Schede I chip sono collocati su schede a circuiti stampati Scheda madre: la scheda principale ai cui connettori si collegano I dispositivi. Contiene la CPU, la memoria centrale, i principali controller Schede di espansione: contengono ulteriori componenti hardware, e si collegano agli slot di espansione del computer (per aggiungere memoria, adattatore video, scheda grafica, modem interno, ecc.) Corso di Informatica Giuridica 24 12 L’Unita’ centrale di elaborazione - CPU La CPU contiene : Unità di controllo (UC) Unità Aritmetico Logica (ALU) Clock di sistema REGISTRI: (Registro: piccola porzione di memoria capace di memorizzare una sequenza di bit, di solito 1 o più parole) Registro dati (DR) Registro indirizzi (AR) Corso di Informatica Giuridica 25 Dettaglio della macchina di Von Neumann Corso di Informatica Giuridica 26 13 L’Unita’ centrale di elaborazione - registri Registro istruzione corrente (CIR). Contiene, istante per istante, l’istruzione in esecuzione Registro Contatore di programma (Program Counter PC). Contiene, istante per istante, l’indirizzo della prossima istruzione che deve essere eseguita Registro interruzioni (Interrupt register INTR). Contiene informazioni sullo stato delle periferiche Registri contenenti operandi e risultati delle ultime operazioni fatte Registri di lavoro Corso di Informatica Giuridica 27 La memoria centrale Concettualmente e’ una sequenza di celle, ciscuna delle quali contiene una parola (word) Le parole di uno stesso elaboratore hanno tutte la stessa lunghezza (32 o 64 bit di solito) Ciascuna cella di memoria puo’ essere indirizzata, cioe’ viene associata in modo univoco ad un indirizzo L’indirizzamento della memoria avviene tramite un registro, detto registro degli indirizzi Corso di Informatica Giuridica 28 14 La memoria centrale RAM (Random Access Memory): memoria volatile, modificabile. Mantiene memorizzati I programmi che si stanno utilizzando e I dati in fase di elaborazione. La RAM e’ organizzata in moduli (SIMM o DIMM) ROM (Read Only Memory): memoria non volatile. Contiene le istruzioni dette firmware. Corso di Informatica Giuridica 29 CPU – ciclo di memoria In grado di eseguire solo istruzioni codificate in linguaggio macchina Ciclo Fetch – Decode - Execute 1. 2. 3. 4. Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni (IR) (fetch) Incrementa il Program Counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva Determina il tipo di istruzione da eseguire (decode) Se l’istruzione necessita di un dato in memoria determina dove si trova e caricalo in un registro della CPU 5. Esegui l’istruzione (execute) 6. Torna al punto 1 e opera sull’istruzione successiva Corso di Informatica Giuridica 30 15 Ciclo Fetch–Decode–Execute Fetch Decode Execute Corso di Informatica Giuridica (da Curtin e altri, Informatica di base, McGraw Hill Italia, 2002) 31 L’interazione fra CPU e memoria - ciclo macchina 1. Caricamento (Fetch): l’UC preleva l’istruzione successiva presente in memoria 2. Decodifica (Decode):l’UC interpreta l’istruzione e trasferisce I dati a cui questa fa riferimento dalla memoria alla ALU 3. Esecuzione (Execute): la ALU esegue l’operazione logica o aritmetica richiesta dall’istruzione 4. Memorizzazione (Store):I risultati delle operazioni svolte sono memorizzati nella memoria Corso di Informatica Giuridica 32 16 L’interazione fra CPU e memoria - evoluzione Nella macchina di Von Neumann le fasi di elaborazione si succedono in modo sincrono rispetto alla scansione temporale di un orologio di sistema (clock) Modelli evoluti di questa architettura prevedono di introdurre varie forme di parallelismo, cioè esecuzione contemporanea delle attività di elaborazione Corso di Informatica Giuridica 33 L’Unita’ centrale di elaborazione - prestazioni La velocita’della CPU viene misurata in Megahertz (milioni di cicli al secondo, misurati con il clock del processore) Processori di tipo diverso non vanno confrontatisulla base del ciclo di clock MIPS (milioni di istruzioni per secondo) Legge di Joy: MIPS=2(anno-1984) Corso di Informatica Giuridica 34 17 I bus I bus sono collegamenti che permettono la trasmissione delle informazioni tra I vari componenti del sistema. Numero di linee determina l’ampiezza del bus. 32 o 64 bit Bus di sistema. Collega la CPU ad altri dispositivi del computer, fra cui la memoria. In ogni istante di tempo il bus collega due unita’ funzionali: una trasmette I dati e l’altra li riceve, controllato dall’unita’ centrale di elaborazione Corso di Informatica Giuridica 35 I bus - tipologie Le linee del bus vengono suddivise in tre categorie: Bus dati: trasferisce dati Bus indirizzi: trasferisce indirizzi; per esempio contenuto del registro indirizzi dall’unita’ di elaborazione centrale alla memoria Bus controlli: trasferisce un codice corrispondente all’istruzione da eseguire Corso di Informatica Giuridica 36 18 Esempio: operazione di lettura La CPU: 1. Carica l’indirizzo della parola da leggere nel registro indirizzi e lo trasmette alla RAM tramite il bus indirizzi 2. Richiede un’operazione di lettura inviando il codice del comando tramite bus controlli La RAM: 3. Sposta tramite bus dati il contenuto della parola indirizzata nel registro dati 4. Segnala alla CPU, tramite bus controlli, che l’operazione e’ terminata 37 Corso di Informatica Giuridica La struttura del computer Corso di Informatica Giuridica (© Sartor) 38 19 Slot di espansione Agli slot di espansione presenti sulla scheda madre si possono inserire le schede degli adattatori Le schede degli adattatori sono collegate al bus di sistema Possono avere diverse funzioni: collegarsi a Internet (modem), utilizzare fax, scanner, audio ecc. Corso di Informatica Giuridica 39 Le memorie secondarie - struttura Sono costituite da due elementi distinti: 1. Il dispositivo di memorizzazione: ha la funzione di scrivere o leggere i dati sul supporto 2. Il supporto di memorizzazione: è il componente fisico su cui vengono memorizzati i dati Tipi di supporto: memoria magnetica (nastri, dischi) memoria ottica (compact disc, DVD) memoria magneto-ottica (dischi magneto-ottici) Corso di Informatica Giuridica 40 20 Le memorie secondarie - tipi Le memorie secondarie presenti in un PC sono: disco fisso (può essercene più di uno) floppy disk compact Disk DVD unità nastro per il backup (opzionale) ... Corso di Informatica Giuridica 41 Le memorie secondarie - caratteristiche 1. Accesso: Sequenziale (nastro), diretto (dischi o cd) 2. Formattazione: suddivisione del disco in tracce e settori 3. Velocità: velocità di accesso (ai dati sul supporto) + velocità di trasferimento (dei dati dalla memoria secondaria alla memoria centrale RAM). I dischi fissi (HD) offrono una velocità più alta rispetto a quelli rimuovibili 4. Capacità di memorizzazione: quantità di dati che un supporto è in grado di memorizzare. HD >10 GB, CD <1GB, floppy 1,4MB 5. Evoluzione continua: Ipod 80 Gb, Blue ray fino a 500Gb Corso di Informatica Giuridica 42 21 Le memorie secondarie - il disco fisso tracce, cilindri, settori, cluster controller del disco fisso: interfaccia per comunicare con l’elaboratore. Esempi: IDE (piu’ vecchia), EIDE, SCSI (piu’ veloce). Corso di Informatica Giuridica (da Curtin e altri, Informatica di base, McGraw Hill Italia, 2002) 43 Dischi Corso di Informatica Giuridica 44 22 Geometria dei dischi I dischi sono costituiti da platter, ciascuno con due superfici Ogni superficie è costituita da anelli concentrici detti tracce Ogni traccia è costituita da settori separati da gaps traccia superficie traccia k gaps perno settori 45 Corso di Informatica Giuridica Geometria dei dischi cilindro k superficie 0 platter 0 superficie 1 superficie 2 platter 1 superficie 3 superficie 4 platter 2 superficie 5 perno Le tracce “allineate” formano un cilindro Corso di Informatica Giuridica 46 23 Operazioni sui dischi braccio perno Le testine di lettura/scrittura si muovono in maniera univoca da cilindro a cilindro Corso di Informatica Giuridica 47 IL backup dei dati Backup: copia di tutti i dati (o almeno dei più importanti) Motivazione: si possono verificare incidenti che causano la perdita dei dati sul disco fisso Destinazione: floppy disk, per limitate quantità di dati (poco sicuro); CD, dischi fissi removibili oppure unità nastro (maggiore capacità di memorizzazione), unità ottiche Corso di Informatica Giuridica 48 24 Legge di Moore - enunciazione Nel 1965 Gordon Moore suppose che le prestazioni dei microprocessori sarebbero raddoppiate ogni 12 mesi Nel 1975 questa previsione si rivelò corretta e prima della fine del decennio i tempi si allungarono a 2 anni, periodo che rimarrà valido per tutti gli anni Ottanta La legge, che resta valida fino ai nostri giorni, viene riformulata alla fine degli anni Ottanta ed elaborata nella sua forma oggi definitiva, ovvero che le prestazione dei processori raddoppiano ogni 18 mesi Questo vuol dire che c’è un incremento di circa il 60% all’anno 49 Corso di Informatica Giuridica Legge di Moore – implicazioni Il progresso della tecnologia provoca un aumento del numero di transistor per cm2 e quindi per chip Un maggior numero di transistor per chip permette di produrre prodotti migliori (sia in termini di prestazioni che di funzionalità) a prezzi ridotti I prezzi bassi stimolano la nascita di nuove applicazioni (e.g. non si fanno video game per computer da milioni di $) Nuove applicazioni aprono nuovi mercati e fanno nascere nuove aziende L’esistenza di tante aziende fa crescere la competitività che, a sua volta, stimola il progresso della tecnologia e lo sviluppo di nuove tecnologie Corso di Informatica Giuridica (Sartor) 50 25 Le periferiche di input/output – le porte La comunicazione con le periferiche avviene tramite porte (alloggiamenti, di solito posti sul retro, in cui vengono inseriti I cavi delle periferiche) Porte seriali (porte di comunicazione asincrona): due linee per inviare e ricevere dati; un bit per volta Porte parallele (interfacce centronics): 8 bit per volta Porte SCSI (Small Computer System interface): permettono di collegare più dispositivi alla stessa porta Porte USB (Universal Serial Bus): più veloci; possono collegare fino a 127 dispositivi ad una sola porta Porte Firewire (IEEE 1394): tecnologia più potente di USB Corso di Informatica Giuridica 51 Le periferiche di input Input di testo: Input di dati Lettori di codici a barre Riconoscitori vocali ... Input di grafica Tastiera Scanner (riconoscimento ottico dei caratteri OCR). Il testo viene convertito dalla forma stampata a quella elettronica Scanner grafico (scanner piano oppure a tamburo). Per le immagini a colori sono necessari tre filtri per leggere verde,rosso e blu (scala RGB) Strumenti di puntamento Mouse Puntatori di gomma Joystick Corso di Informatica... Giuridica 52 26 Le periferiche di output Schermo o monitor con tubo a raggi catodici (CRT) a schermo piatto. Quattro principali tipi di tecnologie: display a cristalli liquidi, a plasma a colori, elettro-luminescenti, a emissione di campo Stampante laser a getto d’inchiostro a matrice di punti Plotter 53 Corso di Informatica Giuridica Output di testo - i font Font: tipo di carattere con uno stile e una forma propri. Caratteristiche Tipo: esempi più comuni: Courier, Times Nedw Roman, Arial, Franklin, Bookman …. Stile: Normale, Grassetto, Corsivo,… Dimensione: 24 punti, 14 punti, Corso di Informatica Giuridica 40 punti …. 54 27 Output grafico - elementi Risoluzione: indica la qualita’ di un’immagine visualizzata sullo schermo o stampata Pixel (picture element): lo schermo e’ diviso in pixel. Risoluzione di 640x480 (VGA), 800x600 (SVGA) , 1280x960 .. Il numero totale di pixel nello schermo dipende dalla risoluzione utilizzata A ogni pixel viene assegnato un indirizzo (bit mapping) Punti per pollice (dots per inch - DPI): misura la risoluzione di una stampante. Risoluzione 600dpi, 1200 dpi . . . 55 Corso di Informatica Giuridica Output grafico - la risoluzione Rapporto fra risoluzione e grandezza dell’immagine ingrandimento dell’output di una stampante laser risoluzioni diverse Corso di Informatica Giuridica (da Curtin e altri, Informatica di base, McGraw Hill Italia, 2002) 56 28 Output grafico - i colori Gamma dei colori: a ciascun pixel viene assegnato un colore o una gradazione di grigio. Corrispondenza biunivoca fra pixel e numero del colore assegnato in una tavolozza di colori disponbili nella scheda video (fino a 16 milioni) (settingsÆschermo Æ impostazioni) Profondità di colore: e’ la gamma di colori disponibile. Dipende da quanti bit sono usati per memorizzare I dati di ogni pixel.(1bit = 2 colori; 8 bit=256 colori; 24 bit=16 milioni di colori). Memoria video disponibile Corso di Informatica Giuridica 57 Output grafico – rappresentazione dei colori Sullo schermo ogni colore e’ rappresentato come sovrapposizione di 3 colori nelle scale rosso, verde, blu (RGB) (colori primari) Le stampanti a colori utilizzano cartucce dei colori Cyano, Magenta e Giallo (CMY) (colori sottrattivi) ed eventualmente nero per creare tonalità più scure Corso di Informatica Giuridica 58 29 Estensione alla macchina di Von Neumann Uso di processori dedicati (coprocessori) che eseguono in “parallelo” compiti specifici Modifica della struttura del processore, in modo da poter eseguire in parallelo le varie fasi di una istruzione (pipelining) Uso di gerarchie di memorie. Es. Memoria cache, caratterizzata da alta velocità, in cui vengono trasferite le informazioni di uso più recente o più comune Corso di Informatica Giuridica 59 Estensione alla macchina di Von Neumann Uso di processori dedicati (canali di ingresso-uscita) per trasferire grandi quantità di dati dalla memoria secondaria a quella centrale senza interferire con la CPU Architetture multiprocessore: sono dotate di molteplici processori indipendenti, collegati fra loro da diversi schemi di interconnessione Corso di Informatica Giuridica 60 30 Conclusioni La macchina di Von Neumann come modello per il funzionamento di un elaboratore e sue estensioni Caratteristiche delle diverse componenti hardware di un elaboratore (PC in particolare) (riferimenti ad articoli di wikipedia: Legge di Moore, CPU, Hardware e sottovoci, Architettura di von Neumann, Hard disk) Corso di Informatica Giuridica 61 31