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.