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.
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 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.
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.
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.
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.
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)
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!