quarta-feira, 8 de julho de 2009

Como funciona a TLB

A TLB, também conhecida como Translation Lookaside Buffer é um pequeno dispositivo de hardware utilizado para realizar o mapeamento de endereços virtuais em endereços físicos sem necessitar de acesso à tabela de páginas. Normalmente, a TLB reside dentro da MMU e possui uma quantidade pequena de entradas. Cada entrada da TLB contém informações a respeito de uma página, incluindo o número virtual da página, um bit indicando se a página foi modificada ou não, o código de proteção da página e a localização real da página na memória como ilustrado na figura abaixo:

Quando um programa manda um endereço virtual à MMU, o hardware compara este endereço com todas as entradas da tabela TLB simultaneamente e se encontra um match, esta página é carregada diretamente da TLB, sem passar à tabela de página.
Desse modo, concluímos que a principal função da TLB é acelerar o acesso à memória, melhorando a performance do sistema. A melhora na performance do programa é resultado da observação que a maioria dos programas tende a utilizar uma grande quantidade de referências à uma pequena quantidade de páginas.
Quando a busca na TLB não retorna um match, então realizamos a busca pela página na tabela de páginas. Além disso, atualizamos a TLB de modo que esta nova página pertença à TLB. Para isto, devemos remover uma das páginas pertencentes à TLB.

Nenhum comentário:

Postar um comentário