Memória cache do processador. Níveis e princípios de operação. Uma pequena comparação do cache L3 em jogos e aplicativos Tamanho de cache de 3 2 GHz

Qual a importância do cache L3 para processadores AMD?

Na verdade, faz sentido equipar os processadores multi-core com memória dedicada que será partilhada por todos os núcleos disponíveis. Nessa função, um cache rápido de terceiro nível (L3) pode acelerar significativamente o acesso aos dados solicitados com mais frequência. Então os núcleos, se possível, não terão que acessar a memória principal (RAM) lenta.

Pelo menos em teoria. Recentemente AMD anunciou o processador Athlon II X4, que é um modelo Phenom II X4 sem cache L3, sugerindo que não é tão necessário. Decidimos comparar diretamente dois processadores (com e sem cache L3) para testar como o cache afeta o desempenho.

Clique na imagem para ampliar.

Como funciona o cache?

Antes de mergulharmos nos testes, é importante entender alguns princípios básicos. O princípio de funcionamento do cache é bastante simples. O cache armazena os dados o mais próximo possível dos núcleos de processamento do processador para reduzir as solicitações da CPU para memórias mais distantes e lentas. Nas plataformas de desktop modernas, a hierarquia de cache inclui até três níveis que precedem o acesso à RAM. Além disso, os caches do segundo e, em particular, do terceiro nível servem não apenas para armazenar dados em buffer. Seu objetivo é evitar que o barramento do processador fique sobrecarregado quando os núcleos precisarem trocar informações.

Acertos e erros

A eficácia das arquiteturas de cache é medida pela taxa de acertos. As solicitações de dados que podem ser atendidas pelo cache são consideradas ocorrências. Se dado cache não contém os dados necessários, a solicitação é repassada ao longo do pipeline de memória e uma falha é contada. É claro que os erros levam a mais tempo necessário para obter informações. Como resultado, “bolhas” (ociosos) e atrasos aparecem no pipeline de computação. Os hits, pelo contrário, permitem manter o desempenho máximo.

Entrada de cache, exclusividade, coerência

As políticas de substituição determinam como o cache é liberado para novas entradas. Como os dados gravados no cache devem eventualmente aparecer na memória principal, os sistemas podem fazê-lo ao mesmo tempo que gravam no cache (write-through) ou podem marcar as áreas de dados como "sujas" (write-back) e gravar em memória quando é despejado do cache.

Dados em diversos níveis de cache podem ser armazenados de forma exclusiva, ou seja, sem redundância. Então você não encontrará as mesmas linhas de dados em duas hierarquias de cache diferentes. Ou os caches podem funcionar de forma inclusiva, ou seja, é garantido que os níveis mais baixos do cache contenham os dados presentes em níveis superiores cache (mais próximo do núcleo do processador). O AMD Phenom usa um cache L3 exclusivo, enquanto a Intel segue uma estratégia de cache inclusiva. Os protocolos de coerência garantem a integridade e a atualização dos dados em diferentes núcleos, níveis de cache e até mesmo processadores.

Tamanho da memória cache

Um cache maior pode conter mais dados, mas tende a aumentar a latência. Além disso, um cache grande consome um número considerável de transistores do processador, por isso é importante encontrar um equilíbrio entre o orçamento do transistor, o tamanho do die, o consumo de energia e o desempenho/latência.

Associatividade

As entradas na RAM podem ser mapeadas diretamente para o cache, ou seja, existe apenas uma posição de cache para uma cópia dos dados da RAM, ou podem ser associativas de n vias, ou seja, existem n locais possíveis no cache onde isso dados podem ser armazenados. Graus mais elevados de associatividade (até caches totalmente associativos) proporcionam maior flexibilidade de armazenamento em cache porque os dados existentes no cache não precisam ser reescritos. Em outras palavras, um alto grau n de associatividade garante uma taxa de acerto mais alta, mas também aumenta a latência porque leva mais tempo para verificar se há acerto em todas essas associações. Geralmente, o maior grau de associação é razoável para último nível cache, uma vez que a capacidade máxima está disponível lá, e a busca por dados fora desse cache fará com que o processador acesse a RAM lenta.

