Corso di Informatica Sistemi di Elaborazione Ing Pasquale Rota Argomenti •Sistema di elaborazione • Architettura di un sistema di elaborazione • Componenti del sistema di elaborazione – – – – Unità I/O Unità logico/aritmetica e unità di controllo (microprocessore) BUS di collegamento. Memoria principale • Memoria secondaria “Informatica ” Sistemi di elaborazione 2 Che cosa è un computer E’ un apparecchio elettronico progettato per elaborare dati in modo automatico. Esegue in modo sequenziale azioni elementari secondo una procedura prestabilita (programmi) È un sistema di elaborazione così detto d'uso generale ossia utilizzabile per una grande varietà di applicazioni. Per computer si intende un dispositivo che implementa il funzionamento di una macchina di Turing secondo l’architettura ideata da Von Neumann. “Informatica ” Sistemi di elaborazione 3 Modello di Von Neumann I moderni elaboratori elettronici hanno come modello di riferimento quello della macchina di Von Neumann. • Architettura del tutto generale che porta a realizzazioni fisiche indipendenti dal funzionamento desiderato. • Il funzionamento si può esprimere in termini di – sequenza di istruzioni (programma) – memorizzate su un supporto esterno (memoria) • Per cambiare funzionamento e' sufficiente cambiare il programma. • L’architettura è adatta a trattare problemi molto complessi. • Il modello è composto da un insieme di unità funzionali. “Informatica ” Sistemi di elaborazione 4 Architettura di Von Neumann Con il termine di “architettura di Von Neumann” (macchina di Von Neumann) ci si riferisce ad sistema elettronico basato su 4 componenti: 1. 2. 3. 4. “Informatica ” Unità di lavoro centrale che si divide a sua volta in: • Unità di calcolo • Unità di controllo Unità di memoria principale Unità di Input Unità di output Sistemi di elaborazione 5 Struttura di un elaboratore MEMORIA USCITA (Output) INGRESSO (Input) UNITA’ DI CONTROLLO UNITA’ LOGICO ARITMETICO (A.L.U.) (C.P.U.) Unità Logico-Aritmetica: detta ALU (Aritmetic Logic Unit) esegue tutte le operazioni logiche e di calcolo sui dati che le sono inviati; Unità di controllo/governo: detta CU/UG (Control Unit) svolge le funzioni decisionali e di coordinamento del flusso dei dati, controlla e coordina l’attività della CPU; Memoria: contiene le istruzioni, i dati ed i risultati dell'elaborazione; Unità di ingresso/uscita: unità di scambio dati con l’esterno (I/O). BUS di collegamento: linee di collegamento per il flusso dei dati e delle istruzioni “Informatica ” Sistemi di elaborazione 6 BUS DI COLLEGAMENTO UNITA’ I/O MEMORIA C.P.U. (Microprocessore) DATI INDIRIZZI CONTROLLI SISTEMA A BUS Bus Indirizzi: è utilizzata dal processore per selezionare una specifica locazione di memoria sia nella RAM/ROM che nelle periferiche esterne. Bus Dati: è utilizzata per trasferire dati/istruzioni tra il microprocessore e la memoria principale o le periferiche esterne. Bus Controlli: serve per inviare i segnali di controllo necessari per sincronizzare i flussi di dati tra le varie parti del sistema. “Informatica ” Sistemi di elaborazione 7 Struttura (PC) Tastiera Memoria Memoria RAM/ROM Hard Disk Monitor Floppy Controller Dispositivi di I/O Controller Scheda Grafica CPU Mouse CDROM Controller Porte Seriali e parallele Stampante “Informatica ” Controller Scheda audio Scanner Sistemi di elaborazione Casse Modem 8 Scheda Madre di un PC Memoria ROM Microprocessore Slot Microprocessore Slot per Unità di I/O Unità di controllo Controller I/O “Informatica ” Slot Scheda Grafica Sistemi di elaborazione Memoria RAM 9 Schema scheda madre “Informatica ” Sistemi di elaborazione 10 Schema componenti “Informatica ” Sistemi di elaborazione 11 Scheda madre • La scheda madre (motherboard o main board è un circuito stampato di elevata complessità che provvede all’interconnessione elettrica fra tutte le componenti interne fornendo anche le sedi (dette socket o slot, a seconda della forma piana o a fessura) per l’ancoraggio meccanico di alcune di esse. • Sulla motherboard circolano sia correnti elettriche di media potenza, destinate ad alimentare le varie componenti, sia correnti elettriche (estremamente deboli) usate per attuare concretamente la comunicazione dati fra le componenti. • La scheda madre ospita direttamente la CPU e i chip che funzionano da intermediari fra la CPU e la memoria e quelli che la collegano al bus di espansione ed alle periferiche. In qualche caso sulla motherboard può essere presente una certa quantità di memoria ad alta velocità (cache memory) destinata a ospitare i dati più frequentemente usati dalla CPU. “Informatica ” Sistemi di elaborazione 12 Microprocessore E’ un dispositivo interamente contenuto in un unico circuito integrato che si incarica di eseguire ad elevatissima velocità tutte le istruzioni che compongono i programmi. Il microprocessore sovraintende: • all’elaborazione dei dati, • all’interscambio di dati con l’esterno • al controllo delle periferiche. In molti casi controlla i compiti che l’hardware deve eseguire per un regolare funzionamento della macchina. “Informatica ” Sistemi di elaborazione 13 Schema Processore Z80 “Informatica ” Sistemi di elaborazione 14 Schema CPU “Informatica ” Sistemi di elaborazione 15 Microprocessore Nel microprocessore si possono individuare • La ALU si occupa di eseguire le operazioni logico-aritmetiche • La CU si preoccupa di controllare e governare il processore • I REGISTRI sono celle di memoria ad altissima velocità utilizzate come aree di appoggio per i dati intermedi dei calcoli. • La CACHE CPU MEMORY è una memoria veloce in cui il processore parcheggia i dati e le istruzioni recenti e carica preventivamente sezioni di programma nell’ipotesi che gli possano servire a breve termine. • Il BUS di FRONT-SIDE è un canale bidirezionale ad alta velocità utilizzato per lo scambio dei dati, istruzioni e controlli tra la RAM e le altre unità esterne. “Informatica ” Sistemi di elaborazione 16 Ciclo istruzione Il ciclo di istruzione (ciclo macchina) è la sequenza di operazioni elementari eseguita ciclicamente dal microprocessore per eseguire un’istruzione. Tale sequenza comporta il prelievo di un'istruzione dalla memoria, la sua decodifica e infine la sua esecuzione. L’unità di controllo del processore esegue una istruzione svolgendo tre operazioni di base: • Fetch (caricamento) • Decode (decodifica) • Execute (esecuzione) Un programma viene eseguito ripetendo il ciclo fetch-decode-execute per ciascuna delle istruzioni che lo compongono. “Informatica ” Sistemi di elaborazione 17 Esecuzione delle istruzioni CICLO DI FETCH o FASE DI CARICAMENTO Il processore genera i segnali per caricare l’istruzione successiva dalla memoria di sistema. L’istruzione contenuta nella locazione di memoria puntata dal registro IP viene trasferita in un registro interno chiamato Registro Istruzione. “Informatica ” Sistemi di elaborazione 18 ESECUZIONI DELLE ISTRUZIONI CICLO DI DECODE o FASE DI DECODIFICA In questa fase l’istruzione viene decodificata dal processore. Il sistema si prepara all’esecuzione dell’istruzione. “Informatica ” Sistemi di elaborazione 19 ESECUZIONI DELLE ISTRUZIONI CICLO EXECUTE o FASE DI ESECUZIONE In questa fase il processore esegue l’istruzione. Il Program Counter incrementa in modo automatico il proprio valore in modo da puntare all’istruzione successiva. Vengono aggiornati tutti i registri con i risultati dell’operazione. Il processore nel caso di esecuzione di una istruzione di salto può variare il contenuto del registro Program Counter, per puntare ad una istruzione che non è la successiva. “Informatica ” Sistemi di elaborazione 20 Prestazioni microprocessore La velocità con il quale il microprocessore esegue un operazione è uno dei parametri che indicano la “bontà” e si misura in GHz (numero di volte al secondo) frequenza. 2GHz corrispondono a 2.000.000.000 di operazioni al secondo. Un altro parametro e la lunghezza dei registri e dei dati elaborati. Ad es. un'architettura descritta come "64 bit" ha generalmente i registri del processore larghi 64 bit e gestisce dati di questa dimensione sia internamente che esternamente. Un’altra caratteristica è il set di istruzioni del microprocessore, maggiore è il numero di operazioni definite migliori sono le prestazioni del processore a parità di velocità. Attualmente gli ultimi microprocessori integrano più processori su un unico dispositivo (processori multi-core). I processori quad-core possono elaborare un numero di istruzioni 4 volte superiore. “Informatica ” Sistemi di elaborazione 21 La Memoria • La memoria in un sistema di elaborazione serve a archiviare i programmi e i dati necessari per l’esecuzione dei programmi dell’elaboratore. • Esistono tre tipologie di memorie: – Memoria locale – Memoria principale o centrale – Memoria secondaria o di massa “Informatica ” Sistemi di elaborazione 22 Struttura dell’unità di memoria principale La memoria del sistema di elaborazione è costituita da tanti contenitori ciascuno dei quali è individuato da un unico indirizzo. 000 001 Tutte le informazioni che devono essere elaborate devono transitare attraverso la memoria principale. La memoria principale contiene: 002 •le istruzioni dei programmi che devono essere eseguite e i dati su cui le istruzioni operano; 998 “Informatica ” 999 •i risultati intermedi dell’elaborazione. Sistemi di elaborazione e finali 23 Caratteristiche delle memorie CAPACITA’ : indica il numero di celle che la memoria contiene; il suo valore è sempre pari ad una potenza di 2 e si misura in bit. PAROLA/LOCAZIONE: è l’insieme di bit che formano l’elemento unitario della memoria. ORGANIZZAZIONE: è costituita da una coppia di numeri che indicano il numero di parole e la lunghezza delle stesse LINEE DI INDIRIZZO: ingressi della memoria necessari ad individuare la locazione di memoria ---------Una memoria (1024x8) è costituita da 1024 LOCAZIONI differenti; Ogni parola è lunga 8 bit. La Capacità è pari 8192 bit. Le linee di indirizzo sono 10. “Informatica ” Sistemi di elaborazione 24 Caratteristiche delle memorie L’indirizzo permette l’identificazione della posizione all’interno della RAM/ROM della specifica locazione di memoria. La locazione di memoria contiene indifferentemente : Dati Istruzioni. “Informatica ” Sistemi di elaborazione Indirizzo 0001 0002 0003 1022 1023 1024 Locazione 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 …….. …….. …….. 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 25 CARATTERISTICHE DELLE MEMORIE Parametri delle memorie che ne determinano le prestazioni e le caratteristiche: Velocità di risposta; Capacità; Organizzazione della memoria; Potenza dissipata; Alimentazioni; Numero di pin; Costo per bit. “Informatica ” Sistemi di elaborazione 26 CARATTERISTICHE DELLE MEMORIE • Una memoria è tanto più veloce quanto maggiore è il numero di operazioni di lettura o di scrittura che è in grado di effettuare. • La potenza dissipata per lo svolgimento delle operazioni influenza sia i consumi che la possibilità di aumentare la capacità complessiva della memoria. • La scelta di un determinato tipo di memorie deve sempre essere effettuata considerando il costo del singolo bit. L’unità di misura è il Bit = 0/1 o meglio il BYTE = 8 bits Normalmente le memorie si misurano con multipli del Byte: MByte o GByte “Informatica ” Sistemi di elaborazione 27 Gerarchia delle memorie “Informatica ” Sistemi di elaborazione 28 Memoria locale • E’ la memoria presente all’interno delle unità centrali costituita dalla cache memory e dai registri. • Ospita le istruzioni che devono essere eseguiti e i dati da elaborare in quell’istante dall’unità logico aritmetica. • E’ una memoria veloce e costosa “Informatica ” Sistemi di elaborazione 29 CACHE MEMORY La memoria CACHE è una memoria ad alta velocità che si interfaccia tra il processore e la memoria di sistema Dispositivo utilizzato per memorizzare temporaneamente dati e/o istruzioni al fine di aumentare la velocità di elaborazione del sistema. L’UG e l’ALU recuperano i dati e/o le istruzioni direttamente da questa memoria. Il funzionamento consiste nel leggere e trasferire dalla memoria principale nella cache sia il contenuto della locazione che deve essere eseguita che quello delle locazioni adiacenti. Il dispositivo è caratterizzato da una alta velocità di lettura/scrittura ed da un alto costo per bit. “Informatica ” Sistemi di elaborazione 30 Operazioni sulle memorie Lettura Scrittura “Informatica ” La lettura di un dato (o istruzione) in una locazione di memoria è una operazione non distruttiva La scrittura di un dato (o istruzione) in una locazione di memoria è una OPERAZIONE DISTRUTTIVA (viene cancellato il dato precedente) Sistemi di elaborazione 31 Classificazione della memoria principale RAM (random access memory): è possibile accedere ad ogni locazione di memoria in modo casuale. Può essere utilizzata sia per leggere che per memorizzare dati e/o istruzioni ROM (read only memory): è una memoria a sola lettura. È generalmente utilizzata per memorizzare programmi non modificabili e le operazioni di governo e di elaborazione dell'unità centrale (microprogrammi) PROM ( programmable ROM): è una ROM senza dati memorizzati. Può essere scritta una sola volta attraverso particolari circuiti supporto per la ed è utilizzata come “Informatica ” memorizzazione di microprogrammi e di segmenti critici del software di base (per le operazioni più ricorrenti) al fine di velocizzarne l'esecuzione Sistemi di elaborazione 32 Classificazione della memoria principale EPROM ( erasable PROM): ): variante che rende più veloce la memoria di tipo PROM. Se viene esposta ai raggi ultravioletti può essere totalmente cancellata EEPROM ( Electrically Erasable ROM): variante della memoria EPROM, riprogrammabile con particolari impulsi elettronici. Sono in genere memorie di sola lettura: vengono scritte una volta e lette tante volte. Tutte le marche più evolute usano carte di queste genere “Informatica ” Sistemi di elaborazione 33 Memoria RAM Statica Dinamica Necessita di una rigenerazione dei dati memorizzati che andrebbero altrimenti persi. Può raggiungere un alto grado d'integrazione Non richiede circuiti “rigeneratori” per conservare i dati. Viene utilizzata solo per applicazioni speciali. Sono memorie volatili (perdono il dato memorizzato se non alimentate) “Informatica ” Sistemi di elaborazione 34 Tipi di memoria Le memorie commerciali si identificano in base a sigle che ne caratterizzano la forma fisica il numero di ingressi, la tipologia tecnologica oltre che le frequenze di funzionamento. As es. la sigla SO-DIMM tipo DDR3 204-pin supporta un trasferimento dati a 64-bit e una frequenza di funzionamento di 266MHz (1066MHz di I/O) con velocità di trasferimento di circa 30 GB/s. La So-Dimm sono utilizzati nei sistemi a dimensioni contenute (portatili), la DDR3 nei sistemi di tipo da tavolo “Informatica ” Sistemi di elaborazione 35 Caratteristiche memorie secondarie caratteristiche •Conserva grandi masse di informazioni nel tempo “Informatica ” Velocità di accesso dati bassa Capacità della memoria elevata Costo per bit basso Sistemi di elaborazione 36 Gerarchia della memoria Memoria a semiconduttore Memoria ad accesso diretto o in linea Memoria ad accesso sequenziale o fuori linea Costo per bit “Informatica ” Sistemi di elaborazione 37 Tipi di memoria secondaria •La memoria secondaria racchiude tutti i dispositivi che permettono la memorizzazione dei programmi e dei dati dell’utente in modo permanente Categorie di memorie di massa: – Dischi magnetici; – Dischi ottici – Allo stato solido – Nastri magnetici – Memorie olografiche e biochip (FUTURO) “Informatica ” Memorie ad accesso diretto Memorie ad accesso sequenziale Sistemi di elaborazione 38 Memoria secondaria a disco magnetico I dischi magnetici permettono l’accesso diretto ai dati, possono avere supporti rigidi e flessibili. I supporti a disco leggono e scrivono le informazioni posizionando accuratamente una testina sulla superficie di un disco in rapida rotazione. Le informazioni sono disposte su tutta la superficie del disco (o meglio, su tutta la superficie di una corona circolare che occupa gran parte della superficie del disco). Per leggere/scrivere un determinato dato occorre che la testina si trovi alla giusta distanza dal centro e che il disco si porti alla posizione angolare necessaria. “Informatica ” Sistemi di elaborazione 39 Il disco rigido L’HD (HardDisk) è costituito da un supporto rigido ricoperto da un materiale magnetizzabile che può essere cancellato e riscritto. I dati sulla superficie sono organizzati in settori e tracce circolari (rispettivamente rappresentati in blu e giallo in figura) un settore contiene una quantità fissa di bytes. Hanno capacità di decine/ centinaia di Gbyte. La capacità, ovvero la quantità di dati che si possono memorizzare sulla superficie del piatto dipende da: • la densità di registrazione (bit per cm di traccia) • il numero di tracce • il numero di facce (piatti) “Informatica ” Sistemi di elaborazione 40 Caratteristiche disco rigido I dati sono memorizzati su disco seguendo uno schema di allocazione fisica ben definito in base al quale si può raggiungere la zona dove leggere/scrivere i dati sul disco In questa struttura i dati sono memorizzati avendo come indirizzo fisico i valori relativi al cilindro,traccia settore. Le caratteristiche principali di un disco rigido sono: • la capacità • il tempo di accesso • la velocità di trasferimento “Informatica ” Sistemi di elaborazione 41 Tempo di accesso • Il tempo di accesso è la variabile più importante nel determinare le prestazioni di un hard disk. Si tratta del tempo medio necessario perché un dato posto in una parte a caso dell'hard-disk possa essere reperito. Il tempo impiegato dipende dal fatto che la testina deve spostarsi, e contemporaneamente il disco deve girare finché il dato interessato non si trova sotto la testina. • I produttori cercano perciò di realizzare testine sempre più leggere (che possono spostarsi più in fretta perché dotate di minore inerzia) e dischi che girano più velocemente. Il tempo di accesso tipico per un hard disk consumer è attorno ai 10 millisecondi. Per un hard disk ad alte prestazioni (15.000 giri) è di 3 o 4 millisecondi. “Informatica ” Sistemi di elaborazione 42 Capacità e velocità di trasferimento • La capacità può essere aumentata incrementando la densità con cui le informazioni vengono memorizzate sui dischi, oppure usando dischi più grandi o impiegandone un numero maggiore. La capacità di un disco si aggira intorno ai 1000 GB. • La velocità di trasferimento è la quantità di dati che l'hard disk è teoricamente in grado di leggere o scrivere sul disco in un determinato tempo (in genere si prende 1 secondo come riferimento). Usare dischi che ruotano più velocemente o incrementare la densità di memorizzazione porta ad un miglioramento diretto della velocità di trasferimento, la velocità di trasferimento teorica viene raramente raggiunta e il tempo di accesso è quello che maggiormente influenza le prestazioni di un hard disk. “Informatica ” Sistemi di elaborazione 43 Caratteristiche degli HardDisk In misura minore le prestazioni dei dischi sono influenzati da: • buffer di memoria; • velocità dell'interfaccia. Il buffer è una piccola memoria cache (in genere di alcuni megabyte) posta a bordo dell'hard disk, che ha il compito di memorizzare gli ultimi dati letti o scritti dal disco. L' interfaccia di collegamento tra l'hard disk e la scheda madre specifica la velocità massima alla quale le informazioni possono essere trasferite da o per l'hard disk. Le moderne interfacce tipo ATA133, Serial ATA o SCSI possono trasferire centinaia di megabyte per secondo, molto più di quanto qualunque singolo hard disk possa fare, e quindi l'interfaccia non è in genere un fattore limitante. Il discorso può cambiare nell'utilizzo di più dischi in configurazione RAID, nel qual caso è importante utilizzare l'interfaccia più veloce possibile, come per esempio la Fibre Chanel da 2 Gb/s. “Informatica ” Sistemi di elaborazione 44 Caratteristiche degli HD Gli hard disk sono prodotti in dimensioni standardizzate, i 3,5 pollici e 2,5 pollici. I primi sono utilizzati nei personal computer, i secondi nei computer portatili e dovunque ci sia poco spazio e/o potenza di alimentazione. Entrambi i formati sono utilizzati anche per realizzare memorie di massa esterne ai computer. L'interfaccia attualmente più utilizzata è la Serial ATA (SATA). In quest’ultimo caso i dati viaggiano in modo seriale su due fili (ingresso/uscita) anche se il cavo è a 7 fili. “Informatica ” Sistemi di elaborazione 45 Memoria allo stato solido • Si tratta di memorie la cui tecnologia è simile a quella della RAM, ma in grado di registrare in modo permanente i dati: • Memoria flash • PC CARD • Pen driver • SSD Disk (dischi allo stato solido) • Sono utilizzate per molteplici applicazioni: • Telefoni cellulari • Fotocamere/Telecamere digitali • Registratori vocali. • Elaboratori elettronici “Informatica ” Sistemi di elaborazione 46 Caratteristiche memorie stato solido • • • • • Non hanno parti mobili Sono più veloci dei dischi magnetici o ottici. Hanno dimensioni molto ridotte. Utilizzano meno energia rispetto ai dischi magnetici Trovano diversi impieghi anche per dispositivi di tipo differente “Informatica ” Sistemi di elaborazione 47 HardDisk SSD Si tratta di unità a stato solido SSD (solid-state drive) ed è basata su memoria flash a semiconduttore senza utilizzare organi meccanici (piatti, testine, motori etc). Il controller è costituito da un microprocessore che si occupa di coordinare tutte le operazioni della memoria di massa, E’ possibile collegare un SSD utilizzando una normale interfaccia SATA2 (3Gb/s) o SATA3 (6Gb/s). I vantaggi principali sono tempo di accesso (50/volte più bassa), minori consumi, e minore produzione di calore. Tra gli svantaggi abbiamo un costo maggiore per GigaByte e una minore durata. Svantaggi in fase di superamento. “Informatica ” Sistemi di elaborazione 48 La memoria ottica • Il disco ottico è una tipologia di supporto di memoria. È costituito da un disco piatto e sottile in genere di policarbonato trasparente. Al suo interno è inserito un sottile foglio metallico, in genere di alluminio, su cui vengono registrate e lette le informazioni tramite un raggio laser. • La registrazione avviene mediante un laser che crea sottili scanalature sulla superficie del disco (0/1). • La lettura avviene mediante un raggio laser (di minore intensità) che colpisce la superficie, il raggio riflesso ha intensità maggiore o minore in relazione alla superficie colpita. • Il raggio viene letto da un dispositivo fotoelettrico che lo trasforma in un segnale elettrico. “Informatica ” Sistemi di elaborazione 49 DVD (Digital Video Disk) • La tecnologia utilizzata è del tutto simile a quella dei CD ROM è differente la tecnologia utilizzata e la capacità di archiviazione dei dati. • La capacità di un DVD è di 4,7 Gbyte che arriva a 9 Gbyte in quelli a doublelayer contro 700MByte dei CDRom • Attraverso differenti tecniche (dischi a doppio strato e doppia faccia) è possibile raggiungere capacità di 17 Gbyte. • Esistono DVD R/W riscrivibili. • La tecnologia Blueray (laser blue) permette di avere dischi ottici di capacità fino a 54 GByte “Informatica ” Sistemi di elaborazione 50