O que é e como funciona a memória cache?
O que é a memória cache

Interpretar o computador como um elemento único e indivisível é o mais normal para o usuário médio, mas nos bastidores existe uma ampla lista de sistemas e recursos complexos que trabalham juntos para garantir o máximo desempenho. Um dos mais importantes é a memória cache, presente em processadores, discos rígidos, unidades de estado sólido e outros componentes. Quer saber o que é e como funciona a memória cache? Continue lendo.

Velocidadeee!

Mais rápido. Tudo precisa funcionar mais rápido, demorar menos tempo, antecipar-se ao usuário. Nossas exigências só aumentaram com o passar dos anos, e se existe um problema de desempenho, jogamos mais hardware na direção dele. O MS-DOS 6.22 chegou às prateleiras entre abril e junho de 1994, e a partir daí começamos a deixar para trás a famosa base de 640 kilobytes de RAM. Hoje, um computador precisa de 8 gigabytes de memória como mínimo absoluto, e já se recomendam 16 GB para quase todos os ambientes.

O que é e como funciona a memória cache?
Tudo isso equivale a uma expansão de 256 kilobytes de RAM para um velho IBM PC. Como chegamos longe...

Mas adicionar mais núcleos ou memória não conta toda a história. Há outros jogadores muito importantes que podem aumentar o desempenho de forma espetacular, ou deixar uma máquina de joelhos com sua ausência. O caso de a memória cache é um dos mais citados. O que é e como funciona a memória cache?

O que é a memória cache?

Em termos informais, a memória cache é um tipo de memória temporária que se encarrega de armazenar dados para entregá-los ao usuário com mais velocidade no futuro. Imagino que você já a viu em ação: por exemplo, se você abre um programa, fecha e imediatamente o reabre, notará que a segunda carga é muito mais rápida graças à intervenção da memória cache e da memória RAM em geral.

Reduzir os tempos de acesso é a ideia. Se você lê e executa constantemente os mesmos arquivos, por que lê-los a partir da unidade de armazenamento ou de uma memória mais lenta, quando uma pitada de cache pode acelerar todo o processo? Outro aspecto muito interessante é que a memória cache se apresenta como solução de software e/ou hardware. Sem ir muito longe, o clássico SuperFetch (agora SysMain) usa a RAM do sistema como uma cache gigante para pré-carregar aplicativos, e pelo lado do hardware, temos coisas como a cache do processador e a cache DRAM nos SSDs.

Cache no CPU

O que é e como funciona a memória cache?
A RAM é lenta, o processador não. A memória cache vem ao resgate.

O processador chama a atenção por possuir diferentes níveis de memória cache. Uma memória cache muito grande tem uma excelente taxa de acertos, ou hit rate, mas paga o preço com latência adicional. Os múltiplos níveis de cache buscam compensar isso, começando com memórias cache pequenas, porém extremamente rápidas, seguidas por memórias cache mais lentas.

O que é e como funciona a memória cache?
Uma forma simples de visualizar os níveis de cache

Essa configuração permite que os núcleos processem dados com mais velocidade e, no possível, evitem o gargalo do acesso à memória geral. Esse problema é muito mais antigo do que imaginamos: todas as flechas apontam para Sir Maurice Vincent Wilkes, cientista britânico da Universidade de Cambridge, como o inventor do conceito de memória cache em 1965, batizada de memória escrava naquela época.

O que é e como funciona a memória cache?
O Intel Core i7-7700k de 2017 usa três níveis de memória cache

Um processador relativamente moderno como o Intel Core i7-10700F tem três níveis de memória cache: L1 subdividida em 8 x 32 kilobytes para dados e outros 8 x 32 kilobytes para instruções, uma cache L2 de 8 x 256 kilobytes e, finalmente, uma memória cache L3 compartilhada por todos os núcleos, com um total de 16 megabytes. Mas nem sempre foi assim: os velhos 486 e Pentium só ofereciam cache L1, e para acessar uma memória cache L2, dependíamos da placa-mãe, com chips integrados ou um soquete de expansão.

O que é e como funciona a memória cache?
Pentium MMX clássico, ao lado do soquete COAST (Cache-On-A-STick) para instalar cache L2 (benryves no Reddit)

Casos históricos e atuais

O Celeron original é um exemplo contundente: a Intel decidiu lançá-lo no mercado como opção de baixo custo cortando a cache L2, e o resultado foi uma CPU anêmica que precisávamos fazer overclock até o limite para obter algo aproveitável.

Pouco tempo depois estrearam os Celeron 300A «Mendocino» com 128 KB de cache L2 integrada. Esses 128 kilobytes foram mais do que suficientes para duplicar o desempenho do chip anterior e transformar o Celeron 300A em um dos melhores processadores da história do overclocking.

O que é e como funciona a memória cache?
Celeron 300A, glória absoluta do overclocking (Qurren, CC BY-SA 3.0)

Avaliar seu impacto em processadores modernos é mais complicado, mas não impossível. De fato, o pessoal da Hardware Unboxed publicou um excelente vídeo comparando o aumento de cache L3 sob o mesmo número de núcleos e threads. Em essência, os processadores Intel Core i9-10900k (10C/20T), Core i7-10700k (8C/16T) e Core i5-10600k (6C/12T) foram forçados a trabalhar com a mesma configuração do Core i3-10105F (4C/8T). A diferença no tamanho da memória cache L3 estabelece certa vantagem para os chips superiores; no entanto, o benefício não se estende a todos os jogos.

(N. da R.: vídeo em inglês, mas as tabelas são o mais importante)

Vídeo do Hardware Unboxed comparando o aumento da cache L3

O que é a memória cache: resumo

A memória cache é um atalho, um suplemento que nos ajuda a acessar todos esses dados usados com frequência, de forma mais veloz e eficiente. Ter mais é melhor, mas a estrutura precisa ser a correta. Quer saber mais sobre a memória cache? O resumo do HWiNFO (que também serve para medir a temperatura e as voltagens do seu PC) apresentará todas as informações do seu processador, esta lista atualizada revela os modelos de SSDs com cache DRAM integrada, e se você tem dúvidas sobre o SuperFetch no seu equipamento, sempre é possível desativá-lo. Boa sorte!