Aqui estão alguns exemplos: Core i5 e i7 usam 32 KB de cache L1 com associatividade de 8 vias para dados e 32 KB de cache L1 com associatividade de 4 vias para instruções. É compreensível que a Intel queira que as instruções estejam disponíveis mais rapidamente e que o cache de dados L1 tenha uma taxa de acerto máxima. Cache L2 Processadores Intel tem associatividade de 8 vias, e o cache L3 da Intel é ainda mais inteligente, pois implementa associatividade de 16 vias para maximizar os acessos.

No entanto, a AMD está seguindo uma estratégia diferente com os processadores Phenom II X4, que usam cache L1 associativo bidirecional para reduzir a latência. Para compensar possíveis perdas, a capacidade do cache foi duplicada: 64 KB para dados e 64 KB para instruções. O cache L2 possui associatividade de 8 vias, como o design da Intel, mas o cache L3 da AMD opera com associatividade de 48 vias. Mas a decisão de escolher uma arquitetura de cache em detrimento de outra não pode ser avaliada sem considerar toda a arquitetura da CPU. É bastante natural que os resultados dos testes tenham significado prático, e o nosso objectivo era precisamente teste prático toda essa complexa estrutura de cache multinível.

Todo processador moderno possui um cache dedicado que armazena instruções e dados do processador, prontos para uso quase que instantaneamente. Este nível é comumente referido como cache de Nível 1 ou L1 e foi introduzido pela primeira vez nos processadores 486DX. Recentemente Processadores AMD tornou-se padrão usar 64 KB de cache L1 por núcleo (para dados e instruções), e os processadores Intel usam 32 KB de cache L1 por núcleo (também para dados e instruções)

O cache L1 apareceu pela primeira vez nos processadores 486DX, após o que se tornou um recurso integrante de todas as CPUs modernas.

O cache de segundo nível (L2) apareceu em todos os processadores após o lançamento do Pentium III, embora as primeiras implementações dele em embalagens tenham ocorrido no processador Pentium Pro (mas não no chip). Os processadores modernos são equipados com até 6 MB de cache L2 no chip. Via de regra, esse volume é dividido entre dois núcleos em um processador Intel Core 2 Duo, por exemplo. As configurações L2 típicas fornecem 512 KB ou 1 MB de cache por núcleo. Processadores com tamanhos menores de cache L2 tendem a ter preços mais baixos. Abaixo está um diagrama das primeiras implementações de cache L2.

O Pentium Pro tinha cache L2 na embalagem do processador. Nas gerações subsequentes do Pentium III e Athlon, o cache L2 foi implementado através de chips SRAM separados, o que era muito comum naquela época (1998, 1999).

O anúncio subsequente de uma tecnologia de processo de até 180 nm permitiu aos fabricantes finalmente integrar o cache L2 na matriz do processador.


Os primeiros processadores dual-core simplesmente usaram designs existentes que incluíam duas matrizes por pacote. A AMD introduziu um processador dual-core em um chip monolítico, adicionou um controlador de memória e um switch, e a Intel simplesmente montou dois chips single-core em um pacote para seu primeiro processador dual-core.


Pela primeira vez, o cache L2 começou a ser compartilhado entre dois núcleos de computação em Processadores principais 2 Dupla. A AMD foi além e criou seu primeiro Phenom quad-core do zero, e a Intel novamente usou um par de matrizes, desta vez duas matrizes Core 2 dual-core, em seu primeiro processador quad-core para reduzir custos.

O cache de terceiro nível existe desde os primeiros dias do processador Alpha 21165 (96 KB, processadores introduzidos em 1995) ou IBM Power 4 (256 KB, 2001). No entanto, em arquiteturas baseadas em x86, o cache L3 apareceu pela primeira vez com os modelos Intel Itanium 2, Pentium 4 Extreme (Gallatin, ambos processadores em 2003) e Xeon MP (2006).

As primeiras implementações simplesmente forneceram outro nível na hierarquia de cache, embora as arquiteturas modernas usem o cache L3 como um buffer grande e compartilhado para troca de dados entre núcleos em processadores multi-core. Isto é enfatizado pelo alto grau n de associatividade. É melhor procurar dados um pouco mais no cache do que acabar com uma situação em que vários núcleos usam acesso muito lento à RAM principal. A AMD introduziu pela primeira vez o cache L3 em um processador de desktop com a já mencionada linha Phenom. O Phenom X4 de 65 nm continha 2 MB de cache L3 compartilhado, e o moderno Phenom II X4 de 45 nm já possui 6 MB de cache L3 compartilhado. Os processadores Intel Core i7 e i5 usam 8 MB de cache L3.

