Ir para o conteúdo

Cache: bits de tag, índice e offset e tempo médio de acesso

Divide o endereço em tag, índice e offset a partir do tamanho da cache, do bloco e da associatividade, e calcula linhas, conjuntos, overhead de tags e o tempo médio de acesso à memória (AMAT).

  • Roda no seu navegador

Entrada

Precisa ser potência de 2. Digite em KiB (1 KiB = 1024 bytes).

Também potência de 2.

1 = mapeamento direto. Para totalmente associativa, use o número de linhas como vias.

Em ciclos ou ns. A AMAT sai na mesma unidade do hit time e da penalidade.

Resultado

O resultado aparece aqui.

Do endereço aos bits de tag, índice e offset

linhas = tamanho ÷ bloco; conjuntos = linhas ÷ vias; offset = log2(bloco); índice = log2(conjuntos); tag = endereço − índice − offset; AMAT = hit time + taxa de falhas × penalidade

Numa cache com mapeamento por conjuntos, o endereço se divide em três partes: o offset escolhe o byte dentro do bloco, o índice escolhe o conjunto e a tag identifica qual bloco da memória está ali. A AMAT combina o tempo de acerto com o custo das falhas.

Exemplo de cache de 32 KiB com 4 vias

Exemplo resolvido pela própria calculadora
CampoValor
Tamanho da cache (KiB)32
Tamanho do bloco (bytes)64
Associatividade (vias)4
Largura do endereço (bits)32
Linhas (blocos) da cache512
Conjuntos128
Bits de offset6
Bits de índice7
Bits de tag19
Overhead de tags e bit de validade (% do dado)3,91
Tempo médio de acesso, AMAT6

Cuidados com a cache e a AMAT

  • Tamanho do bloco, número de vias e tamanho da cache precisam ser potências de 2.
  • Mapeamento direto tem 1 via; uma cache totalmente associativa tem 1 conjunto e nenhum bit de índice.
  • O overhead conta a tag e um bit de validade por linha; bits de sujo ou de substituição não entram.
  • A taxa de falhas e a penalidade dependem do programa e da hierarquia de memória: use medidas do seu caso.

Nota: Cálculo de arquitetura de computadores com os valores digitados.

Perguntas frequentes

Quantos bits de tag, índice e offset tem uma cache de 32 KiB com 4 vias?

Com bloco de 64 bytes e endereço de 32 bits: 6 bits de offset, 7 de índice e 19 de tag.

Qual o tempo médio de acesso?

Com hit time 1, 5% de falhas e penalidade 100, a AMAT é 6.

Quanto a cache gasta com tags?

São 512 linhas e um overhead de 3,91% do tamanho dos dados.