Os aplicativos de 64 bits são compilados para aproveitar os registradores de 64 bits nos processadores x86-64, o que também requer que o processador esteja em execução no modo adequado e que os tamanhos das palavras-chave da API do sistema operacional correspondam.
Os sistemas operacionais de 32 bits geralmente usam o modo protegido , que permite apenas o uso de registros de 32 bits (por exemplo, EAX
, EBX
). Em processadores x86-64, a compatibilidade de 64 bits é adicionada como o modo longo , no qual os sistemas operacionais de 64 bits são executados .
Além disso, a versão de 64 bits do Windows inclui a camada de compatibilidade WoW64 que traduz dinamicamente as chamadas de API de 32 bits para os equivalentes de 64 bits e alterna a CPU entre modos de 32 bits protegidos e 64 bits quando o processo está agendado para ser executado.
Outro ponto interessante que entra em jogo com processadores de 64 bits é a virtualização de hardware . Dado o suporte de hardware adequado, às vezes pode-se executar uma máquina virtual (por exemplo, usando VirtualBox ou VMWare) que contém um sistema operacional convidado de 64 bits, enquanto o sistema operacional host é de apenas 32 bits (novamente, dada a disponibilidade da virtualização de hardware x86-64) ). Para obter detalhes sobre como fazer isso com o VirtualBox, consulte esta seção do manual.