Moderno processadores quad core possuem caches L1 e L2 dedicados para cada núcleo, bem como um grande cache L3 compartilhado por todos os núcleos. O cache L3 compartilhado também permite a troca de dados nos quais os núcleos podem trabalhar em paralelo.


Ao realizar diversas tarefas, o processador do seu computador recebe blocos necessários informações da RAM. Depois de processá-los, a CPU grava os resultados dos cálculos obtidos na memória e recebe os blocos subsequentes de dados para processamento. Isso continua até que a tarefa seja concluída.

Os processos acima são realizados em altíssima velocidade. No entanto, a velocidade mesmo da RAM mais rápida é significativamente menor do que a velocidade de qualquer processador fraco. Cada ação, seja escrever informações ou lê-las, leva muito tempo. A velocidade da RAM é dezenas de vezes menor que a velocidade do processador.

Apesar dessa diferença na velocidade de processamento das informações, o processador do PC não fica ocioso e não espera que a RAM emita e receba dados. O processador está sempre funcionando e tudo graças à presença de memória cache nele.

Um cache é um tipo especial de RAM. O processador usa memória cache para armazenar as cópias de informações da RAM principal do computador que provavelmente serão acessadas em um futuro próximo.

Essencialmente, a memória cache atua como um buffer de memória de alta velocidade que armazena informações de que o processador pode precisar. Assim, o processador recebe os dados necessários dezenas de vezes mais rápido do que quando os lê da RAM.

A principal diferença entre uma memória cache e um buffer regular é o funções lógicas. O buffer armazena dados aleatórios, que geralmente são processados ​​de acordo com o esquema “recebido primeiro, emitido primeiro” ou “recebido primeiro, emitido por último”. O cache de memória contém dados que provavelmente serão acessados ​​em um futuro próximo. Portanto, graças ao “cache inteligente”, o processador pode operar em velocidade máxima e não esperar que os dados sejam recuperados da RAM mais lenta.

Tipos e níveis básicos de memória cache L1 L2 L3

A memória cache é feita na forma de chips de memória estática de acesso aleatório (SRAM), que são instalados em Placa do sistema ou embutido no processador. Comparada a outros tipos de memória, a memória estática pode operar em velocidades muito altas.

A velocidade do cache depende do tamanho do chip específico. Quanto maior o chip, mais difícil será atingir alta velocidade para sua operação. Levando em consideração esse recurso, durante a fabricação a memória cache do processador é formada na forma de vários pequenos blocos chamados níveis. O mais comum hoje é o sistema de cache de três níveis L1, L2, L3:

Memória cache L1 - o menor em volume (apenas algumas dezenas de kilobytes), mas o mais rápido em velocidade e o mais importante. Ele contém os dados usados ​​com mais frequência pelo processador e é executado sem demora. Normalmente, o número de chips de memória L1 é igual ao número de núcleos do processador, com cada núcleo acessando apenas seu chip L1.

Memória cache L2 É inferior em velocidade à memória L1, mas superior em volume, que já é medido em várias centenas de kilobytes. Destina-se ao armazenamento temporário informação importante, cuja probabilidade de acesso é inferior à das informações armazenadas no cache L1.

Cache de terceiro nível L3 - possui o maior volume dos três níveis (pode chegar a dezenas de megabytes), mas também possui a velocidade mais lenta, que ainda é significativamente superior à velocidade da RAM. A memória cache L3 é comum a todos os núcleos do processador. O nível de memória L3 é projetado para armazenamento temporário desses dados importantes, cuja probabilidade de acesso é ligeiramente inferior à das informações armazenadas nos dois primeiros níveis L1, L2. Também garante que os núcleos do processador se comuniquem entre si.

Alguns modelos de processadores são projetados com dois níveis de memória cache, nos quais L2 combina todas as funções de L2 e L3.

Quando um tamanho de cache grande é útil.

