A respeito dos sistemas de computadores, responda:
Considere uma máquina com três níveis de cache, onde todos os níveis possuem c= 4 n s, e m=10 n s. Se as taxas de acerto para cada um dos níveis são h1=0,9, h2=0,95 e h3=0,99, qual é a expressão para o tempo médio de acesso à memória?

Passo 1

Então, o enunciado diz que a gente tem uma máquina com três níveis de cache (L1, L2 e L3), cada um com tempo de acesso c = 4 ns, e que a memória principal demora m = 10 ns. As taxas de acerto são h1 = 0,9, h2 = 0,95 e h3 = 0,99.
Conteúdo: hierarquia de memória e cálculo do tempo médio de acesso (AMAT).
O que vamos precisar: entender o que é hit e miss em cada nível, saber que um miss em um nível significa gastar o tempo desse nível mais o próximo nível, e montar a fórmula do AMAT para três níveis.

Passo 2

Para começar, lembra do conceito básico:
  • Hit em L1: a gente só gasta o tempo c e terminou.
  • Se der miss em L1, a gente já “perdeu” c e vai pro L2. Em L2, se der hit, a gente gasta mais c e para.
  • Se der miss em L2, já gastamos c (L1) + c (L2) e vamos pro L3.
  • Se der hit em L3, gasta mais c e acabou.
  • E, por fim, se também der miss em L3, já gastamos 3c nos três níveis de cache e ainda temos que buscar na memória principal ( +m).
A ideia do AMAT (Average Memory Access Time) é pesar cada cenário pela sua probabilidade.

Passo 3

Agora, a fórmula genérica para três níveis fica assim:
AMAT = h1cdot c ;+;(1-h1)l[h2cdot( c + c ) ;+;(1-h2)l(h3cdot( c + c + c ) ;+;(1-h3)cdot( c + c + c + m )r)r]
Explicando cada termo:
  • h1cdot c: caso em que acerta logo em L1.
  • (1-h1),h2cdot( c + c ): caso de miss em L1 e hit em L2.
  • (1-h1)(1-h2),h3cdot( c + c + c ): miss em L1 e L2, hit em L3.
  • (1-h1)(1-h2)(1-h3)cdot( c + c + c + m ): miss em todos os caches, vai pra memória principal.

Passo 4

Só substituir c=4 ns e m=10 ns para ficar com a expressão em função de h1,h2,h3:
AMAT = h1cdot 4 ;+;(1-h1)l[h2cdot(4 + 4) ;+;(1-h2)l(h3cdot(4 + 4 + 4) ;+;(1-h3)cdot(4 + 4 + 4 + 10)r)r] ns

Resposta

boxedAMAT = h1cdot 4 + (1 - h1)l[h2cdot 8 + (1 - h2)l(h3cdot 12 + (1 - h3)cdot 22r)r] ns

Exercícios relacionados