* Registros de 64 bits: El cambio más destacado de 32 bits X86 es la expansión de los registros de uso general de 32 bits (EAX, EBX, etc.) a 64 bits (RAX, RBX, etc.). Esto permite la manipulación directa de tipos y direcciones de datos más grandes.
* Dirección de 64 bits: X86-64 admite direcciones virtuales de 64 bits, lo que permite el acceso a significativamente más memoria que X86 de 32 bits (que se limita a 4 GB). Esto es crucial para los sistemas operativos y aplicaciones modernas que requieren grandes cantidades de RAM.
* Conjunto de instrucciones extendidas: Mientras conserva la compatibilidad hacia atrás con instrucciones X86 de 32 bits, X86-64 agrega nuevas instrucciones optimizadas para operaciones de 64 bits. Estos mejoran las características de rendimiento y soporte como estructuras de datos más grandes.
* Registrarse Convenciones: La forma en que los registros se utilizan para diferentes propósitos (por ejemplo, argumentos de función, valores de retorno, puntero de pila) se define en la arquitectura x86-64. Estas convenciones aseguran un comportamiento consistente en diferentes implementaciones.
* Gestión de memoria: La especificación describe cómo el sistema gestiona la memoria, incluida la memoria virtual, la paginación y los mecanismos de protección.
* Llamadas del sistema: La forma en que las aplicaciones interactúan con el sistema operativo también se define, proporcionando una interfaz consistente para varias funciones (como E/S de archivos, operaciones de red, etc.).
En esencia, X86-64 es una especificación integral que define un entorno informático completo de 64 bits construido, pero se extiende significativamente, la arquitectura Legacy X86. No es una característica de lenguaje único, sino una base sobre la cual se construyen sistemas operativos, compiladores y aplicaciones. La * implementación * real de esta arquitectura es realizada por fabricantes de hardware (como Intel y AMD).