Você sentirá um efeito significativo de um grande volume de cache ao usar programas de arquivamento, em jogos 3D, durante o processamento e codificação de vídeo. Em programas e aplicativos relativamente “leves”, a diferença é praticamente imperceptível ( programas de escritório, jogadores, etc.).

Acontece que eu tinha um processador i5 2400 em mãos e como tenho um 2600k, que tem cache L3 de 8 MB contra 6 MB de um i5, queria compará-los em jogos e aplicativos. O tempo foi limitado, então não haverá muitos testes. Mas para acrescentar ainda mais informações, brinquei com a memória e simulei três situações com o i5 2400.

1. Configure com o mais barato placa-mãe em um chipset com índice “H”, onde não há opção de overclock e a frequência de todos os núcleos será de 3200MHz. A RAM operará a 1333 MHz com tempos de 9:9:9:27

2. Configure com placa-mãe em chipset com índices “P” e “Z”, que têm a capacidade de aumentar o multiplicador de processadores com suporte turbo boost em quatro pontos. No meu caso, com um processador i5 2400, o multiplicador de 32 pode ser aumentado para 36, ​​obtendo-se assim uma frequência de 3600MHz. Tendo também feito overclock no barramento, consegui 3800MHz, que é 600MHz a mais que na primeira configuração. A RAM, neste caso, operará a uma frequência de 2.252 MHz com tempos de 9:9:9:27

3. A configuração é exatamente igual à segunda, mas com frequência de RAM de 1689MHz nos horários 9:9:9:27

4. Configuração com processador de 2600k a 3,80GHz, HT desabilitado e RAM de 2252MHz com tempos 9:9:9:27.

Componentes de teste:
Intel Core i7 2600K
Intel Core i5 2400
Placa-mãe: ASUS P8Z77-V Deluxe
RAM: 16 GB DDR3 CRUCIAL Ballistix Elite
Placa de vídeo: GTX 780 Ti 1279|7800 Drivers: 381,89
Fonte de alimentação: APS-850C 850W
sistema operacional: Windows 8.1 x64 limpo (35 processos após inicialização do sistema)

i5 2400 3200 MHz DDR3 1333 MHz

i5 2400 3800 MHz DDR3 1689 MHz

i5 2400 3800 MHz DDR3 2252 MHz

i7 2600k 3800MHz 2252MHz

NVIDIA GTX 780 Ti 1279|7800

Resultado dos testes:

Pontuação de CPU do 3DMark 2013




O ganho do cache e da RAM é mínimo.

_________________________________________________________________________________________________

Cinebench R15




No Cinebench R15 vemos uma imagem semelhante.

_________________________________________________________________________________________________

Volume de tarefas do LinX 0.6.5: 25.000




No LinX, também, apenas o overclock do processador dá um aumento

_________________________________________________________________________________________________

Referência x264 FHD




E novamente o aumento está no nível do erro.

_________________________________________________________________________________________________

Winrar v4.20



E finalmente obtemos um aumento no cache de cerca de 6% e na memória cerca de 15%

_________________________________________________________________________________________________

Campo de Batalha 1 para um jogador


Permissão: 1280x720
Escala de resolução: 100%
Qualidade da textura: fundo. / média. / alto / ultra
Filtragem de textura: fundo. / média. / alto / ultra
Qualidade de iluminação: fundo. / média. / alto / ultra
Qualidade do efeito: fundo. / média. / alto / ultra
Qualidade pós-processamento: fundo. / média. / alto / ultra
Qualidade da malha: fundo. / média. / alto / ultra
Qualidade da paisagem: fundo. / média. / alto / ultra
Qualidade da grama: fundo. / média. / alto / ultra
Qualidade de suavização: Não/ FXAA (médio) / FXAA (alto) / TAA
Luz volumétrica: não /SSAO/ HBAO


Há um ligeiro aumento no cache L3.

_________________________________________________________________________________________________

Crysis 3 Bem vindo à selva


Permissão: 1280x720
Suavização: desligado
Resolução de textura: baixo / média / alto / Máx.
Efeitos: baixo / média / alto / Máx.
Um objeto: baixo / média / alto / Máx.
Partículas: baixo / média / alto / Máx.
Pós-processamento: baixo / média / alto / Máx.
Sombreamento: baixo / média / alto / Máx.
Sombras: baixo / média / alto / Máx.
Água: baixo / média / alto / Máx.
Filtro anisotrópico: 1x / 2x / 4x / 8x / 16x
Nível de desfoque: desligado
Brilho: Sim/ Não


