A cache interna apareceu pela primeira vez no processador Intel 80486DX e denominou-se L1 (Level 1). Desde esse momento, a cache teve o seu desenvolvimento natural, principalmente em tamanho, como podemos ver na tabela 3.5.
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, mas vamos abordar este assunto posteriormente.
| CPU | Tamanho da Cache |
| 80486DX e DX2 | 8KB L1 |
| Pentium | 16 KB L1 |
| Pentium Pro | 16 KB + 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 + 128 KB L2 |
| Pentium II CuMine | 32 KB L1+ 256 KB L2 |
| AMD K6-3 | 64 KB L1 + 256 KB L2 |
| AMD K7 Athlon | 128 KB L1 |
| AMD Duron | 128 KB L1 + 64 KB L2 |
| AMD Athlon Thunderbird | 128 KB L1 + 256 KB L2 |
Tabela 3.5 – Tabelada memória cache
Vejamos agora qual a sua função e com funciona.
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 vírgula flutuante e uma cache interna de 8 KB. 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 armazenamento temporário para instruções frequentemente utilizadas, reduzindo assim a busca de dados na memória principal do sistema.
Apesar da 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 o código e para instruções. A partir do Pentium, os processadores passaram a ter a 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 16 KB, sendo 8 KB para código e 8 KB para dados. Vejamos as características de 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 da cache quando necessário.
A opção do uso de caches separadas para o Pentium foi devida à necessidade de uma maior largura debanda do que a que era proporcionada pela cache única.
A memória cache torna-se especialmente importante nos processadores em que a frequê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.
Como já foi referido e podemos ver na figura 3.19, os computadores têm dois níveis de memória cache, a L1 interna e a L2 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, como veremos mais à frente.
Fig. 3.19 – Processador Pentium
Sem comentários:
Enviar um comentário