Pergunta

Eu estou lendo o livro de dinossauros conceitos que diz: "Cada entrada no TLB consiste em duas partes: uma chave (ou tag) e um valor. Quando a memória associativa é apresentada com um item, o item é comparado com todoschaves simultaneamente. "

Eu verifiquei como funciona um TLB e o Cache de Dados? Mas não diz nada sobre a implementação que permite a verificação paralela das chaves.

Eu li algo sobre uma mesa de hash paralela aqui: http://www.cs.cmu.edu/afs/cs/academic/class/15210-s12/www/lectures/lecture27.pdf

Esta é a ideia básica?A inserção de uma chave produz um número de quadro e isso pode ser um sucesso ou falta?

Foi útil?

Solução

O hardware do computador é fundamentalmente paralelo.Até mesmo um moderno núcleo de CPU simples é pipelined, o que significa que, no mesmo instante no tempo, uma parte física da CPU está iniciando uma busca de uma instrução, outra é decodificando uma instrução buscada ligeiramente anterior, outra é calcular o novo resultado de um novo resultado de um novo resultadoinstrução descodificada anteriormente, e outra está escrevendo os resultados de uma instrução de cálculo ligeiramente anterior.

Uma das razões pelas quais um cache de camada 1 em uma CPU é tão pequeno e muito mais caro por um bit de armazenamento, é que a parte de cache de tag do endereço é transmitida para várias linhas de cache, e cada um deles tem algunsLógica de hardware independente para comparar este valor de tag contra seu próprio valor de tag em paralelo, cada um de forma independente, "essa marca corresponde ao que eu tenho" ou "não me combina".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top