Anteprima
Vedrai una selezione di 3 pagine su 8
La memoria virtuale - Architettura elaboratori Pag. 1 La memoria virtuale - Architettura elaboratori Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
La memoria virtuale - Architettura elaboratori Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

TRADUZIONE DEGLI INDIRIZZI PIÙ VELOCE: IL TLB

Dato che la tabella delle pagine deve essere salvata nella memoria principale, ogni accesso alla

memoria da parte di un programma richiede almeno il doppio del tempo.

Quando si utilizza la traduzione di un certo numero di pagina virtuale, è molto probabile che la stessa

traduzione sia richiesta poco dopo, dato che le parole contenute in memoria godono della proprietà

5

temporale e spaziale.

Quindi basandosi sulla stesso concetto che guidò all’idea dell’implementazione delle cache, molti

processori moderni fanno riferimento ad una cache che tiene traccia delle traduzioni utilizzate più

recentemente. Questa “memoria” prende il nome di TLB (Translation lookaside Buffer).

Come la cache, anche la TLB ha il campo TAG ed il campo per i dati; l’uno viene utilizzato per

contenere una parte del numero della pagina virtuale, mentre l’altro il numero della pagina fisica.

Poichè la TLB dovrebbe sostituire un accesso alla tabella delle pagine, deve imoplementare i tre bit:

validity bit, used bit (reference bit), dirty bit.

Quando viene richiesta una pagina, per prima cosa si cerca il numero della pagina virtuale. Se la

ricerca è andata a buon fine il numero di pagina fisica corrispondente viene usata per costruire

l’indirizzo ed il bit di utilizzo viene impostato ad 1. Se il processore sta eseguendo un’operazione di

scrittura anche il dirty bit viene impostato ad 1.

Se invece la ricerca genera una miss allora dobbiamo controllare se si tratta di un vero e proprio page

fault oppure di un semplice miss della TLB.

⚫ Miss. Se la pagina è presente nella memoria principale basta caricare dalla tabella

delle pagine nella TLB, la traduzione della pagina virtuale e ripetere l’accesso.

⚫ Page Fault. La pagina non è presente, viene lanciata un’eccezione, questa viene

catturata dal Sistema Operativo che prende il controllo della situazione.

Quindi generato un miss e presa la traduzione dalla tabella delle pagine, occorre individuare quale

delle pagine in memoria deve essere sostituita. I progettisti hanno scelto diversi approcci, basati sui

gradi di associatività, per risolvere questa situazione.

Molti sistemi utilizzano piccoli TLB completamente associativi, perchè una corrispondenza di questo

tipo consente; non solo una più bassa frequenza di miss, ma anche un tempo di mappatura non

troppo elevato essendo comunque il buffer di piccole dimensioni.

Altri sistemi utilizzano TLB di grandi dimensioni con un basso grado di associatività. Questa

caratteristica unita ad una mappatura completamente associativa genera una latenza molto grande

quando si va ad eseguire una iterazione eguagliando tutti i campi tag per trovare quello giusto.

Di conseguenza molti sistemi prevedono di sostituire un elemento scelto a caso.

UNIONE DI CACHE E TLB (FastMATH Intrinsity) 6

SCHEMA DI LETTURA E SCRITTURA IN TLB E CACHE

7

Dettagli
Publisher
A.A. 2017-2018
8 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ABsintio di informazioni apprese con la frequenza delle lezioni di Architettura degli elaboratori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Mei Alessandro.