Uma das cenas que mais consome CPU do jogo. O aumento depende apenas da frequência do processador. A carga do 780Ti nesta cena mesmo no i7 não ultrapassou 50%

_________________________________________________________________________________________________

Grande Roubo de carros V Benchmark integrado (última cena)


Permissão: 1280x720
Versão DirectX: 11
Anti-aliasing FXAA: desligado/ sobre
Antialiasing MSAA: desligado/x2/x4/x8
População da cidade: máx.
Tipo de população: máx.
Escala de foco: máx.
Qualidade da textura: padrão / alto / muito alto
Qualidade do sombreador: padrão / alto / muito alto
Qualidade da sombra: padrão / alto / muito alto
Qualidade de reflexão: mais elevado grau
MSAA para reflexões: desligado/x2/x4/x8
Qualidade da água: padrão / alto / muito alto
Qualidade das partículas: padrão / alto / muito alto
Qualidade da grama: padrão / alto / muito alto / mais elevado grau
Sombras suaves: nítido / suave / mais suave / máx. NVIDIA PCSS
Configurando efeitos especiais: padrão / alto / muito alto / mais elevado grau
Nível de desfoque de movimento: min
Efeito de profundidade de campo: desligado/ sobre
Filtragem anisotrópica: x16
Sombreamento AO: desligado / padrão / alto
Tesselação: desligado / padrão / alto / muito alto

Configurações adicionais:
Sombras longas: desligado / sobre
Sombras alta resolução: desligado / sobre
Carregando texturas mais detalhadas durante o voo: desligado / sobre
Aumentando a distância de carregamento para objetos mais detalhados: máx.
Comprimento da sombra: máx.


Este jogo definitivamente tem um aumento na memória e no cache. Um aumento muito bom no i5 2400 3,80 GHz em relação ao estoque de 3,20 GHz.

_________________________________________________________________________________________________

Efeito de massa Andrômeda


Permissão: 1280x720
Suavização: desligado
Grão: desligado / sobre
Aberrações cromáticas: desligado / sobre
Qualidade da textura: ultra
Sombreamento difuso: desligado /SSAO/HBAO/ HBAO completo
Qualidade pós-processamento: baixo Médio Alto / ultra
Qualidade da textura: baixo Médio Alto / ultra
Qualidade de iluminação: baixo Médio Alto / ultra
Qualidade da sombra: baixo Médio Alto / ultra
Qualidade do efeito: baixo Médio Alto / ultra
Qualidade do modelo: baixo Médio Alto / ultra
Qualidade do sombreador: baixo/ alto
Qualidade da paisagem: baixo Médio Alto / ultra
Qualidade da planta: baixo Médio Alto / ultra


Nesta cena, nenhum dos dois abriu totalmente o 780Ti.
_________________________________________________________________________________________________

Mundo dos tanques 0.9.18
Mapa: Passe

Suavização: abrir/ sobre
Artes gráficas: padrão / melhorou
Qualidade da textura: baixo Médio Alto / máximo
Qualidade de iluminação: máximo
Qualidade da sombra: desligado/médio/alto/ máximo
Grama no modo atirador: desligado / sobre
Qualidade extra efeitos: desligado / baixo / médio / alto / máximo
Efeitos adicionais no modo atirador: alto
Quantidade de vegetação: desligado / baixo / médio / alto / máximo
Pós-processamento: desligado / baixo / médio / alto / máximo
Efeitos sob as faixas: desligado / sobre
Qualidade da paisagem: mínimo / baixo / médio / alto / máximo
Qualidade da água: baixo Médio Alto / máximo
Qualidade dos decalques: desligado / baixo / médio / alto / máximo
Detalhamento do objeto: baixo Médio Alto / máximo
Detalhamento da árvore: baixo Médio Alto / máximo
Tornar distância: baixo Médio Alto / máximo
Qualidade de desfoque de movimento: desligado / baixo / médio / alto
D Mudança dinâmica na qualidade dos efeitos: desligado / sobre
Rastros de lagartas: desligado / sobre

