AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
2
La memoria-parametri di caratterizzazione
• velocità• di accesso, misurata in base al tempo impiegato dal
processore per accedere ad uno specificatoindirizzo
• di trasferimento, misurata in base alla quantità didati trasferita in una unità di tempo. È anchechiamata larghezza di banda, e si misura in bit/sec.oppure byte/sec.
Un dato dispositivo di memoria è caratterizzato da :
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
3
La memoria-parametri di caratterizzazione
• capienza, cioè la quantità di byte che puòcontenere
• costo, misurato in migliaia di lire per byte• modalità di accesso, cioè la possibilità di:
• reperire le informazioni memorizzate (accesso inlettura)
• modificare le informazioni memorizzate (accesso inscrittura)
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
4
La memoria-parametri di caratterizzazione
• volatilità, cioè la possibilità di mantenere ilproprio contenuto anche in mancanza dialimentazione elettrica:• Le memorie volatili perdono il contenuto in
assenza di alimentazione elettrica• Le memorie permenenti lo mantengono (non in
eterno, ma per un tempo che dipende dal tipo didispositivo: decenni o più).
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
5
La memoria-gerarchia
• Esiste una dipendenza inversa tra costo direalizzazione e velocità del dispositivo.
• Per questo motivo la memoria di uncomputer è distribuita su dispositivi hwdiversi, che nel loro insieme costituiscono ilsistema di memoria del computer, dettogerarchia di memorie.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
6
La memoria -gerarchia
• Ai livelli più alti della gerarchia di memorieci sono le memorie più veloci ma piùcostose.
• Ai livelli più bassi ci sono quelle piùeconomiche
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
7
La memoria- uso della gerarchia• Se voglio prepararmi un piatto di spaghetti guardo se ne ho
nella dispensa; se non ne trovo lì allora devo andare dalpanettiere sotto casa perdendo un po’ di tempo in più; senon ne trovo neanche lì devo andare al supermercato, doveperderò ancora più tempo.
Analogamente:• Quando il processore ha bisogno di un dato, prima guarda
se è presente nella memoria veloce cache; se non lo trova lìlo va cercare nella memoria centrale un po’ più lenta , senon c’è neanche lì, lo va a cercare sul disco fisso che hatempi di accesso e trasferimento superiori.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
8
La memoria -gerarchia
• I registri del processore (ciascuno di 32 bit )• La memoria cache (256 Kbyte)• La memoria centrale (128 Mbyte)• Il disco fisso (20 Gbyte)• I supporti a lettura ottica (CD-ROM)• I supporti magnetici (dischetti, zip)
I livelli di memoria presenti nella configurazionestandard di un PC di oggi sono:
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
9
Le memorie volatili• Le memorie volatili sono memorie elettroniche,
realizzate con la tecnologia dei circuiti integrati(VLSI, very large scale integration)
• Sono indicate con il termine RAM (RandomAccess Memory) perché l’accesso ad una cella dimemoria richiede un tempo indipendente dallaposizione in cui la cella risiede.
• La memoria centrale, la cache e i registri delprocessore sono memorie volatili
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
10
Le memorie volatili
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
11
Le memorie permanenti
Le memorie permanenti si dividono in dueclassi:
• Le memorie di sola lettura (ROM: read onlymemory), cioè dispositivi il cui contenuto,una volta immagazzinato, è inalterabile.
• Le memorie di lettura e scrittura, i cuicontenuti possono essere letti e anchecambiati nel tempo
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
12
Le memorie permanentiLe memorie su supporto magnetico (dischetti,dischi, nastri)
• Scrittura e lettura• Accesso sequenziale e lento• Basso costo
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
13
Le memorie permanenti
• Le memorie ottiche (CD-ROM, DVD)• Accesso sequenziale ma veloce• Di sola lettura (per il momento)• Basso costo
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
14
Le memorie permanenti
• Esiste anche una memoria non volatilerealizzata con tecnologia elettronica e disola lettura: è la ROM, che contieneinformazioni di vario tipo che servono perl’esecuzione di particolari funzioni, comel’avvio del computer o la diagnosi delfunzionamento delle periferiche.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
15
Memorie: confronti
Nota: ns=nanosecondi=10-9 sec.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
16
La memoria centrale
• Quando il computer è spento tutte leinformazioni risiedono sul disco fisso.
• Appena lo si accende tutte le informazioninecessarie al suo funzionamento vengonotrasferite dalla ROM e dal disco fisso allamemoria centrale.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
17
La memoria centrale• In particolare, il sistema operativo, che a computer
spento risiede sul disco fisso, viene copiato nellamemoria centrale, e lì ci rimarrà fino a quandoverrà spento il computer.
Programmiapplicativi e
datiMem
oria
Cen
trale
Zona riservata alsistema operativo
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
18
La memoria cache
• La memoria cache è utilizzata comepassaggio intermedio tra la memoriacentrale e il processore e contieneinformazioni che il sistema operativo divolta in volta ritiene più urgenti e utili.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
19
…
registroregistro
registro
processore
Mem
oria
cent
rale
cache
Discorigido
ROM
bus
Interfaccia alle periferiche
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
20
La memoria virtuale• Le dimensioni della memoria centrale sono
relativamente piccole, e spesso succede chei programmi applicativi o i file di datiabbiano dimensioni superiori allo spaziodisponibile nella RAM.
• Situazioni di questo tipo si verificanosoprattutto quando un utente richiede dilavorare con più di una applicazione“contemporaneamente”.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
21
La memoria virtuale
Applicazione 1
dati usati da Applicazione 1
Applicazione 2
Parte di mem
oria rimasta libera
come gestirequesta
situazione?
dati usati da Applicazione 2
Non c’è spazio !
Disco fissoSistemaoperativo
Memoriacentrale
Zona riservata alsistema operativo
Applicazione 3
File da caricare in memoria centrale
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
22
La memoria virtuale• In questi casi il sistema operativo dovrebbe
impedire l’apertura di nuovi programmi permancanza di memoria.
• Una soluzione meno drastica consiste nelpermettere al sistema operativo di utilizzare unazona del disco fisso come “espansione” dellamemoria centrale, e di usarla come depositotemporaneo di alcune informazioni contenute nellamemoria centrale.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
23
La memoria virtuale- swapping• La parte di disco fisso dedicata a questa
funzione di memoria virtuale è detta area diswap, e non è accessibile da parte dell’utente.
• Il sistema operativo sceglie quali parti dellamemoria centrale scaricare temporaneamentenell’area di swap e quali parti dell’area diswap riportare in memoria centrale
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
24
La memoria virtuale-swapping
dati usati da Applicazione 1
Trasferiti in area di swap
dati usati da Applicazione 2
Applicazione 3
Disco fissoSistemaoperativo
Memoriacentrale
Area di sw
ap
Zona riservata alsistema operativo
Applicazione 1
Applicazione 2
File da caricare in memoria centrale
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
25
La memoria virtuale- swapping
dati usati da Applicazione 1
dati usati da Applicazione 2
Disco fissoSistemaoperativo
Memoriacentrale
Zona riservata alsistema operativo
File caricato inmemoria centrale
Applicazione 3
Area di sw
ap
Applicazione 1
Applicazione 2
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
26
La memoria virtuale- paging
• I problemi non sono completamente risoltise si cerca spazio contiguo nella memoriacentrale.
• Ecco un caso tipico non risolto applicandosemplicemente lo swapping:
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
27
La memoria virtuale- paging
Applicazione 1
dati usati da Applicazione 1
Parte di mem
oria rimasta libera
Spaziosufficiente ce nesarebbe, ma non
contiguo
Disco fissoSistemaoperativo
Memoriacentrale
Zona riservata alsistema operativo
Applicazione 3
File da caricare in memoria centrale
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
28
La memoria virtuale- paging
• La soluzione consiste nel gestire i file apagine, permettendo il trasferimento dialcune pagine dalla e nella memoriacentrale al posto dei file interi.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
29
La memoria virtuale- paging
Applicazione 1
dati usati da Applicazione 1
Parte di mem
oria rimasta libera
Disco fissoSistemaoperativo
Zona riservata alsistema operativo
Applicazione 3- pag 1
File da caricare in memoria centrale
Applicazione 3- pag 2Applicazione 3- pag 3Applicazione 3- pag 4
Memoriacentrale
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
30
La memoria virtuale- paging
Applicazione 1
dati usati da Applicazione 1
Disco fissoSistemaoperativo
Zona riservata alsistema operativo
Applicazione 3- pag 1Applicazione 3- pag 2
Applicazione 3- pag 4
Applicazione 3- pag 3
Area di sw
ap
Pagine del filecaricate in pagine
di memoriacentrale
Memoriacentrale
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
31
La memoria virtuale• La combinazione di paginazione e swapping
permette un utilizzo ottimizzato della memoriacentrale.
• Il sistema operativo di volta in volta decide qualipagine scaricare dalla memoria centrale all’area diswap e quali portare dall’area di swap in memoriacentrale.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
32
La memoria virtuale
• L’utente può accorgersi di una page fault(cioè del fatto che la pagina richiesta non èpresente nella memoria centrale) durantel’utilizzo di una applicazione, perchépercepisce un ritardo tra un comandoinviato al computer e la risposta
• Ciò è dovuto al fatto che l’algoritmo digestione della memoria è abbastanzacomplesso.
AA 2001/2002© Morpurgo, Ornaghi, Zanaboni
Laboratorio di Informatica - Lezione 3 - parte ILa memoria - La rappresentazione delle informazioni
33
La memoria virtuale Infatti il sistema operativo deve:• scegliere quali pagine trasferire in base all’uso che
l’utente ne sta facendo• mantenere aggiornate le tabelle che tengono
traccia della corrispondenza tra indirizzi logici(cioè la sequenza di pagine di un dato file) eindirizzi fisici (cioè la loro posizione nellamemoria fisica)