Informatica Generale Marzia Buscemi [email protected] Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta elettronica Pagina web del corso: http://www.di.unipi.it/~buscemi/IG07.htm (sommario delle lezioni in fondo alla pagina) 1 Le memorie Cosa vorremmo : una memoria veloce abbastanza grande da contenere tutti i dati e i programmi che servono persistente (o non volatile) cioè capace di mantenere il suo contenuto anche in assenza di alimentazione elettrica di basso costo 2 Le memorie 2 Cosa può fare la tecnologia ? Memorie relativamente piccole e veloci, volatili, a costo medio alto RAM : lettura e scrittura nell’ordine delle decine di nanosecondi per parola Memorie grandi, molto capienti (decine di GB), persistenti e lente Dischi rigidi : lettura e scrittura nell’ordine di alcuni millisecondi per blocco (qualche KB) Nastri magnetici, CD ROM 3 Le memorie 3 I computer quindi hanno supporti di memorizzazione di più tipi : una memoria centrale, tipo RAM (random access memory): contiene i programmi durante la loro esecuzione ed i dati relativi altrimenti il processore sarebbe per la maggior parte del tempo fermo in attesa di dati da/per la memoria una o più memorie di massa (dischi etc.) : che mantengono in modo persistente tutti i dati ed i programmi in attesa di essere eseguiti 4 Le memorie 4 I computer quindi hanno supporti di memorizzazione di più tipi : dei buffer : memorie “temporanee” utilizzate nei trasferimenti tra dispositivi con velocità diverse (es. si trovano nelle stampanti) una memoria cache : contiene istruzioni e dati prima che siano utilizzati dal processore 5 Le memorie 5 Gerarchia di memorie V O L A T I L I Per sistenti + registri cache Velocità di accesso e costo per bit memoria centrale Dischi rigidi Nastri magnetici, CD ROM - 6 La memoria centrale 7 Struttura di un calcolatore (ancora!) RAM (memoria centrale) Processore bus Linee dati, indirizzi e controllo Interfaccia di I/O Interfaccia di I/O Interfaccia di I/O Interfaccia di I/O schermo dischi mouse modem 8 Struttura di una RAM elettronica Bus indirizzi p r o c e s s o r e 00003 0 1 2 1 0 1 1 0 0 3 4 ... Parola (word): gruppo minimo di bit indirizzabili Indirizzo Dato letto o da scrivere Bus controllo 1 0 1 1 0 0 Bus dati memoria 9 Struttura di una RAM elettronica 2 Caratteristiche: accesso ai dati in modo diretto e in tempi veloci volatilità (perdita di informazione in assenza di alimentazione elettrica) Componenti basilari: celle o locazioni di memoria, ciascuna delle quali ha un indirizzo. Il numero di byte indirizzabili è detto spazio di indirizzamento. 10 Struttura di una RAM elettronica 3 Una parola (word) costitutita da 2,4,8 byte è la più piccola informazione che può essere reperita Il tempo di accesso è il tempo necessario per leggere un dato La capacità di una RAM con m parole di n bit è n*m. 11 Struttura di una RAM elettronica 4 La dimensione massima della RAM è data dalla dimensione della parte indirizzi del bus al solito con N bit posso indirizzare da 0 a 2N-1 locazioni Velocità, ordine decine di nanosecondi ancora troppo lenta per i processori attuali (1 op elementare al nanosecondo o più) 12 Struttura di una RAM elettronica 5 E allora ? Si usano memorie velocissime e molto piccole realizzate con tecnologia speciale Si usa il principio dello scaffale e della scrivania ovvero tengo impilati sulla scrivania i testi che sto consultando per la mia attività corrente se prendo un nuovo testo dallo scaffale generalmente poi lo poso per un po’ sulla scrivania in attesa che mi serva di nuovo 13 Memoria cache Memoria piccola e molto veloce Processore Cache RAM 14 Memoria cache 2 Memoria piccola e molto veloce Processore Cache Copia dei dati usati di recente RAM Tutti i dati 15 Memoria cache 2 Algoritmo seguito: Il dato viene cercato prima nella cache Se è presente abbiamo finito (cache hit) Se non è presente (cache miss) si legge in RAM e si mette una copia nella cache Alcune locazioni successive vengono copiate in memoria cache (schema look-ahead) Per le scritture generalmente si scrive la RAM e si aggiorna la copia se c’è 16 Memoria cache 3 Località temporale se un programma accede ad una parola al tempo t è molto probabile che alla stessa parola sia acceda di nuovo a breve Località spaziale se il programma accede all’indirizzo K è molto probabile che anche agli indirizzi vicini sia debba accedere a breve 17 Memoria cache 4 E se devo inserire un nuovo dato e non c’è più posto nella memoria cache? Questo accade perché le memorie cache sono molto più piccole delle RAM La soluzione è sovrascrivere una posizione già in uso Ci sono diverse strategie : di solito si sovrascrive la posizione con dati utilizzati meno di recente (strategia LRU Least Recently Used) applicando il principio di località. 18 Memoria cache 5 La cache permette migliori prestazioni es.: in caso di istruzioni sequenziali o cicli che si ripetono molte volte, queste istruzioni sono caricate in memoria cache e si risparmia l’uso dei bus. La (dynamic) branch prediction eseguita dal processore consiste nel prememorizzare (pre-fetch) le istruzioni del prossimo ciclo 19 Memoria cache 6 Due tipi di cache: di primo livello (o interne): all’interno del processore, garantiscono un flusso continuo verso il processore di secondo livello (o esterne): all’esterno del processore, usate per superare la lentezza della memoria centrale Nei sistemi multiprocessore, l’uso della cache può creare problemi di coerenza tra i dati in memoria centrale e in cache 20 Le memorie di massa (o secondarie) 21 Memorie di massa Le memorie centrali: permettono l’accesso diretto ai dati sono costose richiedono alimentazione elettrica costante ... invece le memorie di massa: sono meno costose possono mantenere informazioni anche in assenza di alimentazione danno un accesso più lento ai dati e il tempo di accesso è variabile in base alla posizione fisica del dato (natura meccanica delle memorie di massa) 22 Memoria di massa 2 Esistono tre tipi di tecnologie possibili per la memorizzazione dei dati: Magnetica Ottica dischi magnetici (hard disk e floppy disk) nastri magnetici CD-ROM, DVD Flash in macchine fotografiche digitali e chiavi USB 23 Memoria magnetica Sfrutta il fenomeno della polarizzazione: sul supporto ci sono delle particelle magnetiche i due diversi tipi di magnetizzazione corrispondono alle unità elementari di informazione (0 e 1) la testina di lettura/scrittura cambia la polarizzazione 24 Dischi magnetici Testine (una per superfice) Cilindro Braccio (direzioni movimento) 1 Traccia Superfici 0 Struttura di un disco rigido 25 Dischi magnetici 2 settore ciascuna superficie è suddivisa in “fette”, dette settori, separate tra loro da zone non usate traccia Ogni superficie è divisa in tracce concentriche (una per ogni possibile posizione della testina) La formattazione è l’operazione che suddivide il disco in tracce e settori. 26 Dischi magnetici 3 L’informazione registrata sul disco è identificabile attraverso: il numero di cilindro il numero di traccia in tale cilindro il numero di settore di tale traccia Le operazioni di lettura/scrittura vengono effettuate per interi settori, cioè lungo tutto l’arco di una traccia compresa in uno o più settori 27 Struttura di un settore di una traccia preambolo dati dati ECC Codici correttori di errore : dati in più per accorgersi se la lettura è andata bene Permette alla testina di capire che sta iniziando un nuovo settore, fornisce il numero del settore etc 28 Prestazioni dei dischi magnetici Parametri per valutare le prestazioni: tempo di posizionamento (della testina su una certa traccia) tempo di latenza (tempo necessario affinché il settore giunga in corrispondenza della testina) tempo di trasmissione (del blocco) tempo di accesso: tempo di posizionamento + tempo di latenza data transfer rate: velocità del flusso dei dati in lettura/scrittura (misurato in kbit/s o Mbit/s) tra disco e processore 29 Tipi di dischi magnetici Hard Disk E’ un disco magnetico sempre presente in un calcolatore I piatti dell’HD sono racchiusi in contenitori sigillati Le testine di lettura/scrittura “volano” molto vicino alla superficie del disco Floppy Disk Un unico disco circondato da un involucro di plastica (diametro: 3,5 pollici, 80 tracce, 18 settori) È stato rimpiazzato da altre tecnologie perché ha poca capacità (in genere 1,44MB) 30