Conclusão: Alguns reviewers do Youtube simplesmente desabilitam o HT, fazendo do I7 um i5 “artificial”, mas com um cache grande... e dizem que não há diferença. Mas ainda assim, em alguns jogos, o cache adicional aumenta.

E em geral, fazer overclock em um i5 2400 padrão dá um aumento muito forte, mas aí você terá que gastar dinheiro em uma placa-mãe.

Cache - buffer intermediário com acesso rápido, contendo informações que provavelmente serão solicitadas. Acessar dados no cache é mais rápido que recuperar dados de origem da memória operacional (RAM) e mais rápido que a memória externa ( Disco rígido ou Disco de Estado Sólido) memória, reduzindo assim o tempo médio de acesso e aumentando o desempenho geral do sistema informático.

Vários modelos de unidades de processamento central (CPU) possuem seu próprio cache para minimizar o acesso à memória de acesso aleatório (RAM), que é mais lenta que os registros. A memória cache pode fornecer benefícios significativos de desempenho quando a velocidade do clock da RAM é significativamente menor que a velocidade do clock da CPU. Frequência do relógio para memória cache geralmente não é muito menor que a frequência da CPU.

Níveis de cache

Cache processador central dividido em vários níveis. Em um processador de uso geral atual, o número de níveis pode chegar a 3. O cache de nível N+1 é normalmente maior em tamanho e mais lento em velocidade de acesso e transferência de dados do que o cache de nível N.

Maioria memória rápidaé o cache de primeiro nível - cache L1. Na verdade, é parte integrante do processador, pois está localizado no mesmo chip e faz parte dos blocos funcionais. Nos processadores modernos, o cache L1 é geralmente dividido em dois caches, o cache de instruções e o cache de dados (arquitetura Harvard). A maioria dos processadores sem cache L1 não funciona. O cache L1 opera na frequência do processador e, em geral, pode ser acessado a cada ciclo de clock. Muitas vezes é possível realizar múltiplas operações de leitura/gravação simultaneamente. A latência de acesso é geralmente de 2 a 4 ciclos de clock principais. O volume geralmente é pequeno - não mais que 384 KB.

O segundo mais rápido é o cache L2 - um cache de segundo nível, geralmente localizado no chip, como o L1. Em processadores mais antigos, um conjunto de chips na placa-mãe. Volume de cache L2 de 128 KB a 1–12 MB. Nos processadores multi-core modernos, o cache de segundo nível, localizado no mesmo chip, é uma memória separada - com um tamanho total de cache de nM MB, cada núcleo possui nM/nC MB, onde nC é o número de núcleos do processador. Normalmente, a latência do cache L2 localizado no chip principal é de 8 a 20 ciclos de clock do núcleo.

O cache de terceiro nível é o menos rápido, mas pode ter um tamanho impressionante - mais de 24 MB. O cache L3 é mais lento que os caches anteriores, mas ainda significativamente mais rápido que BATER. Em sistemas multiprocessadores é de uso comum e destina-se à sincronização de dados de diferentes L2s.

Às vezes há também um cache de 4º nível, geralmente localizado em um chip separado. O uso do cache Nível 4 se justifica apenas para servidores e mainframes de alto desempenho.

O problema de sincronização entre diferentes caches (um e vários processadores) é resolvido pela coerência do cache. Existem três opções para troca de informações entre caches de diferentes níveis, ou, como se costuma dizer, arquiteturas de cache: inclusivas, exclusivas e não exclusivas.

Um dos fatores importantes que aumentam o desempenho do processador é a presença de memória cache, ou melhor, seu volume, velocidade de acesso e distribuição entre níveis.

Há já algum tempo que quase todos os processadores estão equipados com este tipo de memória, o que mais uma vez comprova a utilidade da sua presença. Neste artigo falaremos sobre a estrutura, níveis e finalidade prática da memória cache, o que é muito importante. características do processador.

O que é memória cache e sua estrutura

A memória cache é uma memória ultrarrápida usada pelo processador para armazenar temporariamente os dados acessados ​​com mais frequência. É assim que você pode descrever brevemente esse tipo memória.

