Informática
As CPUs sempre foram mais rápidas do que as memórias. Conforme as memórias melhoraram as CPUs também seguiram o ritmo mantendo o desequilíbrio. O que isso significa na prática é que depois que a CPU faz uma requisição à memória, ela deve permanecer inativa por um tempo enquanto estiver esperando que a memória responda. É comum que a CPU estabeleça uma leitura à memória durante um ciclo de barramento e não obtenha o dado até x + 1 ciclos mais tarde, mesmo que não haja estados de espera. A solução utilizada para esse atraso é a cache. A cache é uma memória com pequena capacidade e muito rápida. A ideia básica de uma cache é simples: as palavras de memória usadas com mais frequência são mantidas na cache. Quando a CPU precisa de uma palavra, ela examina em primeiro lugar a cache. Se a palavra procurada estiver na cache (cache hit), ela é transferida em alta velocidade para a CPU. Se a palavra não estiver na cache (cache miss), então o sistema está programado para interromper a execução do programa e transferir a instrução desejada da memória principal para a cache. Essa transferência não é apenas da palavra desejada, mas também de um conjunto de palavras próximas, na pressuposição de que esse grupo será utilizado pela CPU em seguida. Com isso o desempenho do computador é otimizado e o tempo médio de acesso pode ser muito reduzido.
Hierarquia de Memória
Conceitos
•
LOCALIZAÇÃO: A memória cache tende a ficar o mais próximo da CPU. Quanto mais próxima estiver, mais rápido a palavra será transferida. Atualmente a cache é colocada dentro da própria CPU. Já havia limitações em relação ao tamanho e capacidade da cache pelo seu custo, e agora mais ainda por estar dentro da CPU, onde não é possível ter um tamanho maior por falta de espaço. CAPACIDADE: Como foi dito antes, a não é viavel ter uma cache com alta capacidade, pois o custo seria muito elevado. Logo as memórias cache possuem uma pequena capacidade, em torno de MB (megabytes). UNIDADE