L1 vs L2 Cache
Memória cache é uma memória especial utilizada pela CPU (Unidade Central de Processamento) de um computador com a finalidade de diminuir o tempo médio necessário para acessar a memória. A memória cache é uma memória relativamente menor e também mais rápida, que armazena os dados mais acessados da memória principal. Quando há solicitação de leitura de memória, a memória cache é verificada para ver se esses dados existem na memória cache. Se esses dados estiverem na memória cache, não há necessidade de acessar a memória principal (que demora mais para ser acessada), diminuindo assim o tempo médio de acesso à memória. Normalmente, existem caches separados para dados e instruções. O cache de dados geralmente é configurado em uma hierarquia de níveis de cache (às vezes chamado de caches multinível). L1 (Nível 1) e L2 (Nível 2) são os principais caches nessa hierarquia de caches. L1 é o cache mais próximo da memória principal e é o cache que é verificado primeiro. O cache L2 é o próximo na linha e é o segundo mais próximo da memória principal. L1 e L2 variam em velocidade de acesso, localização, tamanho e custo.
L1 Cache
L1 cache (também conhecido como cache primário ou cache de nível 1) é o cache mais alto na hierarquia de níveis de cache de uma CPU. É o cache mais rápido na hierarquia. Ele tem um tamanho menor e um atraso menor (zero estado de espera) porque geralmente é embutido no chip. SRAM (Static Random Access Memory) é usado para a implementação de L1.
L2 Cache
L2 cache (também conhecido como cache secundário ou cache de nível 2) é o cache que está próximo a L1 na hierarquia de cache. A L2 geralmente é acessada apenas se os dados procurados não forem encontrados na L1. L2 geralmente é usado para preencher a lacuna entre o desempenho do processador e a memória. L2 é tipicamente implementado usando uma DRAM (Dynamic Random Access Memory). Na maioria das vezes, o L2 é soldado na placa-mãe bem próximo ao chip (mas não no chip em si), mas alguns processadores como o Pentium Pro se desviam desse padrão.
Qual é a diferença entre Cache L1 e L2?
Embora L1 e L2 sejam memórias cache, elas têm suas principais diferenças. L1 e L2 são o primeiro e o segundo cache na hierarquia de níveis de cache. L1 tem uma capacidade de memória menor que L2. Além disso, L1 pode ser acessado mais rápido que L2. L2 é acessado somente se os dados solicitados não forem encontrados em L1. O L1 geralmente é embutido no chip, enquanto o L2 é soldado na placa-mãe bem próximo ao chip. Portanto, L1 tem um atraso muito pequeno em comparação com L2. Como L1 é implementado usando SRAM e L2 é implementado usando DRAM, L1 não precisa ser atualizado, enquanto L2 precisa ser atualizado. Se os caches forem estritamente inclusivos, todos os dados em L1 também poderão ser encontrados em L2. No entanto, se os caches forem exclusivos, os mesmos dados não estarão disponíveis em L1 e L2.