Architetture dei processori/Memory Management Unit: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Hellisp (discussione | contributi)
m ha spostato Wikiversità:Facoltà di Informatica/Architetture dei processori/Memory Management Unit a Architetture dei processori/Memory Management Unit
Hellisp (discussione | contributi)
Nessun oggetto della modifica
Riga 3:
Le MMU moderne generalmente suddividono lo spazio degli indirizzi virtuali (l'intervallo di indirizzi accessibili dal processore) in pagine di memoria dimensione 2<sup>N</sup>, tipicamente pochi kilobytes. Gli N bit meno significativi dell'indirizzo (l‘''offset'' all'interno della pagina) rimangono invariati, mentre i bit restanti rappresentano il numero virtuale della pagina. La MMU contiene una tabella delle pagine indicizzata (possibilmente associativamente) dal numero della pagina. Ogni elemento di questa tabella (detto PTE o ''Page Table Entry'') restituisce il numero fisico della pagina corrispondente a quello virtuale, che, combinato con l'''offset'' della pagina, forma l'idirizzo fisico completo.
 
Un PTE può includere anche informazioni su quando la pagina è stata usata per l'ultima volta (per l'algoritmo di sostituzione LRU), quale tipo di processi (utente o supervisore) puo leggerla e scriverla, e se dovrebbe essere inserita nella [[Architetture_dei_processori/Cache|cache]].
 
È possibile che non esista memoria fisica (RAM) allocata a una data pagina virtuale. In questo caso, la MMU segnala una condizione di «pagina di memoria mancante» (''page fault'') alla CPU. Il sistema operativo interviene per gestire questa condizione, cerca di trovare una pagina libera nella RAM e di creare una nuova PTE nella quale mappare l'indirizzo virtuale richiesto nell'indirizzo fisico della pagina trovata. Quando non c'è spazio disponibile nella RAM per una nuova pagina di memoria, può essere necessario scegliere una pagina esistente utilizzando un algoritmo di sostituzione, farne una copia su disco rigido e rimpiazzarla con quella nuova. Analogamente, quando non ci sono PTE inutilizzate a disposizione, il sistema operativo deve liberarne una.