Tempo médio de acesso
O tempo médio de acesso é o tempo médio necessário para acessar dados em dois ou mais níveis de memória hierárquica, como caches e memória principal.
Nota
Esse cálculo leva em consideração o tempo de acesso de cada nível de memória e a probabilidade de encontrar ou não o dado em cada nível.
Antes de aplicar a fórmula é importante entender algumas terminologias:
- Hit: Quando o dado é encontrado no nível de memória procurado.
- Miss: Quando o dado não é encontrado no nível de memória procurado e precisa ser buscado em um nível inferior.
- Hit-rate: Percentual de hits no nível de memória, por exemplo, 70%.
- Miss-rate: Percentual de misses no nível de memória, sendo o complemento do hit-rate, por exemplo, 30% se o hit-rate for 70%.
- Hit-time: Tempo de acesso ao nível de memória, incluindo o tempo necessário para verificar se é um hit ou miss.
- Miss-penalty: Tempo médio gasto para transferir o dado não encontrado no nível atual dos níveis de memória mais baixos.
- Average Memory Access Time (AMAT): Tempo médio efetivo para acessar um dado em um determinado nível de memória, considerando a composição do hit-time, miss-rate e miss-penalty do nível de memória inferior.
O cálculo do AMAT envolve a seguinte fórmula:
Essa fórmula reflete que o tempo médio de acesso é uma combinação do tempo de acesso quando ocorre um hit (acesso direto ao dado no nível de memória atual) e o tempo de acesso quando ocorre um miss (necessidade de buscar o dado nos níveis inferiores de memória e transferi-lo para o nível atual).
Exemplo
Calcular o tempo médio de acesso entre memória principal e cache, sabendo que:
- Tempo médio de acesso para transferir o dado da MP para o cache = 10ns
- Tempo médio gasto para acessar o dado em cache = 5ns
- Probabilidade de acerto do cache (probabilidade de procurar um dado no cache e encontrá-lo: Hit-Rate) = 40%