Quantos bits existem no campo de endereço para um cache mapeado diretamente?

0

Aqui está o problema em que estou trabalhando:
O problema: "Uma estação de trabalho de alta velocidade tem palavras de 64 bits e endereços de 64 bits com resolução de endereço no nível de byte. Assumindo um mapeamento direto cache com 8192 64 linhas de bytes, quantos bits existem em cada um dos seguintes campos de endereço para o cache? 1) byte 2) Index 3) Tag? "

Primeiro, eu defini os termos deste problema e usei a outra pergunta Cache direto mapeado do Stack Overflow e minha outra pergunta em Armazenamento em cache como referência (Por favor, corrija-me se alguma das minhas definições estiver errada)

  • palavras de 64 bits - o processador pode processar 64 bits de cada vez
  •      
  • Endereços de 64 bits Endereçamento de nível de bytes - há 2 ^ 64 locais de memória na RAM e cada local de memória armazena um byte.      
  • Cache é de alta velocidade e é particionado em linhas de cache
  •      
  • Cache diretamente mapeado é onde um bloco de memória RAM é mapeado em uma linha de cache (não certeza do significado desta

Agora trabalhando Cache mapeado direto como referência |

  1. Byte - Como uma linha de bytes é composta de 64 bytes, você precisa de 6 bits para identificar um único byte dentro dessa linha de bytes
  2.       
  3. Index- Como existem 8192 "linhas" de linhas de bytes, você precisa de pelo menos 10 bits para identificar cada linha

Agora aqui está a parte de onde estou preso. O outro post disse "Todos os outros bits são TAG bits". enquanto esta palestra post disse "Cada linha tem uma tag que indica o endereço em M a partir do qual a linha foi copiada ". Eu estou supondo que M significa a RAM.

Então, aqui, todos os outros bits seriam 64 - 6 - 10 = 48 bits. Mas você não precisaria de todos os 64 bits da TAG para indicar de que localização de memória na RAM os dados no cache vieram? Alguém pode esclarecer a confusão que tenho aqui?

    
por committedandroider 31.05.2015 / 18:47

0 respostas