Pequena quantidade de memória SRAM* embutida no processador.
Quando o processador precisa de dados da RAM, um circuito especial, o controlador de cache, transfere dados muito utilizados da RAM para a memória cache que é mais rápida. No próximo acesso, o processador é mais eficiente, ao consultar a cache.
Há cache nos dispositivo que solicitam recursos, de dados ou de rede:
- discos rígidos;
- servidores;
- nas placas-mãe.
A memória cache otimiza o processador.
Se a CPU pede dados à RAM, o processador fica mais lento, à espera.
* RAM que mantém os bytes sem atualização contínua, perdidos somente após a interrupção da fonte de energia. É económica e tem boa performance.
Níveis de memória cache no processador
Cache L1 no processador Velocidades de até 1150 GB/s
Cache L2 no processador Velocidades de até 470 GB/s
Cache L3 no processador Velocidades de até 200 GB/s
Instala a ferramenta CPU-Z para saberes a velocidade da cache do teu pc.
L1 mais próxima da unidade de execução do processador*, L3 mais afastada.
Quando a unidade de pesquisa do processador** precisa de um dado ou instrução, ela procura no cache L1, depois no L2, L3 e se não encontrar vai à RAM.
O L1 é dividido em memória de instrução e memória para dados. Se o processador precisar de uma instrução, vai à memória de instrução, se precisar de dados, vai à memória de dados.
* Unidade de execução – executa a instrução recebida.
** Unidade de pesquisa do processador – procura o que o processador precisa.
Ordem de acesso à memória:
1. Cache Memória
2. Memória RAM.
3. Memória Disco.
O controlador de cache leva a unidade de pesquisa do processador visitar menos vezes a RAM.
No acerto (hit), o processador carrega a informação da cache.
No erro (miss), a informação não está na cache, mas na RAM.
No erro (miss), a informação não está na cache, mas na RAM.
Na primeira instrução, a memória cache estará vazia, e a CPU vai à RAM. Este é um “erro” do cache inevitável.
A unidade de pesquisa armazena um bloco de instruções na cache para o caso de o processador continuar a executar o mesmo programa. A taxa de acerto é cerca de 80% a 99%, quase todo o acesso à memória RAM é feito através da memória cache.