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

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

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

Primeiro, defini os termos deste problema e usei a outra pergunta do Stack Overflow Direct Mapped Cache e minha outra pergunta sobreCachecomo referências (por favor, corrija-me se alguma das minhas definições estiver errada)

  • Palavras de 64 bits - o processador pode processar 64 bits por vez
  • Endereços de 64 bits com endereçamento em nível de byte - existem 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 mapeado diretamenteé onde um bloco de memória RAM é mapeado em uma linha de cache(não tenho certeza do significado disso

Agora trabalhandoCache mapeado diretocomo 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. Índice - Como existem 8.192 "linhas" de linhas de bytes, você precisa de pelo menos 10 bits para identificar cada linha

Agora aqui está a parte em que estou preso. O outropublicardisse "Todos os outros bits são bits TAG." enquanto esta palestrapublicardisse "Cada linha possui uma tag que indica o endereço em M 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 do TAG para indicar de qual local de memória na RAM vieram os dados do cache? Alguém pode esclarecer a confusão que tenho aqui?

informação relacionada