O que é cache da CPU e por que ele é tão importante para jogos?
Os 7800X3D e 7950X3D da AMD ocupam o primeiro lugar em CPUs para jogos , não porque tenham mais núcleos ou velocidades de clock mais altas, mas porque têm mais cache. Mas afinal, o que é cache da CPU? É uma pequena quantidade de memória super rápida e de acesso rápido incorporada no próprio chip, ajudando-o a obter os dados necessários para operações em alta velocidade.
Os retornos não são lineares – há uma razão pela qual o 7950X3D não possui cache adicional em todos os seus núcleos. Na verdade, existem algumas desvantagens em ter muito cache extra para trabalhar, mesmo que isso ajude a melhorar o desempenho dos jogos. Aqui está tudo o que você precisa saber sobre o cache da CPU.
O que é cache da CPU?
Cache é a quantidade de memória que está dentro da própria CPU , seja integrada em núcleos individuais ou compartilhada entre alguns ou todos os núcleos. É um pequeno pedaço de memória dedicada que fica diretamente no processador para que sua CPU não precise buscar informações na RAM do sistema toda vez que você quiser fazer algo no PC. Cada processador tem uma pequena quantidade de cache, com CPUs menores recebendo talvez apenas alguns kilobytes, enquanto CPUs grandes podem ter muitos megabytes de cache.
Mas por que o cache é necessário se já temos armazenamento SSD rápido e RAM ainda mais rápida ? É tudo uma questão de desempenho. Na década de 1990, a velocidade da RAM não acompanhava as necessidades da CPU, apresentando um problema para os projetistas de CPU. A solução foi adicionar cache local aos próprios chips.
Embora o cache tenha capacidade limitada em comparação com a RAM, sua alta velocidade compensa isso. A única desvantagem é que é caro colocar memória em um chip minúsculo, por isso normalmente não é usado em grandes quantidades. Com o 3D V-Cache, entretanto, a AMD encontrou uma maneira de fazê-lo funcionar, e agora temos chips de jogos de alto desempenho para mostrar isso.
Como funciona o cache? L1, L2, L3 explicado
A adoção convencional do cache resultou em implementações mais diferenciadas de cache e RAM até que terminamos com a hierarquia de memória, com cache no topo, RAM no meio e armazenamento na parte inferior. Essa abordagem em camadas permite que dados críticos para a CPU fiquem fisicamente mais próximos do processador, reduzindo a latência e ajudando seu PC a se sentir ágil.
O cache tem sua própria hierarquia, ou níveis de cache, que são divididos em cache L1, L2 e L3. São todos tipos de cache, mas executam funções ligeiramente diferentes.
O cache L1 é o primeiro nível de cache e também o menor, geralmente dividido em instrução L1 ou L1i e dados L1 ou L1d. Cada núcleo dentro de uma CPU tem seu pedaço exclusivo de cache L1, que geralmente tem apenas alguns kilobytes. O tipo de dados armazenados no cache L1 é algo que a CPU acabou de usar ou espera usar em breve. Se a CPU precisar de dados que não estão no cache L1, ela passa para o próximo nível: L2.
Assim como o cache L1, o cache L2 geralmente é exclusivo para um único núcleo de CPU, mas em algumas CPUs é compartilhado entre vários núcleos. Também é muito, muito maior; por exemplo, cada P-core no Core i9-12900K possui 80 kilobytes de cache L1, bem como 1,25 megabytes de cache L2, quase 16 vezes mais. No entanto, caches maiores têm maior latência, o que significa que leva mais tempo para que a comunicação entre o núcleo da CPU e o cache ocorra. Quando as CPUs desejam realizar tarefas em questão de microssegundos ou mesmo nanossegundos, a latência um pouco maior do cache L2 é importante. Se uma CPU não conseguir encontrar os dados solicitados no cache L2, ela solicitará o próximo nível: L3.
O cache L3 é importante: é compartilhado entre alguns ou todos os núcleos de uma CPU e é grande. O 7950X3D, por exemplo, possui 128 MB de cache L3 com seu 3D V-Cache integrado, enquanto possui apenas 16 MB de cache L2. A latência do cache L3 é ainda pior que a do L2, mas ter um cache L3 grande é muito importante para evitar que a CPU precise solicitar à RAM os dados necessários. Exceto para armazenamento, a RAM tem a pior velocidade e latência na hierarquia de memória, e sempre que a CPU precisa acessar a RAM para obter os dados necessários, as coisas podem parar.
Algumas CPUs até possuem cache L4, mas geralmente funciona como RAM que está no pacote da CPU. Algumas das primeiras CPUs de 14 nm da Intel baseadas na arquitetura Broadwell incluíam 128 MB de DRAM incorporada, e as CPUs de servidor Sapphire Rapids da empresa podem vir com HBM2, que é usado como um nível extra de cache.
O cache da CPU é importante para jogos?
O cache da CPU faz uma grande diferença para jogos. Embora o desempenho de thread único, as instruções por clock (IPC) e a velocidade do clock sejam tradicionalmente considerados os fatores mais importantes no desempenho de jogos, ficou muito claro que o cache é provavelmente o fator mais importante de todos na rivalidade entre AMD e Intel .
O cache é muito importante para os jogos devido à forma como os jogos são projetados hoje. Os jogos modernos têm muita aleatoriedade, o que significa que a CPU precisa constantemente executar instruções simples. Sem cache suficiente, sua placa gráfica é forçada a esperar pela CPU enquanto as instruções se acumulam e causam gargalos . Você pode ver um exemplo de quanta diferença isso faz com a tecnologia 3D V-Cache da AMD no gráfico de desempenho da CPU em jogos abaixo.
Temos visto uma tendência de mais cache para jogos nos últimos anos. A AMD vem aumentando a quantidade de cache de CPU há anos e dobrou com sua tecnologia 3D V-Cache no Ryzen 7 5800X3D e seus sucessores na geração Ryzen 7000
A Intel vem tentando alcançar a AMD, e suas CPUs de última geração têm mais cache do que nunca, ajudando-as a permanecerem competitivas nos jogos. Parece provável que as quantidades de cache continuarão a aumentar nos próximos anos, aumentando ainda mais os limites de desempenho dos jogos.