Você está na página 1de 4

1.

Configure o simulador de cache associativa N-Vias de forma que todas as seguintes


condições sejam atendidas :
a) Cache size: 32 bytes
b) Memory size: 2048 bytes
c) Offset bit: 1 bit
d) Replacement: FIFO
e) Write Back
f) Write On allocate

2. Até agora trabalhamos majoritariamente com instruções de leitura. Realize as


instruções indicadas abaixo nos endereços apresentados.
a) Realize simulações com a política de escrita Write On Allocate e em seguida
com Write around. Quais os valores encontrados para os missrates ? Qual das
duas políticas apresentou os melhores resultados? Porque?

Write On Allocate = Miss Rate : 72%

Write Around = Miss Rate : 82%

A primeira, porque no segundo caso ele só grava no cache table leituras, os


dados ele salva diretamente no memory block, desta forma fica mais dificil de
encontrar gravado uma operação que diminua o miss rate, então o write on
allocate os endereços são carregados na memória e alocados mesmo quando
ocorre uma falha desta forma foi mais fácil encontrar um endereço que a miss
hit diminua.

b) Explique em que situações a política Write around seria mais adequada? E a


política Write On Allocate?

Ela é mais adequada em situações que existem mais instruções de store que
vai suprir a falta de gravar no cache que essa função não tem e na Write On
Allocate quando existe mais instrução de load.
3. Utilize os seguintes endereços com a instrução Load para responder às perguntas
abaixo:
a) Realize a instrução load nos endereços acima para o offset bit configurado
com os valores 1, 2 e 3. Nessas configurações, quais foram os miss rates
encontrados para cada situação? Observou-se uma tendência? Como é possível
explicar esta tendência?

Miss Rate

72%

79%

85%

Sim, quanto menos linha por tabelas maior o miss hit isso acontece porque
conforme vão sendo alocados endereços dentro dos index que eles pertencem,
e existe menos espaços com grandes que abrangem maiores quantidades de
endereços é mais fácil perde-las antes que ocorra um hit.

b) Como estes resultados se comparam com os resultados obtidos para a cache


totalmente associativa? Houve melhora no miss rates? Explique porque

No primeiro caso houve melhora no miss rate de 67% nos outros dois
permaneceu igual, acredito que houve essa melhoria por conta da organização
das palavras na memória tipo 4-way ele verifica em 4 lugares ao mesmo
tempo e em várias situações como por exemplo o 7c8 na 4-way sempre é
coberto por 691 ou qualquer outro número que cobre seu endereço enquanto
na memória totalmente associativa ele possui um endereço que é mais difícil
de alocar, com isso ele perde muito hit.

c) Realize a simulação acima utilizando o simulador cache associativa 2-Way,


como os resultados se comparam?
Miss Rate

4-way 2way

72% 72%

79% 77%

85% 90%

PARTE 2

1. Configure o simulador de memória virtual de forma que todas as seguintes condições


sejam atendidas:
a) Tamanho da memória física: 128 bytes
b) Offset bits: 2 bits
c) Tamanho da memória virtual: 2048 bytes
d) Número de endereços no TLB: 1 endereço

2. Utilize os seguintes endereços com a instrução Load para responder às perguntas
abaixo:
a) Realize a instrução load nos endereços acima.

b) Dados os hits na memória física e na cache TLB. Calcule o access time para
realizar todas as leituras acima.
AMAT = TLB +Tmm +MRmm *TVM

AMAT = TLB + 1 + 0.62 * 10000000 =

TLB = 1 + MRtlb (1+ Ttlb)

TLB = 1 + 1 (1+100) = 102

AMAT = 6200103

c) Altere o tamanho do TLB para os valores 8, 16 e 32. Como o access time foi
afetado para cada uma destas situações? Qual o impacto da utilização do TLB?

VAL 08

TLB = 1 + 0.7948 (1+100) = 81.2748

AMAT = 81.2748 + 1 + 0.62 *10000000 = 6200082.275

VAL 16

TLB = 1 + 0.6666 (1+100) = 68.3266

AMAT = 68.3266 +1 + 0.62 * 10000000 = 6200069.327

VAL 32

TLB = 1 + 0,5384 (1+100) = 55.3784

AMAT = 55.3784 + 1 + 0.62 * 10000000 = 6200056.378

Com o aumento do TLB o valor do miss hit diminuiu e o tempo de acesso


diminuiu também.

3. Mudando o tamanho da memória física


a) Qual é o mínimo access time obtido com esta configuração e alterando apenas
o tamanho do TLB?
b) Qual a configuração mínima (menor número de endereços) do TLB para obter
o menor access time?
c) Explique porquê não é vantajoso ter TLBs muito grandes.

Não é vantajoso porque em certo momento o AMAT para de diminuir e


começa a crescer o correto é encontrar uma configuração que atenda o
tamanho mínimo de access time.

Você também pode gostar