Che cos'è un buffer di traduzione Lookaside?
L'unità di elaborazione centrale (CPU) di un computer ha un sistema di cache chiamato traduttore lookaside buffer (TLB), che è responsabile della traduzione della memoria fisica in memoria virtuale. Questo è un sistema di cache separato, perché è più veloce per la CPU cercare nella cache gli indirizzi di memoria piuttosto che posizionarla nella cache normale. Per memorizzare gli indirizzi di memoria, TLB utilizza le voci della tabella delle pagine, formando una mappa tra gli indirizzi di memoria fisica e virtuale. Quando viene utilizzato il buffer di lookaside di traduzione, può esserci un hit TLB o miss, il che significa che la memoria è stata trovata o è sconosciuta. I computer possono venire con diversi livelli TLB diversi per memorizzare più informazioni sull'indirizzo di memoria.
Quando la memoria fisica viene trasformata in memoria virtuale, la creazione di una cache semplifica il posizionamento effettivo della memoria da parte del computer. Queste informazioni possono essere inserite nella cache principale della CPU, ma ciò presenta diversi problemi. Per archiviare questi dati, è necessario utilizzare diversi livelli di accesso, rallentando l'intero processo. Un buffer di lookaside di traduzione si guarda intorno a questi livelli e aiuta la CPU a trovare lo spazio di memoria corretto in modo che i dati possano essere aperti.
Il buffer di 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, TLB memorizza questa traduzione. Il TLB non memorizza le informazioni stesse ma la posizione della memoria, rendendola efficiente.
Per trovare un file o qualsiasi altra cosa nell'architettura della memoria, la CPU cerca nel computer. Il primo passo della CPU sta usando il buffer lookaside di traduzione per vedere se la memoria è stata memorizzata nella cache; questo produce un colpo o un colpo. Un hit TLB significa che la memoria fisica viene memorizzata nella cache e può essere trovata rapidamente. Un mancato TLB significa che la memoria fisica non viene memorizzata nella cache e la CPU deve cercare in tutte le tabelle delle pagine per trovare la memoria, un processo che è inefficiente nella memoria e richiede tempo extra.
La maggior parte dei computer viene fornita con diversi livelli di buffer di lookaside di traduzione. Il livello più basso contiene la minor quantità di informazioni, ma è anche il più veloce. Quando ci sono troppe informazioni per il primo livello, queste si riversano nei livelli più alti. Questi livelli non sono così veloci ma sono ancora più veloci della ricerca della CPU in tutte le tabelle di pagine per l'indirizzo di memoria fisica.