Buffer Lookaside de Tradução (TLB) é uma memória pequena e de alta velocidade que armazena traduções usadas recentemente de endereços de memória virtual para endereços de memória física. Serve como cache entre a CPU e a memória principal, reduzindo o tempo necessário para traduzir endereços virtuais em endereços físicos.
A CPU primeiro verifica se o endereço virtual solicitado está presente no TLB. Se encontrar uma correspondência, não será necessário consultar a memória principal. Caso o TLB não possua a entrada necessária, a CPU segue para a memória principal para tradução de endereços. A entrada recém-traduzida é então adicionada ao TLB para acesso mais rápido no futuro.
Ao armazenar em cache as traduções acessadas recentemente, o TLB melhora significativamente o desempenho geral dos sistemas de memória virtual. Reduz o número de vezes que a CPU precisa acessar a memória principal mais lenta para traduções de endereços. Como resultado, minimiza a latência do sistema e permite uma execução mais rápida de programas.
TLB consiste no seguinte: -
Entradas TLB :Cada entrada no TLB consiste em um número de página virtual, um número de quadro de página físico e bits de status adicionais.
-
Tags TLB :os números de páginas virtuais nas entradas TLB são usados como tags para identificação rápida de endereços virtuais correspondentes.
-
Unidade de gerenciamento TLB :Esta unidade é responsável por gerenciar o TLB, incluindo adicionar novas entradas e lidar com falhas de cache quando o endereço solicitado não estiver presente.
A organização e o gerenciamento do TLB podem variar dependendo da implementação específica do hardware e do sistema operacional.
Ocorrência TLB: Quando a CPU encontra a tradução necessária no TLB, isso é conhecido como
hit TLB . Neste caso, o endereço físico fica imediatamente disponível e a CPU pode prosseguir com o acesso à memória sem esperar por uma leitura mais lenta da memória principal.
Senhorita TLB: Se o endereço solicitado não estiver presente no TLB, isso é chamado de
TLB miss . Nesta situação, a CPU consulta as tabelas de páginas ou outras estruturas de dados de gerenciamento de memória na memória principal para realizar a tradução de endereços. A entrada traduzida é então adicionada ao TLB para referência futura.
Ao manter dinamicamente as traduções usadas com mais frequência no TLB, ele minimiza efetivamente as falhas de TLB e melhora o desempenho dos sistemas de memória virtual.