Buscar

Lista 6

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Organização de Computadores I
DCC006
Professor: Omar Paranaiba Vilela Neto
Lista de Exercício 6
1 – Considere uma cache de 4K entrada e com 8 palavras por bloco. Considerando o mapeamento 
direto, quantos bits tem o campo tag?
2 – Um novo processador pode usar uma cache write-through ou write-back, selecionada por meio 
de software.
a) Considere que o novo processador executará aplicações com alta exigência de dados e 
com um grande número de operações load e store. Explique qual política de escrita de cache deve 
ser usada.
b) Considere a mesma questão mas, desta vez, para um sistema cuja segurança é um fator 
crítico e em que a integridade dos dados é mais importante do que o desempenho da memória.
3 – Aqui está uma série de referências de endereço dados como endereços em word: 2, 3, 11, 16, 21, 
13, 64, 48, 19, 11, 3, 22, 4, 27, 6, e 11. Considerando uma cache diretamente mapeada com 16 
blocos de uma word cada, que está inicialmente vazia, indique cada referência na lista como um 
acerto ou uma falha e mostre o conteúdo final da cache.
4 – Repita o exercício acima considerando uma cache diretamente mapeada com 4 blocos de quatro 
words cada. O que você pode concluir da comparação com o exemplo anterior?
5 – A cache C1 é diretamente mapeada com 16 blocos de uma word cada. A cache C2 é diretamente 
mapeada com 4 blocos de quatro words cada. Considere que a penalidade de falha para C1 é de 8 
ciclos de clock de barramento de memória e a penalidade de falha para C2 é de 11 ciclos de clock 
de barramento de memória. Considerando que as caches estão inicialmente vazias, encontre uma 
sequências de referências para a qual C2 tenha uma taxa de falhas mais baixa, mas gaste mais ciclos 
de clock de barramento de memória em falhas de cache do que C1. Use endereços word.
6 – A associatividade normalmente melhora a taxa de falhas, mas nem sempre. Forneça uma série 
de referências de endereços para a qual uma cache associativa por conjunto de duas vias com 
substituição LRU experimentaria mais falhas do que uma cache diretamente mapeada de mesmo 
tamanho.
7 – Considere três processadores com diferentes configurações de cache:
• Cache 1: diretamente mapeada com blocos de uma word;
• Cache 2: diretamente mapeada com blocos de quatro words;
• Cache 3: associativa por conjunto de duas vias com blocos de quatro words.
As seguintes medições de taxa de falhas foram feitas:
• Cache 1: taxa de falhas de instrução é 4% e de dados 6%;
• Cache 2: taxa de falhas de instrução é 2% e de dados 4%;
• Cache 3: taxa de falhas de instrução é 2% e de dados 3%.
Para estes processadores, a metade das instruções contém uma referência de dados. Considere que a 
penalidade de falha da cache é 6 + o tamanho do bloco em words. O CPI para este workload foi 
medido em um processador com o Cache 1 e foi determinado como 2,0. Descubra que processador 
gasta mais ciclos nas falhas de cache.
8 – Considere um sistema de memória virtual com as seguintes propriedades:
• Endereço de byte virtual de 40 bits;
• Página de 16KB;
• Endereço de byte físico de 36 bits.
Qual é o tamanho total da tabela de páginas para cada processo nesse processador, considerando 
que os bits de validade, de proteção, de modificação e de uso usam um total de 4 bits, e que todas as 
páginas virtuais estão em uso? (Considere que os endereços de disco não são armazenados na tabela 
de páginas)
9 – Um processador possui uma TLB de 16 entradas e usa páginas de 4KB. Quais são as 
consequências de desempenho desse sistema de memória se um programa acessar pelo menos 2MB 
da memória ao mesmo tempo? Alguma coisa pode ser feita para melhorar o desempenho?

Outros materiais