Skip to main content

O que é um buffer de tradução Lookaside?

A unidade central de processamento (CPU) de um computador possui um sistema de cache chamado TLB (translation lookaside buffer), responsável por converter a memória física em memória virtual. Este é um sistema de cache separado, porque é mais rápido para a CPU procurar endereços de memória nesse cache do que colocá-lo no cache regular. Para armazenar endereços de memória, o TLB usa entradas da tabela de páginas, formando um mapa entre os endereços de memória virtual e físico. Quando o buffer de tradução ao lado é usado, pode haver um acerto ou um erro TLB, significando que a memória foi encontrada ou é desconhecida. Os computadores podem vir com vários níveis TLB diferentes para armazenar mais informações de endereço de memória.

Quando a memória física é transformada em memória virtual, a criação de um cache torna mais fácil para o computador encontrar o posicionamento real da memória. Esta informação pode ser colocada no cache principal da CPU, mas isso apresenta vários problemas. Para armazenar esses dados, vários níveis de acesso diferentes devem ser usados, retardando todo o processo. Um buffer de tradução ao lado examina esses níveis e ajuda a CPU a encontrar o ponto de memória correto para que os dados possam ser abertos.

O buffer de tradução lateral usa um sistema de tabela de páginas que categoriza as áreas de conversão de memória virtual. Quando a memória física se transforma em memória virtual, como quando um documento é armazenado ou um programa é usado, o TLB armazena essa conversão. O TLB não armazena as informações em si, mas onde a memória está localizada, tornando-a eficiente em memória.

Para encontrar um arquivo ou qualquer coisa na arquitetura da memória, a CPU pesquisa no computador. O primeiro passo da CPU é usar o buffer de tradução ao lado para verificar se a memória foi armazenada em cache; isso produz um acerto ou um acerto. Um hit TLB significa que a memória física é armazenada em cache e pode ser encontrada rapidamente. Uma falta de TLB significa que a memória física não é armazenada em cache e a CPU deve examinar todas as tabelas de páginas para encontrar a memória, um processo que é ineficiente em memória e leva tempo extra.

A maioria dos computadores vem com vários níveis de buffer de tradução. O nível mais baixo contém a menor quantidade de informações, mas também é o mais rápido. Quando há muita informação para o primeiro nível, ela se espalha para os níveis mais altos. Esses níveis não são tão rápidos, mas ainda são mais rápidos do que a CPU pesquisando em todas as tabelas de páginas o endereço de memória física.