Ver Feed RSS

cooperrj

Processadores Parte 3

Avalie este Post de Blog
Memória cache e Co-processador aritmético


Memória cache
Os processadores, evidentemente, sofreram grandes aperfeiçoamentos ao longo dos anos. No entanto, chegou-se a um ponto em que estes evoluíram de forma tão rápida que o acesso à memória do computador ficou comprometida, pois apesar de também ter sofrido boas mudanças, a memória é mais lenta para ser acessada, fazendo com que o processador não conseguisse trabalhar com toda sua velocidade, devido a sua dependência da velocidade de acesso aos dados da memória. Esse problema ficou notável a partir do ano de 1990, quando os processadores passaram a trabalhar acima de 25 MHz.
Uma solução para este problema seria usar memórias rápidas, como a SRAM, mas estas eram muito caras e inviabilizariam a compra de computadores. Além disso, tais memórias eram complexas e grandes, o que exigiria mais espaço interno no gabinete da máquina. Mesmo assim, a idéia não foi totalmente descartada, pois serviu de base para uma solução eficiente: a memória cache.
A memória cache consiste numa pequena quantidade de memória SRAM, incluída no chip do processador. Quando este precisa ler dados na memória RAM, um circuito especial, chamado de controlador de Cache, transfere os dados mais requisitados da RAM para a memória cache. Assim, no próximo acesso do processador, este consultará a memória cache, que é bem mais rápida, permitindo o processamento de dados de maneira mais eficiente. Enquanto o processador lê os dados na cache, o controlador acessa mais informações na RAM, transferindo-as para a memória cache. De grosso modo, pode-se dizer que a cache fica entre o processador e a memória RAM. Veja a ilustração abaixo:
http://www.infowester.com/img_art/mem_cac_proc.jpg
Com o uso da memória cache, na maior parte do tempo, o processador encontra nela os dados que precisa. Prova disso, é que se a cache de um processador atual for desabilitada, o computador pode ter queda de desempenho de mais de 30%.
Tipos de memória cache
Atualmente, existem 3 tipos de memória cache, que serão mostrados a seguir:
Cache L1 (Leve 1 - Nível 1 ou cache interno): trata-se de um tipo de cache em uso desde o processador 486. É chamado de cache interno porque se localiza dentro do procesador. O cache L1 é tão importante para o processador, que este, mesmo tendo clock inferior, pode ser mais rápido que um processador de clock superior, mas sem cache. O tamanho deste cache pode ir de 16 KB (como o Pentium) a 512 KB (como o Pentium 4). Os processadores 486 tinham cache de 8 KB.
Cache L2 (Level 2 - Nível 2 ou cache externo): o cache L1 não era totalmente perfeito, pois tinha tamanho pequeno e apresentava alguns erros, que obrigavam o processador a buscar os dados na memória RAM. Um solução foi a implantação de uma memória cache fora do processador. Eis a cache L2, que para ser usada, necessita de um controlador, que geralmente é imbutido no chipset da placa-mãe. É este chip que também determina o tamanho máximo do cache L2. O tamanhos mais comuns são os de 256 KB e 512 KB, mas é perfeitamente possível a existência de caches maiores. Um fato importante a ser citado, é que diversos processadores trazem o cache L2 embutido dentro de si, fazendo com que as terminologias Interno e Externo perderem o sentido.
Cache L3 (Level 3 - Nível 3): trata-se de um tipo incomum, usado pelo processador AMD K6-III. Este possui o cache L2 embutido em si, de forma que o cache L2 existente na placa-mãe pudesse ser usado como uma terceira cache. Daí o nome L3. Tal fato fez do K6-III um processador muito rápido em sua época.
Co-processador aritmético
Dois dos primeiros processadores existentes, o 8086 e 8088, poderiam trabalhar em conjunto com um processador especial, chamado 8087. A função deste processador era a de realizar cálculos matemáticos complexos. O processador, quando muito, passaria então a executar cálculos mais simples e a se preocupar com outras instruções. O 8087 é o que conhecemos hoje como "Co-processador aritmético" ou "Co-processador matemático". Seu nome em inglês é FPU (Floating Point Unit - Unidade de de Ponto Flutuante).
Esse recurso, hoje em dia, é embutido no processador, e seu uso é considerado indispensável, pois ele é projetado para realizar os mais diversos tipos de cálculo. Só para dar uma noção da importância do co-processador, uma operação matemática, que no processador necessita de várias instruções para ser concluída, pode ser realizada em uma única instrução pelo co-processador.
http://www.infowester.com/img_art/pentium2.jpg
Foto do processador Intel Pentium II
Categorias
Não Categorizado

Comentários


+ Enviar Comentário