AMD 64

 

Perguntas

          1- Que diferenças existem entre as arquitectura de 64-bit e de 32-bit ?

A principal diferença entre as arquitectura de 64-bit e de 32-bit são o tamanho dos registos e o tamanho espaço de endereçamento livre.

As aplicações estão a atingir limites particularmente em relação à memória endereçável mas também na manipulação de grandes blocos de data. Mas os novos processadores de 64-bit já permitem ao sistema operativo e ao software processar muito mais data e aceder a grandes qualidades de memória.

Em termos de memória os processadores de 32-bit x86 estão limitados a um espaço virtual de adereços que chega aos 4GB de memória, espaço que necessita de ser partilhado pelo kernel do S.O. e pelas aplicações que estão a correr. Sendo assim, a memória que ultrapasse os 4 GB de espaço tem de ser acedida pelas extensões de adereços físicos, o que não é tão eficiente (como o espaço de memória liso). Para além disto é necessário que a page table esteja situada dentro dos primeiro 4GB do espaço de endereço o que piora o scability. Para resolver este problema a arquitectura AMD64 introduziu um espaço de endereçamento liso de 64-bit onde as implementações podem suportar endereços de menos de 64-bit. Assim é possível aceder directamente, sem paginação, a 256 terabytes de espaço de memória liso em aplicações de 64-bit.

Outro dos benefícios desta arquitectura é o facto dos registos serem maiores. Portanto, os programadores podem tirar grande partido de moves/loads/stores mais poderosos, operações aritméticas, registos e tipos de inteiros de 64-bit, o que traz um aumento significativo na performance.

 

           2- O processador AMD64 é compatível com aplicações de 32-bit?

Um dos grandes trunfos da arquitectura AMD64 é a sua flexibilidade uma vez que pode correr sistemas operativos de 32-bit (legacy mode), de 64-bit (long mode) e ainda correr aplicações de 32-bit em sistemas operativos de 64-bit (compatibility mode) . Nos amd64, cabe ao SO mudar entre o modo 32-bit ou entre o "long mode" de 64 bits. Esta flexibilidade assegura que os desktops e os servidores tenham compatibilidade com o Windows de 32 bits, Linux ou qualquer outro sistema operativo de 32-bits. A mudança para o modo de 64-bit é feita por um sistema operativo que suporte 64-bits. Nesse momento os ponteiros podem ter o tamanho de 64 bits as extenções dos registos ficam activas, as extra quadword e double quadword data types também ficam activas...

Mas isso não significa que todas as aplicações que estejam a correr no "long mode" tenham de ser de 64-bit isto porque a microarquitectura AMD64 usa as mesmas instruções tanto para a computação de 64-bit como para as operações de 32-bit, com apenas um prefixo especial para as aplicações de 64-bit. Logo, as aplicações de 32-bit correm no processador AMD64 (usando o sub-modo de nome "compatibility mode") sem quaisquer modificações.

No entanto, esta arquitectura também tem limitações. As aplicações só podem ser carregadas em sistemas operativos de 64-bit e uma aplicação individual não pode misturar 32-bit e 64-bit. Mas o sistema operativo pode correr aplicações de 32 e 64-bit ao mesmo tempo e estes processos podem trocar data entre eles.

voltar