Processadores de 64 bits

Athlon 64, o primeiro processador x86 de 64 bits.

Antes do Athlon 64, a Intel vinha tentando empurrar o IA64, um novo conjunto de instruções de 64 bits, que era usado no Itanium. A diferença fundamental entre o IA64 e o x86-64 (usado no Athlon 64) é que o IA64 era incompatível com o conjunto anterior (todos os softwares precisam ser reescritos), enquanto o x86-64 é uma atualização mais suave, que permite usar tanto sistemas operacionais e softwares de 32 bits, quanto sistemas e softwares de 64 bits.

O padrão da AMD prevaleceu, e é graças a isso que podemos escolher entre usar as versões de 32 bits e 64 bits do Windows ou de diversas distribuições Linux nos processadores atuais, sem nos preocuparmos com a questão da compatibilidade.

todos os processadores Intel e AMD, do 386 ao Athlon, são chamados genericamente de “processadores x86”, deixando claro que apesar de todas as diferenças de arquitetura, eles são compatíveis com o mesmo conjunto básico de instruções. É graças a isso que temos um número tão grande de softwares, acumulados ao longo de mais de duas décadas, que continuam funcionando nos PCs atuais. Com exceção da questão dos drivers, você poderia perfeitamente rodar o MS-DOS e o Windows 3.11 em um Core i7, por exemplo.

Resumindo, o Athlon 64 é o microprocessador de oitava geração (conhecida como Hammer ou K8) da AMD, tendo sido lançado em 23 de setembro de 2003. Introduziu o processamento de 64 bits para computadores de mesa, mantendo compatibilidade com programas (softwares) x86 de 32 bits. Uma outra característica importante e inovadora é a controladora de memória integrada no processador.

O primeiro microprocessador para computadores de mesa (desktops) a utilizar as instruções x86-64

O Athlon 64 foi o primeiro microprocessador para computadores de mesa (desktops) a utilizar as instruções x86-64 (a AMD mais tarde trocou o nome da arquitetura para AMD64; a Intel usa a expressão EM64T). Uma característica importante e inovadora é a controladora de memória integrada no processador.

– Possui 16 registradores de propósito geral (GPR) de 64 bits. Pode acessar até 1 TB de memória física e 256 TB de memória virtual;

– Suporta instruções 3DNow!, MMX, SSE, SSE2 e SSE3 (esta última apenas nos modelos mais novos);

– Tecnologia EVP (Enhanced Vírus Protection), também conhecida como “NX Bit Disable”;

– Tecnologia Cool’n’Quiet.

64 KB de cache L1 de instruções e 64 KB de cache L1 de dados;

– 512 KB ou 1 MB de cache L2;

– Tecnologia de 130 nm, 90nm ou 65nm;

– Soquetes 754, 939 ou AM2;

– HT800 ou HT1000 (HyperTransport).

Fazendo referência ao Soquete, temos:

– Soquete 754: Usado pelas primeiras versões de Athlon 64. Seu controlador de memória usa somente um canal (single channel), o que significa que o processador acessa a memória a 64 bits;

– Soquete 939: Sucessor do soquete 754, seu controlador de memória usa dois canais (dual channel), o que significa que o processador acessa à memória a 128 bits, se dois módulos de memória forem usados nos soquetes apropriados na placa mãe para tal função funcionar;

– Soquete AM2: O controlador de memória integrado suporta memórias DDR2-533, DDR2-667 e DDR2-800 na configuração de dois canais (dual channel), o que significa que o processador acessa a memória a 128 bits, se dois módulos forem usados.

Veja aqui os modelos de Athlon 64 pelo tipo de soquete.

 

Obs: o K10 – conhecido codenome Barcelona nos servidores, chegou recentemente para os desktops com novo nome, AMD Phenom X4 e X3, e os novos Athlons X2(o prefixo 64 foi retirado). O Athlon X2 será especificamente para o mercado low-end em Dual Core, e terá dois dos quatro núcleos desativados. Versões de 4 núcleos também tem previsão (carece de fontes), com nome Athlon X4, diferenciando-se dos Phenom X4 pelo tamanho do cache. Estão previstos novas gerações de Dual Core puro (não derivado de outros produtos) cujo qual utilizará a arquitetura do Phenom II. Nenhum modelo Single Core foi anunciado, tornando assim, possivelmente o fim da carreira do modelo Single Core.

 

