Pelo que li A tecnologia de 64 bits de memória estendida (EM64T) é a implementação da Intel do AMD64 AMD e as diferenças entre o Intel64 e AMD64 são:
-
As instruções BSF e BSR da EM64T agem de forma diferente quando a fonte é 0 e o tamanho do operando é de 32 bits. O processador define o sinalizador zero e deixa os 32 bits superiores do destino indefinidos.
-
O AMD64 suporta o 3DNow! instruções. Isso inclui pré-busca com o código de operação 0x0F 0x0D e PREFETCHW, que são úteis para ocultar a latência de memória.
-
O EM64T não tem a capacidade de salvar e restaurar uma versão reduzida (e, portanto, mais rápida) do estado de ponto flutuante (envolvendo as instruções FXSAVE e FXRSTOR).
-
O EM64T não possui alguns registros específicos do modelo que são considerados arquitetônicos para o AMD64. Estes incluem SYSCFG, TOP_MEM e TOP_MEM2.
-
O EM64T suporta a atualização de microcódigo como no modo de 32 bits, enquanto os processadores AMD64 usam um formato de atualização de microcódigo diferente e controlam MSRs.
-
A instrução CPUID da EM64T é muito específica do fornecedor, como é normal para processadores no estilo x86.
-
O EM64T suporta as instruções MONITOR e MWAIT, usadas pelos sistemas operacionais para lidar melhor com o Hyper-threading.
-
Os sistemas AMD64 permitem o uso da abertura AGP como IO-MMU. Os sistemas operacionais podem aproveitar isso para permitir que os dispositivos PCI normais DMA fiquem na memória acima de 4 GiB. Os sistemas EM64T exigem o uso de buffers de rejeição, que são mais lentos.
-
SYSCALL e SYSRET também são suportados apenas no modo IA-32e (não no modo de compatibilidade) no EM64T. SYSENTER e SYSEXIT são suportados em ambos os modos.
-
As ramificações próximas com o prefixo 0 × 66 (tamanho do operando) se comportam de maneira diferente. Um tipo de CPU limpa apenas os 32 bits principais, enquanto o outro tipo limpa os primeiros 48 bits.