X86-64

x86-64 (también conocido como x64, x86_64, AMD64 e Intel 64) es una versión de 64 bits del conjunto de instrucciones x86, lanzado por primera vez en 1999. Introdujo dos nuevos modos de operación, el modo de 64 bits y el modo de compatibilidad, junto con con un nuevo modo de paginación de 4 niveles. Con el modo de 64 bits y el nuevo modo de paginación, admite cantidades mucho más grandes de memoria virtual y memoria física de lo que era posible en sus predecesores de 32 bits, lo que permite a los programas almacenar mayores cantidades de datos en la memoria. x86-64 también expande los registros de propósito general a 64 bits y expande el número de ellos de 8 (algunos de los cuales tenían una funcionalidad limitada o fija, por ejemplo, para la administración de pilas) a 16 (completamente general), y proporciona muchas otras mejoras. Las operaciones de coma flotante son compatibles a través de instrucciones obligatorias similares a SSE2, y los registros de estilo x87 / MMX generalmente no se usan (pero aún están disponibles incluso en modo de 64 bits); en su lugar, se utiliza un conjunto de 16 registros vectoriales, de 128 bits cada uno. (Cada registro puede almacenar uno o dos números de precisión doble o de uno a cuatro números de precisión simple, o varios formatos enteros). En el modo de 64 bits, las instrucciones se modifican para admitir operandos de 64 bits y el modo de direccionamiento de 64 bits. El modo de compatibilidad definido en la arquitectura permite que las aplicaciones de usuario de 16 y 32 bits se ejecuten sin modificaciones, coexistiendo con aplicaciones de 64 bits si el sistema operativo de 64 bits las admite. Dado que los conjuntos completos de instrucciones x86 de 16 y 32 bits permanecen implementados en el hardware sin ninguna emulación intermedia, estos ejecutables más antiguos pueden ejecutarse con poca o ninguna penalización de rendimiento. mientras que las aplicaciones más nuevas o modificadas pueden aprovechar las nuevas características del diseño del procesador para lograr mejoras de rendimiento. Además, un procesador que admite x86-64 aún se enciende en modo real para una compatibilidad total con versiones anteriores del 8086, como lo han hecho los procesadores x86 que admiten el modo protegido desde el 80286. La especificación original, creada por AMD y lanzada en 2000, ha sido implementada por AMD, Intel y VIA. La microarquitectura AMD K8, en los procesadores Opteron y Athlon 64, fue la primera en implementarla. Esta fue la primera adición significativa a la arquitectura x86 diseñada por una empresa distinta a Intel. Intel se vio obligado a seguir su ejemplo e introdujo una familia NetBurst modificada que era compatible con el software con la especificación de AMD. VIA Technologies introdujo x86-64 en su arquitectura VIA Isaiah, con VIA Nano. La arquitectura x86-64 es distinta de la arquitectura Intel Itanium (anteriormente IA-64). Las arquitecturas no son compatibles en el nivel del conjunto de instrucciones nativas y los sistemas operativos y las aplicaciones compiladas para una no se pueden ejecutar en la otra.

AMD64

Historia

AMD64 se creó como una alternativa a la arquitectura IA-64 radicalmente diferente, que fue diseñada por Intel y Hewlett Packard. Anunciada originalmente en 1999, mientras que una especificación completa estuvo disponible en agosto de 2000, AMD posicionó la arquitectura AMD64 desde el principio como una forma evolutiva de agregar capacidades informáticas de 64 bits a la arquitectura x86 existente, en contraposición al enfoque de Intel de crear una nueva arquitectura de 64 bits con IA-64. El primer procesador basado en AMD64, el Opteron, se lanzó en abril de 2003.

Implementaciones

Los procesadores de AMD que implementan la arquitectura AMD64 incluyen Opteron, Athlon 64, Athlon 64 X2, Athlon 64 FX, Athlon II (seguido de "X2", "X3" o "X4" para indicar el número de núcleos y modelos XLT), Turion 64, Turion 64 X2, Sempron (paso a paso "Palermo" E6 y todos los modelos "Manila"), Phenom (seguido de "X3" o "X4" para indicar el número de núcleos), Phenom II (seguido de "X2", " X3 "," X4 "o" X6 "para indicar el número de núcleos), FX, Fusion / APU y Ryzen / Epyc.

Características arquitectónicas

La principal característica definitoria de AMD64 es la disponibilidad de registros de procesador de propósito general de 64 bits (por ejemplo, rax y rbx), operaciones aritméticas y lógicas enteras de 64 bits y direcciones virtuales de 64 bits. Los diseñadores aprovecharon para m