Como todos os processadores x86 também o AMD4 inicia
em modo real, e é com os sistemas operativos iniciar
em 32 bits (modo protegido) ou no modo “longo” a
64bits (como lhe chama a AMD). Esta flexibilidade assegura a
compatibilidade com os SO a 32bits. A funcionalidade de 64bits
é possibilitada por um sistema operativo 64-bit-aware
durante o processo de iniciação do processador.
Nesta altura, os ponteiros podem ter comprimento de 64bits,
a extensões de registo e o prefixo REX estão também
disponíveis, e por aí fora...
Mas isto não quer dizer que todas as aplicações,
em modo longo, sejam a 64bits. Isto porque a micro-arquitectura
do AMD64 usa as mesmas instruções para computação
a 64bits como para operações a 32bits –
com um prefixo especial para as operações a 64bits
– as aplicações a 32bits correm naturalmente
usando um sub modo do modo longo chamado “modo de compatibilidade”
sem modificações. No que diz respeito ao utilizador
é só load-and-go. A performance é aumentada.
De acordo com a AMD, a eficiência extra do kernel 64bits
é tal que algumas aplicações a 32bits funcionaram
mais depressa num SO a 64bits do que num a 32bits.
A única limitação é que uma aplicação
a 64bits tem que ser carregada por um SO a 64bits e que uma
aplicação não pode misturar 32 e 64 bits,
ou um ou outro. Claro que um SO a 64bits pode correr processos
a 32 e 64bits ao mesmo tempo, e estes processos podem usar a
estrutura de comunicação inter-processual para
passar dados entres eles.