Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Page Fault
Indirizzo si disco
Il bit di validit permette di sapere se la pagina di cui abbiamo il
riferimento virtuale risiede nella memoria fisica o no.
In caso affermativo, la page table contiene lindirizzo fisico.
E in caso negativo? Generalmente, il sistema operativo quando
crea un processo crea anche
- lo spazio su disco per tutte le pagine di quel processo e
- la struttura per ricordare dove si trova su disco ogni pagina
virtuale.
Page table
Memoria fisica
1
0
1
1
1
1
0
1
0
Memoria su disco
Page Table
Esercizio.
Dirty bit = 1:
contenuto modificato!
Page offset
12 bit
Page offset
12 bit
val
20
Page Table
Tag
12 bit
Page offset
12 bit
Indice TLB
8 bit
Page offset
12 bit
TLB
Il numero totale di bit della TLB (7 22 ) 28 = 7K bit.
Indirizzo virtuale
32 bit
Tag
Indice TLB
Page offset
12 bit
28
TLB
Pagina
220
Memoria Fisica
215 pagine
Page table
Tag
Indice TLB
Page offset
TLB
Indice pagina fisica
Page offset
Tag
Indice cache
Indirizzo blocco
Offset di
blocco
Tag
Cache
Memoria Fisica
Esercizio - continua
Con riferimento all'esercizio precedente, si supponga di avere una
cache per i dati: associativa a 2 vie, composta da 2K insiemi con
blocchi di 16B.
(c) Come composta la cache?
Indirizzo fisico
27 bit
Page offset
12 bit
Tag
Indice cache
Offset
blocco
Tag
12 bit
Blocco 1
128 bit
211
insiemi
Tag
12 bit
Blocco 2
128 bit
Lindirizzo virtuale
non viene tradotto dalla TLB e viene quindi
inviato alla page table,
viene trovato nella page table
la pagina in memoria ma non stata referenziata
recentemente, quindi il suo indice non nella TLB
ed inviato alla TLB per la memorizzazione,
viene quindi tradotto dalla TLB ed
inviato alla cache dove
viene trovato e recuperato, e quindi rinviato alla CPU
Le tre C
Tutti i fallimenti (miss) che si verificano durante una ricerca nella
cache appartengono ad una delle tre seguenti categorie.
- Compulsory (fallimenti obbligati). Sono quelli che avvengono
la prima volta quando richiesto laccesso ad un blocco che
non mai stato nella cache.
- Capacity (fallimenti di capacit). Sono quelli che avvengono
quando la cache piena e il blocco cercato stato scaricato
per far posto ad uno usato pi di recente.
- Conflict (fallimenti di conflitto). Sono quelli che avvengono
quando, per la scelta del tipo di indirizzamento, due blocchi
distinti collidono sullo stesso blocco della cache.
Tabella P1
NO
1
Tabella P2