A importância da memória cache (II)

F3E

No artigo anterior, já apresentamos as necessidades que estão sendo levantadas nos computadores, não é mais apenas aumentar a frequência dos processadores, adicionar mais núcleos ou até aumentar a frequência da RAM, mas também avaliar o uso de outras memórias para não depender tanto da RAM, uma memória muito lenta em comparação com a memória cache .

Sistema de memória

Até agora, usamos o termo RAM , memória ou sistema de memória de forma indiferente, e não paramos para diferenciar que eles são cada um. Quando nos referimos ao sistema de memória, geralmente nos referimos à hierarquia de memória .

A hierarquia de memória é descrita na figura a seguir:

hierarquia de memória

Como podemos ver, podemos diferenciar três grandes blocos :

  • A memória cache: é o elemento mais rápido do sistema e o mais caro. Preço aproximado: € 5 / MByte. Tempo médio de acesso: 1ns.
  • RAM: é o segundo elemento mais rápido do sistema com um preço médio. Preço aproximado: € 0,007 / MByte. Tempo médio de acesso: 5ns.
  • O disco rígido: é o elemento mais lento do sistema e tem um preço melhor. Preço aproximado: € 0,00005 / MByte. Tempo médio de acesso: 11ms.

Os dados de preço e tempo de acesso são aproximações, nem sempre é o caso, mas são completamente reais. Temos então que nosso sistema de memória é formado por uma hierarquia de memória que combina essas três tecnologias para formar uma memória o mais barata possível e o mais rápida possível.

Principio de funcionamento

O princípio operacional da hierarquia de memória é muito simples. A CPU quando você deseja acessar uma posição do sistema de memória acessa o nível do cache. Se esta posição estiver dentro da memória cache, a CPU acessa-a muito rapidamente . Se, por outro lado, a posição não estiver na memória cache, ocorre uma falha que resulta em um conjunto de posições consecutivas que incluem a posição desejada sendo transferida da memória principal para a memória cache. Este conjunto de posições consecutivas de memória é chamado de bloco. Após a transferência, a CPU acessa diretamente o cache.

Relacionado:  Programação orientada a objetos: níveis de acesso

Pode ser que não esteja na memória principal, se você precisar acessar o disco rígido, ou seja, deverá levar em consideração a possibilidade de encadear falhas em diferentes níveis da hierarquia.

Tempo médio de acesso ao sistema

O tempo médio de acesso ao sistema de memória é obtido levando em consideração três possibilidades: os dados estão na memória cache, os dados estão na memória principal ou no disco rígido . As fórmulas matemáticas relacionadas a cada um desses casos são:

formulas_jerarquia_memoria
A idéia desta operação é que os dados que queremos acessar estejam próximos um do outro, que o princípio da proximidade das referências seja cumprido.

Referências de referências

É chamado proximidade de referências ao agrupamento de leituras de memória através da unidade central de processamento. Eles, seja para instruções ou para ler dados, geralmente são mantidos em grupos de endereços relativamente próximos um do outro. Os casos mais importantes de localidade são a localidade espacial, a localidade sequencial e a localidade temporal.

Exemplo

Até agora, vimos apenas dados e dados, mas não colocamos isso em prática com um exemplo. Primeiro, veremos tudo através de um exemplo matemático com componentes reais.

Demonstração das fórmulas

Verificaremos a importância da memória cache em um sistema de computador com um exemplo simples. Suponha que tenhamos o sistema de memória do sistema composto por:

  • Memória em cache com um tempo de acesso de 0,5 ns e uma taxa de sucesso de 0,992.
  • Memória principal ou RAM com tempo de acesso de 4 ns e taxa de sucesso de 0,99999. (Considere que o tamanho do bloco é 32 bytes)
  • Memória cache do disco rígido com um tempo de acesso de 5 ms e uma taxa de sucesso de 1. (Os dados sempre serão encontrados aqui)
Relacionado:  Qual empregador usar o método de estratégia ou modelo

Qual é o tempo da hierarquia?

math_example1_memory_system

Como vemos que o tempo é normal, um tempo médio que podemos considerar bom é menor que a memória principal, de modo que nos compensa ter memória cache, pois, se não a tivermos, a hierarquia terá, no melhor dos casos, uma Ou seja, quatro segundos, isto é, será duas vezes mais lento e agora que nosso sistema (seguindo a Lei de Amdhal) será bastante afetado.

Podemos ir além, considerando que não temos memória cache , mas temos um cache com uma taxa de sucesso de 0,8 . Teremos então um tempo médio de aproximadamente 26 ns . Portanto, nesse caso, não nos compensaria ter memória cache, mas calma, a taxa de sucesso de uma memória cache nunca cai abaixo de 0,98 (que é um limite bastante baixo).

Preço do cache

Se olharmos para o final, o que importa para nós é que o sistema de memória cumpre esse princípio e que a taxa de acertos do cache é muito alta. Se essas duas coisas não fossem cumpridas, a memória cache não nos compensaria , pois, se notamos, a memória cache é o elemento mais caro de todo o dispositivo. Também devemos saber que a memória cache está dentro do próprio chip do processador e que, às vezes, existem vários níveis de cache ou que é compartilhada pelos núcleos do processador.

Deveríamos saber que quando compramos um processador, grande parte do custo se deve ao preço do cache. Por exemplo, com o processador Intel Core 2 Quad Processor Q6600 que custa cerca de US $ 200 se apenas no cache L2 tiver 8 MB, já é US $ 40 apenas o preço do cache de segundo nível.

Relacionado:  Introdução às estruturas de dados

No artigo a seguir, demonstraremos esses fundamentos teóricos por meio de um programa simples no qual mediremos o desempenho do nosso computador desativando sua memória cache .

 

Você pode estar interessado:

Deixe um comentário