
Alguém pode explicar se existe alguma diferença entre as arquiteturas intel64 e amd64?
Responder1
Pelo que li a tecnologia de memória estendida de 64 bits (EM64T) é a implementação da Intel do AMD64 da AMD e as diferenças entre o Intel64 e o AMD64 são:
As instruções BSF e BSR do EM64T agem de maneira diferente quando a fonte é 0 e o tamanho do operando é 32 bits. O processador define o sinalizador zero e deixa os 32 bits superiores do destino indefinidos.
AMD64 suporta 3DNow! instruções. Isso inclui a pré-busca com o opcode 0x0F 0x0D e PREFETCHW, que são úteis para ocultar a latência da memória.
O EM64T não possui 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. Isso inclui SYSCFG, TOP_MEM e TOP_MEM2.
EM64T suporta 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 do EM64T é muito específica do fornecedor, como é normal para processadores estilo x86.
EM64T suporta as instruções MONITOR e MWAIT, utilizadas pelos sistemas operacionais para melhor lidar com Hyper-threading.
Os sistemas AMD64 permitem o uso da abertura AGP como IO-MMU. Os sistemas operacionais podem tirar vantagem disso para permitir DMA de dispositivos PCI normais para memória acima de 4 GiB. Os sistemas EM64T requerem 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.
Ramos próximos 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 48 bits principais.
Responder2
NoPágina x86 da Wikipédiavocê pode ler
Em 1999-2003, a AMD estendeu essa arquitetura de 32 bits para 64 bits e referiu-se a ela como x86-64 nos primeiros documentos e posteriormente como AMD64. A Intel logo adotou as extensões arquitetônicas da AMD sob o nome IA-32e, que mais tarde foi renomeado para EM64T e finalmente para Intel 64.
Ou seja, o diferencial é principalmente o marketing. Existem extensões específicas da Intel e da AMD para o conjunto de instruções, mas contanto que você esteja escrevendo programas no espaço do usuário, geralmente não precisa saber a diferença.