Duas grandes limitações da plataforma x86 são o pequeno número de registradores e o suporte nativo a apenas 4 GB de memória RAM, uma limitação compartilhada por todos os processadores de 32 bits. Os registradores são pequenos espaços de memória utilizados pelo processador para armazenar informações que serão usadas para processar a instrução seguinte. Você pode pensar nos registradores como uma espécie de “cache L0”. Eles estão muito próximos das unidades de execução do processador e por isso as informações podem ser acessadas imediatamente, mas em troca eles são incrivelmente limitados em tamanho. A arquitetura x86 prevê o uso de apenas 8 registradores, com 32 bits (4 bytes!) cada um. Ou seja, todos os registradores somados armazenam apenas 32 bytes de dados.

Não é possível adicionar mais registradores facilmente, pois softwares escritos para utilizarem os registradores adicionais não seriam mais compatíveis com os processadores antigos. A solução encontrada foi utilizar o recurso chamado “register renaming” onde o processador possui um número maior de registradores, mas apenas 8 deles são visíveis para os softwares. Os demais são gerenciados de forma dinâmica pelo processador, que vai chaveando entre eles conforme novas informações são necessárias. Essa técnica ameniza os problemas de desempenho causados pelo pequeno número de registradores, mas não soluciona a questão completamente.

Com relação à memória, o limite de 4 GB se tornou uma limitação séria em algumas áreas a partir da época do Pentium 1. A solução veio na forma do PAE (Physical Address Extension), um hack (originalmente desenvolvido pela Intel) que está disponível na maior parte dos processadores a partir do Pentium Pro. O PAE consiste numa segunda tabela de endereços, com 4 bits adicionais, que permitem endereçar 16 páginas de memória, cada uma com 4 GB.

Com o PAE, passa a ser possível endereçar até 64 GB de memória. A desvantagem é que o processador continua sendo capaz de acessar apenas 4 GB por vez e o chaveamento entre diferentes páginas de memória toma um certo tempo, o que acaba prejudicando bastante o desempenho. Ou seja, assim como no caso do register renaming, o PAE ameniza o problema, mas não o soluciona completamente.

A única forma de solucionar de vez as duas questões, assim como um conjunto de outros problemas comuns a todos os processadores de 32 bits, era desenvolver uma nova nova arquitetura, composta agora por processadores de 64 bits.

A primeira questão que precisamos deixar claro é a definição do que são processadores de 64 bits e quais são as vantagens sobre os de 32. Processadores de 64 bits não são duas vezes mais rápidos nem processam (necessariamente) o dobro de dados por ciclo de clock. A grande vantagem dos processadores de 64 bits é que eles são capazes de trabalhar com endereços de memória de 64 bits, o que permite endereçar muito mais do que 4 GB de memória RAM. Temos também um aumento no tamanho dos registradores, que passam a armazenar 64 bits de informações (em vez de 32), o que representa um pequeno ganho de desempenho.

Outro benefício (embora menos significativo) é que eles são capazes de processar números inteiros de até 64 bits, ao invés de 32. Isto oferece ganhos de desempenho em algumas áreas específicas (como, por exemplo, softwares de encriptação e alguns aplicativos científicos) mas não ajuda muito nos aplicativos do dia a dia. Processadores de 32 bits podem processar números inteiros de 64 bits, mas eles precisam ser divididos em duas instruções separadas, o que naturalmente toma mais tempo.

Com relação ao processamento de números de ponto flutuante, não existe ganho, pois os co-processadores aritméticos utilizados nos processadores atuais já são capazes de processar números de ponto flutuante de 64 bits e vetores de 128 bits. Nestas duas áreas não existe um ganho direto, já que a transição foi feita há muito tempo.

Fonte: http://www.guiadohardware.net/guias/processadores-64bits/; internet

2011 01 21