Translation lookaside buffer (TLB)

Uma tradução lookaside buffer (TLB) é um cache de memória que armazena traduções recentes da memória virtual para endereços físicos para uma recuperação mais rápida.

Quando um endereço de memória virtual é referenciado por um programa, a busca começa na CPU. Primeiro, os caches de instruções são verificados. Se a memória necessária não estiver nestes caches muito rápidos, o sistema tem de procurar o endereço físico da memória. Neste ponto, a TLB é verificada para uma referência rápida à localização na memória física.

Quando um endereço é pesquisado na TLB e não encontrado, a memória física deve ser pesquisada com uma operação de rastreamento de página de memória. À medida que os endereços da memória virtual são traduzidos, os valores referenciados são adicionados à TLB. Quando um valor pode ser recuperado da TLB, a velocidade é aumentada porque o endereço da memória é armazenado na TLB no processador. A maioria dos processadores inclui TLBs para aumentar a velocidade das operações de memória virtual através da proximidade inerente à redução de latência, bem como as altas freqüências de execução da CPU atual.

TLBs também adicionam o suporte necessário para computadores multiusuário para manter a memória separada, tendo um usuário e um modo supervisor, bem como usando permissões nos bits de leitura e escrita para permitir o compartilhamento.

TLBs podem sofrer problemas de desempenho devido a multitarefas e erros de código. Esta degradação da performance é chamada de thrash de cache. O thrash do cache é causado por uma atividade contínua do computador que não progride devido ao uso excessivo de recursos ou conflitos no sistema de cache.