Você está na página 1de 1

Segunda Lista de Exercı́cios de Arquitetura e Organização de Computadores 2 - 2023/2

Prof. Charles F. de Barros


Departamento de Ciência da Computação (DCOMP)

1. Considere uma cache com capacidade de 256 kB, palavras de 32 bits e memória endereçada por byte.
Determine a quantidade de entradas e a quantidade de bits necessários para implementar esta cache,
supondo que ela seja associativa por conjunto de 8 vias, com 32 bytes por linha, polı́tica de escrita
write-back e polı́tica de substituição LRU com 1 bit.
2. Considere o seguinte código em C:

for(i = 0; i < 4; i++){


c[i] = 0;
for(j = 0; j < 4; j++)
c[i] = c[i] + A[i][j]*B[j];
}

Suponha que a matriz A e os vetores b e c estejam armazenados na memória de acordo com o diagrama
abaixo:

onde cada entrada é uma palavra de 32 bits. Considerando uma cache diretamente mapeada com
8 entradas e duas palavras por linha, determine em qual iteração (valores de i e j) haverá a primeira
substituição de um bloco na cache, o estado da cache imediatamente antes disto acontecer e a quantidade
de cache hit e cache miss até que isto aconteça.

Figura 1: Estado da cache após a primeira referência à entrada C[0].

3. Considere um sistema de cache em dois nı́veis, onde a cache L2 possui tempo de acesso de 10 ciclos de
clock e taxa de erros locais de 25%, quando diretamente mapeada. Supondo que a associatividade por
conjunto de 4 vias aumente de 0.2 ciclos de clock o tempo de acesso, e que a penalidade de erro na cache
L2 seja de 100 ciclos de clock, determine a maior taxa de erros da cache L2 com associatividade por
conjunto de 4 vias, para que a penalidade de erro da cache L1 seja pelo menos 20% menor quando se
emprega uma cache L2 associativa.

Você também pode gostar