Informatica Generale Marzia Buscemi buscemi@di.unipi.it 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) dddd
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
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
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
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
Le memorie 5 Gerarchia di memorie - registri cache memoria centrale Dischi rigidi Nastri magnetici, CD ROM - + V O L A T I Velocità di accesso e costo per bit Persi- ste-nti
La memoria centrale
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
Struttura di una RAM elettronica Parola (word): gruppo minimo di bit indirizzabili 1 2 3 4 1 00003 Bus indirizzi ... Indirizzo p r o c e s Dato letto o da scrivere Bus controllo 1 memoria Bus dati
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.
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.
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ù)
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
Memoria cache Memoria piccola e molto veloce Processore Cache RAM
Memoria cache 2 Memoria piccola e molto veloce Processore Cache Copia dei dati usati di recente RAM Tutti i dati
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’è
Memoria cache 3 Località temporale Località spaziale 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
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à.
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 pre-memorizzare (pre-fetch) le istruzioni del prossimo ciclo
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
Le memorie di massa (o secondarie)
Memorie di massa Le memorie centrali: ... invece le memorie di massa: 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)
Memoria di massa 2 Esistono tre tipi di tecnologie possibili per la memorizzazione dei dati: Magnetica dischi magnetici (hard disk e floppy disk) nastri magnetici Ottica CD-ROM, DVD Flash in macchine fotografiche digitali e chiavi USB
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
Struttura di un disco rigido Dischi magnetici Testine (una per superfice) Cilindro Braccio (direzioni movimento) 1 Traccia Superfici Struttura di un disco rigido
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.
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
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
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
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)