A memória cache é construída em flip-flops, que, por sua vez, consistem em transistores. Um grupo de transistores ocupa muito mais espaço do que os mesmos capacitores que compõem o BATER. Isto acarreta muitas dificuldades na produção, bem como limitações de volume. É por isso que a memória cache é uma memória muito cara, embora tenha volumes insignificantes. Mas dessa estrutura vem a principal vantagem dessa memória - a velocidade. Como os flip-flops não precisam de regeneração e o tempo de atraso da porta na qual estão montados é pequeno, o tempo para mudar o flip-flop de um estado para outro ocorre muito rapidamente. Isso permite que a memória cache opere nas mesmas frequências dos processadores modernos.

Além disso, um fator importante é o posicionamento da memória cache. Ele está localizado no próprio chip do processador, o que reduz significativamente o tempo de acesso. Anteriormente, a memória cache de alguns níveis estava localizada fora do chip do processador, em um chip SRAM especial em algum lugar do vasto placa-mãe. Agora, quase todos os processadores possuem memória cache localizada no chip do processador.


Para que é usado o cache do processador?

Conforme mencionado acima, o principal objetivo da memória cache é armazenar dados que são frequentemente usados ​​pelo processador. O cache é um buffer no qual os dados são carregados e, apesar de seu tamanho pequeno (cerca de 4 a 16 MB), processadores modernos, proporciona um aumento significativo de desempenho em qualquer aplicativo.

Para entender melhor a necessidade de memória cache, vamos imaginar organizar a memória de um computador como se fosse um escritório. A RAM será um gabinete com pastas que o contador acessa periodicamente para recuperar grandes blocos de dados (ou seja, pastas). E a mesa será uma memória cache.

Há elementos que são colocados na mesa do contador, aos quais ele se refere diversas vezes ao longo de uma hora. Por exemplo, podem ser números de telefone, alguns exemplos de documentos. Esses tipos de informações ficam localizados diretamente na mesa, o que, por sua vez, aumenta a velocidade de acesso a elas.

Da mesma forma, os dados podem ser adicionados desses grandes blocos de dados (pastas) à tabela para uso rápido, por exemplo, um documento. Quando este documento não é mais necessário, ele é colocado de volta no gabinete (na RAM), limpando assim a tabela (memória cache) e liberando esta tabela para novos documentos que serão utilizados no próximo período de tempo.

Também com a memória cache, se houver algum dado com maior probabilidade de ser acessado novamente, esses dados da RAM serão carregados na memória cache. Muitas vezes, isso acontece através do co-carregamento dos dados que têm maior probabilidade de serem usados ​​após os dados atuais. Ou seja, existem suposições sobre o que será utilizado “depois”. Estes são os princípios operacionais complexos.

Níveis de cache do processador

Os processadores modernos estão equipados com um cache, que geralmente consiste em 2 ou 3 níveis. Claro que existem exceções, mas muitas vezes é esse o caso.

Em geral, podem existir os seguintes níveis: L1 (primeiro nível), L2 (segundo nível), L3 (terceiro nível). Agora um pouco mais de detalhes sobre cada um deles:

Cache de primeiro nível (L1)– o nível de memória cache mais rápido que trabalha diretamente com o núcleo do processador, graças a essa interação estreita, esse nível tem o menor tempo de acesso e opera em frequências próximas ao processador. É um buffer entre o processador e o cache de segundo nível.

Vamos considerar os volumes no processador alto nível desempenho do Intel Core i7-3770K. Este processador está equipado com cache L1 de 4x32 KB 4 x 32 KB = 128 KB. (32 KB por núcleo)

Cache de segundo nível (L2)– o segundo nível é de maior escala que o primeiro, mas como resultado, tem “características de velocidade” mais baixas. Conseqüentemente, serve como um buffer entre os níveis L1 e L3. Se olharmos novamente para nosso exemplo Core i7-3770 K, o tamanho da memória cache L2 é 4x256 KB = 1 MB.

Cache de nível 3 (L3)– o terceiro nível, novamente, é mais lento que os dois anteriores. Mas ainda é muito mais rápido que a RAM. O tamanho do cache L3 no i7-3770K é de 8 MB. Se os dois níveis anteriores forem compartilhados por cada núcleo, esse nível será comum a todo o processador. O indicador é bastante sólido, mas não exorbitante. Já que, por exemplo, para processadores da série Extreme como o i7-3960X, são 15 MB, e para alguns novos processadores Xeon, mais de 20.



gastroguru 2017