Prévia do material em texto
Exercícios – Memória Cache Prof. Lúcio 1. Seja uma memória principal de 4GB e uma memória cache associada de 64KB dividida em 1k linhas, com 64B de dados cada uma. Mostre como ficaria o formato de endereçamento para os mapeamentos direto, associativo e associativo por conjunto com 4 vias (linhas). 2. Seja uma memória principal constituída de blocos com largura de 32B, usando-se mapeamento direto a uma cache com 128KB. Em um dado instante o processador realiza um acesso, colocando o seguinte endereço: 3FC92B6H. Determine qual deverá ser o valor binário da linha que será localizada pelo sistema de controle da cache. 3. Considere uma memória principal com 64MB de capacidade associada a uma memória cache que possui 2K linhas, cada uma com largura de 16B. Determine o formato do endereço para ser interpretado pelo sistema de controle da cache. 4. Considere um sistema de computação com uma memória cache de 32KB de capacidade, constituída de linhas com 8 bytes e conjunto de 4 vias. A memória principal possui capacidade de 16MB. Calcule: a) Total de bits para a parte de dados b) Quantidade de linhas da cache c) Quantidade de conjuntos d) Quantidade de blocos e) Quantidade de bits do campo tag 5. Um computador possui uma memória principal com capacidade para 4 GB. Cada célula desta memória tem capacidade para 16 bits (word). Foi colocada neste computador uma memória cache de mapeamento direto com capacidade para 512 KB. Cada linha desta cache tem capacidade para 64B. Supondo que a CPU faça um acesso ao endereço (73A1 49DE)H, Calcule: a) O total de bits do endereço; b) O total de bits para o número da word (2 bytes); c) O total de bits para o número da linha; d) O total de bits para a Tag; e) O número da word (em hexadecimal); f) O número da linha (em hexadecimal); g) O valor da Tag (em hexadecimal). 6. Linhas de 4 Bytes são mapeadas associativamente de uma memória principal de 64 Bytes para uma cache de 16 Bytes utilizando-se a política de substituição LRU. Sabendo que o processador fez referências aos endereços 0x2A, 0x3B, 0x7, 0x2, 0x3C, 0x3F, 0x04 e 0xA nessa exata ordem, identifique as TAGs hexadecimais presentes na cache. 7. Utilize os dados abaixo sobre um mapeamento direto para responder os itens que se seguem: Capacidade da Memória Principal: 512 Bytes Capacidade da Memória cache: 64 Bytes Tamanho da linha mapeada: 8 Bytes a) Cite dois endereços de dados da MP que só podem estar na cache ao mesmo tempo. b) Cite dois endereços de dados da MP que não podem estar na cache ao mesmo tempo. 8. Linhas de tamanho desconhecido são mapeadas de uma memória principal para uma memória cache. Sabendo a memória cache é 256 vezes maior que a linha e que a memória principal é 4 vezes maior que a cache, responda: a) Se o mapeamento for associativo, quantas TAGs diferentes são possíveis? b) Se o mapeamento for direto, quantas TAGs diferentes são possíveis? c) Se o mapeamento for associativo, em quantas linhas uma TAG deve buscada até que se possa concluir que houve um cache miss? d) Se o mapeamento for direto, em quantas linhas uma TAG deve buscada até que se possa concluir que houve um cache miss? 9. Considere que o dado de endereço 12345ABCDh está em cache, para onde foi mapeado diretamente. Sabendo que a memória cache em questão tem capacidade de 4MB e que linhas de 4 Bytes transitam entre esta cache e uma memória principal de 8GB, responda: a) Qual o endereço de cache onde o dado se encontra? b) Quais os endereços dos outros Bytes da mesma linha que foram trazidos à cache juntamente com dado em questão? 10. Blocos de 64 Bytes são mapeados de uma memória principal 1GB em uma memória cache de 512kB. Sabendo que o processador requisitou os dados de endereços 003800A0h, 005000C8h, 0107FFEAh, 00300089h e 005000C8h, responda: a) Informe a quantidade de cache hits e cache misse no caso de um mapeamento DIRETO. b) Em que linha da cache o dado requisitado foi encontrado quando houve o último cache hit? Considere ainda que o mapeamento foi DIRETO. c) Se o mapeamento tiver sido ASSOCIATIVO, que TAG deve ter sido buscada na cache para verificar se o PRIMEIRO dado requisitado estava em cache? d) Ainda em relação ao item anterior, em quantas linhas de cache essa TAG foi buscada?