Como funciona o cache da CPU? O que são cache L1, L2 e L3?
Os processadores de computador avançaram bastante nos últimos anos. Os transistores ficam menores a cada ano e os avanços estão chegando a um ponto em que a Lei de Moore está se tornando redundante.
Quando se trata de processadores, não são apenas os transistores e as frequências que contam, mas também o cache.
Você deve ter ouvido falar sobre a memória cache quando as CPUs (unidades de processamento central) estão sendo discutidas. No entanto, não prestamos atenção suficiente a esses números de memória cache da CPU, nem são o destaque principal dos anúncios da CPU.
Então, exatamente quão importante é o cache da CPU e como ele funciona?
O que é memória cache da CPU?
Simplificando, um cache de memória da CPU é apenas um tipo de memória muito rápido. No início da computação, a velocidade do processador e a velocidade da memória eram baixas. No entanto, durante a década de 1980, as velocidades do processador começaram a aumentar – rapidamente. A memória do sistema na época (RAM) não conseguia lidar ou se equiparar às crescentes velocidades da CPU, e assim nasceu um novo tipo de memória ultrarrápida: a memória cache da CPU.
Agora, seu computador possui vários tipos de memória dentro dele.
Existe armazenamento primário, como um disco rígido ou SSD, que armazena a maior parte dos dados – o sistema operacional e programas.
Em seguida, temos a memória de acesso aleatório, comumente conhecida como RAM . Isso é muito mais rápido do que o armazenamento primário, mas é apenas um meio de armazenamento de curto prazo. Seu computador e os programas nele usam RAM para armazenar dados acessados com freqüência, ajudando a manter as ações em seu computador agradáveis e rápidas.
Por último, a CPU tem unidades de memória ainda mais rápidas dentro de si, conhecidas como cache de memória da CPU.
A memória do computador possui uma hierarquia baseada em sua velocidade operacional. O cache da CPU está no topo dessa hierarquia, sendo o mais rápido. É também o mais próximo de onde ocorre o processamento central, sendo parte da própria CPU.
A memória do computador também vem em diferentes tipos.
A memória cache é uma forma de RAM estática (SRAM), enquanto a RAM normal do sistema é conhecida como RAM dinâmica (DRAM). A RAM estática pode conter dados sem a necessidade de atualização constante, ao contrário da DRAM, que torna a SRAM ideal para memória cache.
Como funciona o cache da CPU?
Os programas e aplicativos em seu computador são projetados como um conjunto de instruções que a CPU interpreta e executa. Quando você executa um programa, as instruções seguem do armazenamento primário (seu disco rígido) para a CPU. É aqui que a hierarquia da memória entra em jogo.
Os dados primeiro são carregados na RAM e depois enviados para a CPU. Atualmente, as CPUs são capazes de executar um número gigantesco de instruções por segundo. Para fazer uso completo de sua potência, a CPU precisa acessar uma memória super-rápida, que é onde o cache da CPU entra.
O controlador de memória pega os dados da RAM e os envia para o cache da CPU. Dependendo da sua CPU, o controlador é encontrado na CPU ou o chipset Northbridge encontrado na placa-mãe.
O cache de memória, então, executa o vaivém dos dados dentro da CPU. A hierarquia de memória também existe no cache da CPU.
Os níveis de memória cache da CPU: L1, L2 e L3
A memória cache da CPU é dividida em três "níveis": L1, L2 e L3. A hierarquia da memória é novamente de acordo com a velocidade e, portanto, o tamanho do cache.
Então, o tamanho do cache da CPU faz diferença no desempenho?
Cache L1
O cache L1 (Nível 1) é a memória mais rápida que está presente em um sistema de computador. Em termos de prioridade de acesso, o cache L1 contém os dados de que a CPU provavelmente precisará ao completar uma determinada tarefa.
O tamanho do cache L1 depende da CPU. Algumas CPUs de consumo topo de linha agora apresentam um cache L1 de 1 MB, como o Intel i9-9980XE, mas estes custam muito dinheiro e ainda são poucos. Alguns chipsets de servidor, como a linha Xeon da Intel, também apresentam um cache de memória L1 de 1-2 MB.
Não existe um tamanho de cache L1 "padrão", então você deve verificar as especificações da CPU para determinar o tamanho exato do cache de memória L1 antes de comprar.
O cache L1 geralmente é dividido em duas seções: o cache de instruções e o cache de dados. O cache de instruções lida com as informações sobre a operação que a CPU deve realizar, enquanto o cache de dados contém os dados nos quais a operação deve ser realizada.
Cache L2
O cache L2 (Nível 2) é mais lento do que o cache L1, mas é maior em tamanho. Enquanto um cache L1 pode medir em kilobytes, os caches de memória L2 modernos medem em megabytes. Por exemplo, o Ryzen 5 5600X altamente classificado da AMD tem um cache L1 de 384 KB e um cache L2 de 3 MB (mais um cache L3 de 32 MB).
O tamanho do cache L2 varia dependendo da CPU, mas seu tamanho é normalmente entre 256 KB a 8 MB. A maioria das CPUs modernas terá mais de um cache L2 de 256 KB, e esse tamanho agora é considerado pequeno. Além disso, alguns dos processadores modernos mais poderosos têm um cache de memória L2 maior, excedendo 8 MB.
Quando se trata de velocidade, o cache L2 fica atrás do cache L1, mas ainda é muito mais rápido que a RAM do sistema. O cache de memória L1 é normalmente 100 vezes mais rápido que sua RAM, enquanto o cache L2 é cerca de 25 vezes mais rápido.
Cache L3
Para o cache L3 (Nível 3). No início, o cache de memória L3 era realmente encontrado na placa-mãe. Isso foi há muito tempo, quando a maioria das CPUs eram apenas processadores de um único núcleo. Agora, o cache L3 em sua CPU pode ser enorme, com CPUs de consumo topo de linha com caches L3 de até 32 MB. Alguns caches de CPU L3 de servidor podem exceder isso, apresentando até 64 MB.
O cache L3 é o maior, mas também a unidade de memória cache mais lenta. CPUs modernas incluem o cache L3 na própria CPU. Mas enquanto o cache L1 e L2 existem para cada núcleo no próprio chip, o cache L3 é mais semelhante a um pool de memória geral que todo o chip pode fazer uso.
A imagem a seguir mostra os níveis de cache de memória da CPU para uma CPU Intel Core i5-3570K:
Observe como o cache L1 é dividido em dois, enquanto o L2 e L3 são maiores, respectivamente.
Quanta memória cache de CPU eu preciso?
É uma boa pergunta. Quanto mais, melhor, como você pode esperar. As CPUs mais recentes naturalmente incluirão mais memória cache da CPU do que as gerações anteriores, com memória cache potencialmente mais rápida também. Uma coisa que você pode fazer é aprender como comparar CPUs de maneira eficaz . Há muitas informações por aí, e aprender como comparar e contrastar diferentes CPUs pode ajudá-lo a tomar a decisão de compra certa.
Como os dados se movem entre os caches de memória da CPU?
A grande questão: como funciona a memória cache da CPU?
Em seus termos mais básicos, os dados fluem da RAM para o cache L3, depois para L2 e, finalmente, para L1. Quando o processador está procurando dados para realizar uma operação, ele primeiro tenta encontrá-los no cache L1. Se a CPU o encontrar, a condição é chamada de acerto de cache. Em seguida, ele prossegue para encontrá-lo em L2 e depois em L3.
Se a CPU não encontrar os dados em nenhum dos caches de memória, ela tentará acessá-los da memória do sistema (RAM). Quando isso acontece, é conhecido como perda de cache.
Agora, como sabemos, o cache foi projetado para agilizar a troca de informações entre a memória principal e a CPU. O tempo necessário para acessar os dados da memória é chamado de "latência".
A memória cache L1 tem a latência mais baixa, sendo a mais rápida e mais próxima do núcleo, e L3 tem a mais alta. A latência do cache de memória aumenta quando há uma falha no cache, pois a CPU precisa recuperar os dados da memória do sistema.
A latência continua diminuindo à medida que os computadores se tornam mais rápidos e eficientes. RAM DDR4 de baixa latência e SSDs super-rápidos reduzem a latência, tornando todo o sistema mais rápido do que nunca. Nesse sentido, a velocidade da memória do sistema também é importante.
O futuro da memória cache da CPU
O design da memória cache está sempre evoluindo, especialmente à medida que a memória fica mais barata, mais rápida e mais densa. Por exemplo, uma das inovações mais recentes da AMD é a Smart Access Memory e o Infinity Cache , que aumentam o desempenho do computador.