L’unità di elaborazione centrale (CPU) di un computer ha un sistema di cache chiamato buffer di traduzione lookaside (TLB), che è responsabile della traduzione della memoria fisica in memoria virtuale. Questo è un sistema di cache separato, perché è più veloce per la CPU cercare indirizzi di memoria in questa cache piuttosto che inserirlo nella cache normale. Per memorizzare gli indirizzi di memoria, il TLB utilizza le voci della tabella delle pagine, formando una mappa tra gli indirizzi di memoria virtuale e fisica. Quando viene utilizzato il buffer lookaside di traduzione, può esserci un hit o miss TLB, il che significa che la memoria è stata trovata o è sconosciuta. I computer possono essere dotati di diversi livelli TLB per memorizzare più informazioni sull’indirizzo di memoria.
Quando la memoria fisica viene trasformata in memoria virtuale, la creazione di una cache consente al computer di trovare facilmente il posizionamento effettivo della memoria. Queste informazioni possono essere inserite nella cache della CPU principale, ma ciò presenta diversi problemi. Per memorizzare questi dati è necessario utilizzare diversi livelli di accesso, rallentando l’intero processo. Un buffer lookaside di traduzione esamina questi livelli e aiuta la CPU a trovare il punto di memoria corretto in modo che i dati possano essere aperti.
Il buffer lookaside di traduzione utilizza un sistema di tabelle di pagine che classifica le aree di traduzione della memoria virtuale. Quando la memoria fisica si trasforma in memoria virtuale, ad esempio quando viene archiviato un documento o viene utilizzato un programma, il TLB memorizza questa traduzione. Il TLB non memorizza le informazioni in sé ma dove si trova la memoria, rendendola efficiente in termini di memoria.
Per trovare un file, o qualsiasi cosa nell’architettura della memoria, la CPU cerca nel computer. Il primo passo della CPU consiste nell’utilizzare il buffer lookaside di traduzione per vedere se la memoria è stata memorizzata nella cache; questo produce un successo o un fallimento. Un hit TLB significa che la memoria fisica è memorizzata nella cache e può essere trovata rapidamente. Un errore TLB significa che la memoria fisica non è memorizzata nella cache e la CPU deve esaminare tutte le tabelle delle pagine per trovare la memoria, un processo che è inefficiente in termini di memoria e richiede più tempo.
La maggior parte dei computer viene fornita con diversi livelli di buffer di traduzione lookaside. Il livello più basso contiene la minor quantità di informazioni, ma è anche il più veloce. Quando ci sono troppe informazioni da contenere per il primo livello, si riversano nei livelli superiori. Questi livelli non sono così veloci ma sono comunque più veloci della CPU che cerca attraverso tutte le tabelle delle pagine l’indirizzo di memoria fisica.