sexta-feira, 4 de fevereiro de 2011

3.4.8 Cache Interna

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