Nesta tabela podemos ver que alguns processadores têm também uma cache L2, o equivalente à cache externa situada nas placas principais, que posteriormente começou a ser parte integrante do processador.
CPU | Tamanho da Cache |
80486DX e DX2 | 8 kb L1 |
Pentium | 16 Kb L1 |
Pentium Pro | 16Kb L1 + 256 KB L2 |
Pentium MMX | 32 KB L1 |
AMD K6 e K6-2 | 64 KB L1 |
Pentium II e Pentium III | 32 KB L1 |
Celeron | 32 KB + 128KB L2 |
Pentium II CuMine | 32 KB L1 + 256KB L2 |
AMD K6-3 | 64KB L1 + 256KB L2 |
AMD K7 Athlon | 128Kb L1 |
AMD Duron | 128 KB L1 + 64 KB L2 |
AMD Athlon Thunderbird | 128 KB L1 + 256KB L2 |
O processador tem de receber e entregar os dados a alta velocidade. A memória RAM não consegue acompanhar essa necessidade de velocidade, pelo que foi criada uma memória RAM especial, a que se chamou cache, a qual é utilizada como área de armazenamento temporário. Para se tirar a máxima performance do CPU, o número de transacções para o exterior deve ser minimizado. Quanto mais dados puderem ser mantidos dentro do CPU, melhor será a performance. Tomemos como exemplo os processadores 486, equipados com uma unidade de virgula flutuante e uma cache interna de 8KB. Estes dois elementos ajudam a minimizar o fluxo de dados que entra e sai do CPU, aumentando a sua performance.
Como já vimos, a cache funciona como um armazenamento temporário para instruções frequentemente utilizadas, reduzindo assim a busca de dados na memória principal do sistema.
Apesar de a cache L1 aparecer inicialmente no 486, a partir do Pentium ela passou a ter um refinamento. O 486 tem uma cache unificada de 8KB, que era usada para código e para instruções. A partir do Pentium, os processadores passaram a ter cache L1 dividida em duas partes, sendo uma delas reservada para dados e outra reservada para código. Retomando o exemplo do Pentium, temos uma cache L1 com 16Kb, sendo 8KB para código e 8KB para dados. Vejamos as características da cada um destes tipos de cache.
Temos as seguintes características da cache única:
- Para um dado tamanho de cache, uma cache única apresenta uma taxa de acerto maior do que caches separadas.
- Apenas é necessário projectar uma cache.
- A manipulação do código é mais simples.
Vejamos agora as caches separadas:
- Reduzem os conflitos de barramento.
- Aumentam a disponibilidade de cache quando necessário.
A opção do uso de caches separadas para o Pentium foi devida á necessidade de uma maior largura de banda do que a que era proporcionada pela cache única.
A memória cache torna-se especialmente importante nos processadores em que a frequnência interna é multiplicada, o que a torna muito superior á externa. Assim, a cache permite uma recepção e entrega de dados muito mais rápida.
Os computadores têm dois niveis de memória cache, a L1 interna e a L2 inicialmente externa, mas que posteriormente passou também a ser colocada no próprio chip do processador, com notórias vantagens a nível de performance global.
Sem comentários:
Enviar um comentário