Diferença entre cache e buffer LookAside de tradução [TLB]
-
21-09-2019 - |
Pergunta
Qual é a diferença entre cache e buffer LookAside de tradução [TLB]?
Solução
Do Wiki:
Na ciência da computação, um esconderijo (pronuncia-se /kæʃ/, kash) é uma coleção de dados que duplica valores originais armazenados em outro lugar ou computados anteriormente, onde os dados originais são caros para serem obtidos (devido ao tempo de acesso mais longo) ou para serem computados, em comparação com o custo de leitura do cache.Em outras palavras, um cache funciona como uma área de armazenamento temporário onde dados acessados com frequência podem ser armazenados para acesso rápido.Depois que os dados são armazenados no cache, eles podem ser usados no futuro acessando a cópia em cache, em vez de buscar novamente ou recalcular os dados originais.
enquanto
A Buffer lookaside de tradução(TLB) é um cache de CPU que o hardware de gerenciamento de memória usa para melhorar a velocidade de tradução de endereços virtuais.Foi o primeiro cache introduzido em processadores.Todos os processadores atuais de desktop e servidor (como x86) usam um TLB.Um TLB possui um número fixo de slots que contêm entradas da tabela de páginas, que mapeiam endereços virtuais para endereços físicos.Normalmente é uma memória endereçável por conteúdo (CAM), na qual a chave de pesquisa é o endereço virtual e o resultado da pesquisa é um endereço físico.
Dê uma olhada também esse.
Outras dicas
Cache
armazena o conteúdo real da memória.
TLB
Por outro lado, armazena apenas mapeando. TLB
acelera o processo de localização dos operandos na memória.
Cache
acelera o processo de leitura desses operando, copiando -os para uma memória física mais rápida.
O cache é para o buffer de acesso à memória - leituras e gravações reais na memória. O buffer TLA é para buffer mapeamentos de endereços virtuais no espaço de endereço do processo para endereços físicos na memória - as operações de serviço que acompanham os acessos de memória.
TLB é um tipo especial de cache associado à CPU. Quando usamos memória virtual, precisamos de TLB para uma tradução mais rápida de endereço virtual em endereço físico.O TLB armazena apenas page_no , offset, frame_no e alguns bits de controle.Enquanto o Cache serve para armazenar blocos de dados que são usados com frequência.Depois de obter o endereço físico do TLB/page_table procuramos esse endereço no cache, se não for encontrado lá, então procuramos a memória principal. (fig 8.10 william stalling 6e)