Caches de computador

O computador é uma máquina em que medimos o tempo em intervalos muito pequenos. Quando o microprocessador tem acesso à memória principal (RAM), ele o faz em cerca de 60 nanosegundos (60 bilionésimos de um segundo). Isso é muito rápido, mas muito lento para um microprocessador comum. Os microprocessadores podem ter tempos de ciclo de acesso à memória tão pequenos quanto 2 nanosegundos. Assim, para um microprocessador, 60 nanosegundos parece uma eternidade.

E se construirmos um banco de memória especial na placa-mãe, pequeno mas muito veloz (em torno de 30 nanosegundos)? Isso já seria duas vezes mais rápido do que o acesso à memória principal. Vamos chamar esse banco de cache de nível 2 ou cache L2. E se construirmos um sistema de memória ainda menor, porém mais rápido, diretamente no chip do microprocessador? Assim, o acesso a essa memória será feito à velocidade do microprocessador e não à velocidade do barramento de memória. Isso seria um cache L1, que em um Pentium Dual Core é 8 vezes mais rápido do que o cache L2, que por sua vez é quatro vezes mais rápido do que o acesso à memória principal.

Alguns microprocessadores têm dois níveis de cache embutidos no chip. Nesse caso, o cache da placa-mãe - o cache que existe entre o microprocessador e o sistema de memória passa a ser de nível 3, ou cache L3.

Há muitos subsistemas em um computador; podemos colocar cache entre muitos deles para melhorar o desempenho. Eis um exemplo: temos o microprocessador (o componente mais rápido do computador). Depois, há o cache L1, que armazena em cache, o cache L2, que por sua vez armazena em cache, a memória principal, que pode ser usada (e o é com freqüência) como um cache para periféricos ainda mais lentos, por exemplo, como discos rígidos e CD-roms. Além disso, os discos rígidos são usados para o armazenamento em cache de um meio ainda mais lento - a conexão à Internet.