terça-feira, 26 de outubro de 2010

ENTENDENDO A MEMORIA CACHE L1 e L2

A memoria cache é um tipo de memória super rápida que armazena os dados e instruções mais utilizadas pelo processador, permitindo que estas sejam acessadas rapidamente.

O cache passou a ser utilizado a partir dos micros 386, quando os processadores começaram a tornar-se mais rápidos que a memória RAM. Quanto maior a quantidade, ou quanto maior a velocidade, maior será a eficiência do cache. Geralmente o cache é divido em dois níveis, chamados de cache L1 (level 1) e cache L2.
Um Pentium III Coppermine, por exemplo, tem 32 KB de cache L1 e 256 KB de cache L2, ambos operando na freqüência do processador. Alguns processadores, como o K6-3 e o Pentium 4 Xeon utilizam também cache L3.

Cache L1

A primeira camada de cache do sistema, encontrada sempre dentro do próprio processador (com excessão apenas para os micros 386). O cache L1 trabalha sempre na mesma freqüência do processador e com tempos de latência extremamente baixos.

Cache L2

Encontrado ou embutido no processador, ou na placa mãe, dependendo do sistema. Mesmo no caso dos processadores atuais, que trazem tanto cache L1 quanto cache L2 embutidos, operando à mesma freqüência do processador, os tempos de latência do cache L2 sempre serão mais altos, garantindo uma velocidade de acesso mais baixa que no L1.

Cache L3

O primeiro processador a utilizar cache L3 foi o K6-3, onde tanto o cache L1 e o L2 vinham embutidos no processador, sendo o cache da placa mãe aproveitado na forma do cache L3. Sistemas semelhantes também são usados em alguns servidores, onde chegam a ser usados vários MB de L3. O Pentium 4 Xeon da Intel também utiliza cache L3, mas embutido no próprio núcleo do processador.

Hierarquia de memória consiste, basicamente, de:

Registrador (CPU) <=> Cache L1 <=> Cache L2 <=> Memória principal (DRAM) <=> Memória secundária (disco).

Onde o desempenho cresce da direita para a esquerda (maior desempenho: registrador, menor: disco) e o tamanho cresce da esquerda para a direita (menor tamanho - 4 ou 8 bytes: registrador, maior tamanho - dezenas de GiB: disco).
Os chips de memória cache utilizam memória SRAM, um tipo mais caro de memória que não precisa de refresh. O refresh é uma característica inerente a todas as tecnologias de memória RAM, incluindo as DDR e DDR2 atuais. Cada célula do pente de memória é composta por um transístor e um capacitor. O transístor controla a passagem do impulso elétrico, enquanto o capacitor o armazena. O problema é que o capacitor é capaz de manter a carga por um curto período, de forma que os dados precisam ser reescritos várias vezes por segundo.
A memória cache armazena os dados mais usados pelo processador, reduzindo o número de operações em que é preciso buscar dados diretamente na lenta memória RAM. Mesmo uma pequena quantidade de memória cache é capaz de melhorar bastante o desempenho do processador.

Nenhum comentário:

Postar um comentário