a.a. 2006-'07 Cos’è l’informatica? (parte2) Laboratorio di Informatica - Sez.A Lez. T2 (teoria) L.A. Ripamonti Scopo della lezione Proseguire la descrizione dei componenti hardware del calcolatore e il suo funzionamento secondo il modello di macchina di Von Neumann a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 2 1 a.a. 2006-'07 Motori per l’esecuzione di istruzioni I computer possono: eseguire deterministicamente istruzioni per elaborare informazioni I computer: non hanno immaginazione né creatività non hanno intuito non possiedono senso dell’humor, ironia, decoro, proporzione e non capiscono le sottigliezze non sono crudeli né vendicativi non hanno alcuna forma di libero arbitrio … a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 3 Il ciclo macchina Un ciclo in cinque passi: 1.Fetch istruzione 2.Decodifica istruzione 3.Fetch Dati 4.Esecuzione Istruzione 5.Restituzione Risultato Per capire il ciclo macchina è necessario comprendere l’organizzazione interna dell’elaboratore 4 2 a.a. 2006-'07 Macchina di Von Neumann È la struttura base di qualsiasi calcolatore elettronico CPU MEMORIA CENTRALE Interfaccia I/O BUS DI SISTEMA a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 5 Memoria centrale a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 6 3 a.a. 2006-'07 Memoria centrale È la memoria di lavoro (la RAM): contiene informazioni necessarie (istruzioni, dati) per far svolgere un programma alla CPU L’unità di informazione minima è il bit (binary digit): può essere considerato come una casella in cui è possibile scrivere il simbolo 0 oppure il simbolo 1 (e solo quelli) La capacità della memoria si misura nel numero di byte che contiene complessivamente: 256 MB memorizzano 268 435 456 caratteri (circa l’equivalente di otto enciclopedie da dieci volumi) a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 7 Memoria centrale Nella memoria centrale sono caricati il sistema operativo, i programmi e i dati (che se non usati risiedono sull’HD): il sistema operativo viene copiato in una zona ad esso riservata della memoria centrale all’avvio del computer (e lì rimane fino a quando verrà spento il computer) dati e programmi sono caricati di volta in volta nello spazio restante e scaricati sul disco quando non sono più in uso a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 8 4 a.a. 2006-'07 Memoria: i bit e la codifica delle informazioni Con 1 solo bit si possono rappresentare due elementi diversi: si assegna al primo elemento la codifica 0 e al secondo la codifica 1 Con 2 bit si possono rappresentare 4 elementi diversi: 00, 01, 10, 11 Con n bit si possono rappresentare 2n elementi diversi a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 9 Memoria: il byte Una sequenza di 8 bit è detta byte, ed è diventata un’unità di misura della disponibilità di memoria spesso è anche la minima unità di memoria trasferibile tra la memoria e la CPU Permette di rappresentare i caratteri stampabili (le lettere dell’alfabeto, le cifre, i simboli della punteggiatura, …) usando una sequenza di 7+1 bit: un bit di controllo e 7 per la codifica a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 10 5 a.a. 2006-'07 Memoria - word Una word (o parola) è un insieme di bit accessibili simultaneamente dalla CPU Una CPU viene spesso identificata attraverso la lunghezza della parola che contiene gli indirizzi di memoria che la CPU è in grado di usare (microprocessore a 16, 32, 64 bit) La dimensione comune di una word è 32 bit a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 11 Memoria: bit, byte e word a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 12 6 a.a. 2006-'07 Prefissi a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 13 Celle di memoria a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 14 7 a.a. 2006-'07 Celle di memoria Ogni cella di memoria contiene un byte ed è contraddistinta da un indirizzo: l’unità minima indirizzabile può anche essere la word Volendo scrivere o leggere un dato nella/dalla memoria il processore deve sempre specificare l’indirizzo della cella alla quale vuole accedere a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 15 Memoria: proprietà Velocità di accesso (t impiegato dal processore per accedere ad un indirizzo) di trasferimento (quantità di dati trasferita in una unità di t), anche chiamata ampiezza di banda, si misura in bit/sec Capienza (quantità di byte che può contenere) Costo (misurato in euro per byte) Modalità di accesso in lettura (la possibilità di reperire le informazioni memorizzate) in scrittura (la possibilità di modificare le informazioni memorizzate) le memorie volatili perdono il contenuto in assenza di alimentazione elettrica le memorie permenenti lo mantengono (per un tempo che dipende dal tipo di dispositivo: decenni o più) Volatilità (la possibilità di mantenere/perdere il proprio contenuto anche in assenza di alimentazione elettrica): a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 16 8 a.a. 2006-'07 La memoria volatile Perde il suo contenuto se non viene alimentata elettricamente genericamente indicata con il termine RAM (Random Access Memory) perché il tempo di accesso ad una cella di memoria non dipende dalla sua posizione fisica, ma è lo stesso per tutte le celle La memoria centrale, le cache e i registri del processore sono memorie volatili a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 17 La memoria permanente Memorie di sola lettura, ROM, Read Only Memory il contenuto, una volta immagazzinato, è inalterabile Memorie di lettura e scrittura i contenuti possono essere letti e anche cambiati nel tempo (FlashROM) Tipicamente contiene informazioni utilizzate per eseguire particolari funzioni, come l’avvio del computer (BIOS) Ha bassi consumi energetici adatta per PDA, riproduttori MP3 a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 18 9 a.a. 2006-'07 Gerarchie di memoria costo e velocità di una memoria sono proporzionali, quindi la memoria di un computer è distribuita su dispositivi HW diversi, organizzati in una gerarchia di memorie: ai livelli più alti della gerarchia di memorie ci sono le memorie più veloci, più piccole, più costose registri e cache ai livelli più bassi ci sono quelle più lente, più capienti, più economiche: CD, DVD, dat, zip a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 19 Gerarchie di memoria Registri Cache I livello Cache II livello Memoria centrale Hard disk Supporti magnetici e ottici a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 20 10 a.a. 2006-'07 Gerarchie di memoria a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 21 Gerachie di mem. - registri Al vertice della gerarchia ci sono i registri della CPU: ognuno di essi può contenere una parola capacità inferiore a 1 KB sono molto veloci ma anche molto costosi a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 22 11 a.a. 2006-'07 Gerachie di mem. - cache Al secondo livello è la cache, una memoria RAM più veloce di quella centrale: “magazzino” a metà strada tra la memoria centrale e il processore Contiene informazioni che il sistema operativo di volta in volta ritiene più urgenti e utili (dati/programmi a cui si accede spesso) La cache di I livello (L1) è integrata nel processore, quella di II livello (L2) risiede su un chip a parte a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 23 Gerachie di mem. – mem. centrale La memoria centrale è il livello sotto le cache Vi vengono caricati i dati e i programmi per essere eseguiti: quando il computer è spento tutte le informazioni risiedono sul disco fisso e sulle ROM quando lo si accende, per primo viene caricato il sistema operativo insieme alle informazioni necessarie al suo funzionamento, poi i programmi che l’utente esegue e i relativi dati E` condivisa tra tutti i programmi in esecuzione simultaneamente a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 24 12 a.a. 2006-'07 Gerachie di mem. – altri supporti Supporti ottici: CD-ROM, DVD Bassa velocità di accesso Write once, read many Basso costo Portabilità Alti consumi energetici Supporti magnetici: Hard disk, floppy, zip Scrittura e lettura Bassa velocità di accesso Basso costo (in alcuni casi) portabilità Alti consumi energetici a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 25 Laboratorio di Informatica Sez.A - Lez.1 26 Hard disk a.a. 2006-'07 13 a.a. 2006-'07 Il bus di sistema a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 27 Bus di sistema È il canale fisico di collegamento e comunicazione tra le diverse unità funzionali del calcolatore: Consente alla CPU di gestire il flusso di informazioni nel computer e le interazioni I/O E`composto da un insieme di fili In ogni istante, su ogni filo, passa un bit (se il bus è formato da n fili, può trasferire n bit contemporaneamente ), e quindi l’ampiezza del bus influenza la velocità del computer a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 28 14 a.a. 2006-'07 Bus di sistema Periferiche diverse possono usare tipi di bus diversi, a seconda della velocità di trasmissione dati richiesta La memoria centrale ha bisogno di un canale molto più veloce rispetto alle periferiche Oltre al bus di sistema, i PC di oggi sono forniti anche di un insieme di bus locali che collegano le periferiche alla CPU a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 29 Il bus di sistema In un dato istante, sul bus può passare: un dato in trasferimento tra CPU e memoria o tra CPU e una periferica un indirizzo che identifica una posizione nella memoria alla quale la CPU deve leggere o scrivere un segnale di controllo, come la selezione dell’unità coinvolta nel trasferimento dati (sorgente e destinatario) o la definizione della direzione dello scambio (lettura o scrittura) a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 30 15 a.a. 2006-'07 Il processore a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 31 CPU – Central Processing Unit È l’elemento attivo del sistema, sistema in grado di acquisire, interpretare ed eseguire le istruzioni di qualsiasi programma si voglia portare a termine I circuiti logici che compongono una CPU sono costituiti da milioni di transistor (microscopici interruttori acceso/spento) collegati tra loro da sottilissimi fili: I circuiti vengono “stampati” su una sottile lamina di silicio Il chip che corrisponde a una CPU ha una superficie dell’ordine di una decina di mm2 a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 32 16 a.a. 2006-'07 Struttura della CPU RI SP (stack pointer) PC UC (unità di controllo) Registri di lavoro (program counter) ALU (unità aritmetico logica) RIST (registro istruzioni) RI (registro indirizzi) RD (registro dati) Bus dati Bus indirizzi Bus di controllo a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 33 Unità di misura Lo spazio (di memoria) si misura in Bit [b] unita` fondamentale di memorizzazione (vale 0 o 1) Byte [B] insieme di 8 bit Il tempo si misura in secondi [s] La frequenza (del clock) si misura in 1/s, cioè Hertz [Hz] L’ampiezza di banda (di trasmissione) si misura in bits/s [b/s] a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 34 17 a.a. 2006-'07 Si ringrazia il gruppo di lavoro: Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni a.a. 2006-'07 Laboratorio di Informatica Sez.A - Lez.1 35 18