¿Cuál es la diferencia entre Intel 64 y AMD64?

¿Cuál es la diferencia entre Intel 64 y AMD64?

¿Alguien puede explicar si hay alguna diferencia entre las arquitecturas intel64 y amd64?

Respuesta1

Por lo que he leído, la tecnología de memoria extendida de 64 bits (EM64T) es la implementación de Intel del AMD64 de AMD y las diferencias entre Intel64 y AMD64 son:

  • Las instrucciones BSF y BSR del EM64T actúan de manera diferente cuando la fuente es 0 y el tamaño del operando es 32 bits. El procesador establece la bandera cero y deja sin definir los 32 bits superiores del destino.

  • AMD64 es compatible con 3DNow! instrucciones. Esto incluye la captación previa con el código de operación 0x0F 0x0D y PREFETCHW, que son útiles para ocultar la latencia de la memoria.

  • EM64T carece de la capacidad de guardar y restaurar una versión reducida (y por lo tanto más rápida) del estado de punto flotante (que involucra las instrucciones FXSAVE y FXRSTOR).

  • EM64T carece de algunos registros específicos del modelo que se consideran arquitectónicos para AMD64. Estos incluyen SYSCFG, TOP_MEM y TOP_MEM2.

  • EM64T admite la actualización de microcódigo como en el modo de 32 bits, mientras que los procesadores AMD64 usan un formato de actualización de microcódigo diferente y controlan los MSR.

  • La instrucción CPUID de EM64T es muy específica del proveedor, como es normal en los procesadores de estilo x86.

  • EM64T admite las instrucciones MONITOR y MWAIT, utilizadas por los sistemas operativos para abordar mejor el Hyper-threading.

  • Los sistemas AMD64 permiten el uso de la apertura AGP como IO-MMU. Los sistemas operativos pueden aprovechar esto para permitir que los dispositivos PCI normales tengan DMA en memoria por encima de 4 GiB. Los sistemas EM64T requieren el uso de buffers de rebote, que son más lentos.

  • SYSCALL y SYSRET también solo se admiten en modo IA-32e (no en modo de compatibilidad) en EM64T. SYSENTER y SYSEXIT son compatibles en ambos modos.

  • Las ramas cercanas con el prefijo 0×66 (tamaño de operando) se comportan de manera diferente. Un tipo de CPU borra sólo los 32 bits superiores, mientras que el otro tipo borra los 48 bits superiores.

Respuesta2

EnLa página x86 de Wikipediapuedes leer

En 1999-2003, AMD amplió esta arquitectura de 32 bits a 64 bits y se refirió a ella como x86-64 en sus primeros documentos y posteriormente como AMD64. Intel pronto adoptó las extensiones arquitectónicas de AMD bajo el nombre IA-32e que luego pasó a llamarse EM64T y finalmente Intel 64.

En otras palabras, el diferenciador es principalmente el marketing. Existen extensiones específicas de Intel y AMD para el conjunto de instrucciones, pero mientras escriba programas en el espacio del usuario, generalmente no necesita saber la diferencia.

información relacionada