Uma cache de conjunto associativo contém ao todo 64 linhas divididas em conjuntos de 4 linhas. A memória principal contém 4 K blocos de 128 palavras cada. Mostre o formato dos endereços da memória principal e da cache. Determine o tamanho de s, de w.

Passo 1

Beleza, vamos lá! O enunciado fala sobre uma cache associativa de conjuntos. Isso significa que a cache é dividida em grupos (conjuntos) onde cada conjunto tem algumas linhas. Aqui, temos 64 linhas divididas em conjuntos de 4 linhas cada. Além disso, a memória principal tem 4K blocos, e cada bloco tem 128 palavras. Nosso objetivo é mostrar como os endereços são formatados na memória principal e na cache, além de descobrir o tamanho de e de .
Para resolver isso, vamos precisar entender alguns conceitos básicos de memória cache, como divisão de endereços em partes (tag, conjunto, palavra) e como calcular o número de bits para cada parte.

Passo 2

Primeiro, vamos entender o que significa ter 4K blocos na memória principal. “4K” significa 4096 blocos (já que K = 1024). Cada bloco tem 128 palavras.
Então, o número total de palavras na memória principal é:

Passo 3

Agora, vamos determinar quantos bits são necessários para endereçar essas palavras na memória principal. Para isso, usamos a fórmula dos bits necessários:
ú
Então, os endereços na memória principal têm 19 bits.

Passo 4

Agora, vamos dividir o endereço em partes: tag, conjunto e palavra.
Primeiro, a parte da palavra ( ) representa qual palavra dentro de um bloco está sendo acessada. Sabemos que cada bloco tem 128 palavras, então precisamos de:
Portanto, bits.

Passo 5

Em seguida, a parte do conjunto ( ) indica em qual conjunto da cache o bloco será armazenado. Sabemos que a cache tem 64 linhas divididas em conjuntos de 4 linhas cada. Então, o número de conjuntos é:
Para endereçar 16 conjuntos, precisamos de:
Logo, bits.

Passo 6

Finalmente, a parte da tag é o que sobra dos 19 bits totais após subtrair os bits de conjunto e palavra.

Formato dos Endereços

Endereço da Memória Principal:
Endereço da Cache:
Na cache, normalmente não precisamos armazenar a parte da palavra, pois ela já está no bloco. Então, o endereço na cache pode ser visto como:

Resposta

O endereço na memória principal é composto por 8 bits de tag, 4 bits para o conjunto e 7 bits para a palavra. Na cache, o endereço utiliza 8 bits de tag e 4 bits de conjunto. Portanto, bits e bits.

Exercícios relacionados

Seja a memória cache formada por quatro linhas, em que cada linha possui apenas uma única palavra. Se for realizada uma sequência de leituras pelos endereços ,
respectivamente, qual será o resultado final da memória cache e a taxa de acerto quando for utilizado:
b) mapeamento associativo com política de substituição LRU
Seja a memória cache formada por quatro linhas, em que cada linha possui apenas uma única palavra. Se for realizada uma sequência de leituras pelos endereços ,
respectivamente, qual será o resultado final da memória cache e a taxa de acerto quando for utilizado:
a) mapeamento direto
Considere uma máquina com uma memória principal endereçável por byte (ou seja, 1 célula palavra=1 byte) com bytes e um tamanho de bloco de 8 bytes. Suponha que essa máquina utilize uma cache de 32 linhas mapeadas diretamente. Responda as questões abaixo.
c) Quantos bytes de memória podem ser armazenados na cache, ou seja, qual a capacidade da cache?
Considere um computador com as seguintes características: memória principal de 1MByte, tamanho de palavra de 1 byte, tamanho de bloco de 16 bytes e cache de 64 KBytes.
a) Para o endereço de memória , mostre quais são os valores dos campos tag, linha e palavra, considerando uma cache de mapeamento direto.