x86 frente a x64
La diferencia más importante entre x86 y x64 es que el primero es la arquitectura de 32 bits y el segundo es la arquitectura del conjunto de instrucciones de 64 bits. Una arquitectura de conjunto de instrucciones (ISA) es un término muy importante que se aplica a cualquier CPU. La ISA especifica las instrucciones, el direccionamiento de memoria, los registros y muchas otras secciones de la arquitectura de una CPU. x86 es un ISA de fama mundial introducido por Intel en 1978 con el procesador 8086. Luego sucedieron varias extensiones y, en 2000, AMD creó la especificación para extender el conjunto de instrucciones x86 a 64 bits con el nombre AMD64. Posteriormente otras empresas como Intel también implementaron esa especificación y este AMD64 es el que se identifica con el nombre x64.
¿Qué es x86?
x86 es una arquitectura de conjunto de instrucciones introducida por Intel con el famoso procesador 8086. En 1978, Intel presentó el procesador 8086 que era un procesador de 16 bits. Luego, más tarde, introdujeron varios procesadores, como 80186, 80286, 80386 y 80486, y todos eran compatibles con el conjunto de instrucciones original utilizado en el procesador 8086. Dado que todos estos procesadores terminan con el número 86, la arquitectura del conjunto de instrucciones se identificó con el nombre x86. Con la introducción de 80386, la instrucción x86 se extendió a un sistema de 32 bits. Aquí, 32 bits significa que todos los registros, bus de memoria y bus de datos son de 32 bits. Luego vinieron los procesadores Pentium como Pentium I, Pentium II, Pentium III, Pentium IV y todos estos siguieron una arquitectura de 32 bits también. Pero varias otras extensiones le sucedieron a la arquitectura x86, como la adición de instrucciones como MMX,SSE y SSE2. Aparte de eso, también se realizaron muchas otras mejoras. Luego, el conjunto de instrucciones x86 se extendió a un conjunto de instrucciones de 64 bits y desde este punto en adelante se llamó x64, que vamos a discutir en la siguiente sección. De todos modos, en general, x86 se refiere a la arquitectura de 32 bits que evolucionó a partir de una arquitectura de 16 bits que surgió con el procesador 8086.
8086 procesador
¿Qué es x64?
Un sistema de 32 bits puede representar solo 2 32 valores distintos y, por lo tanto, el direccionamiento de la memoria está limitado a ese número de direcciones. 2 32 bytes equivalen a 4 GB y, por lo tanto, x86 tenía un límite máximo de memoria direccionable de 4 GB. Para superar esto, se realizaron más extensiones a la arquitectura x86. AMD, alrededor del año 2000, introdujo dicha especificación que extendió la arquitectura x86 a 64 bits. Esto se introdujo con el nombre AMD64. x64 es otro nombre que se le da a esta arquitectura AMD64. Esta arquitectura AMD64 o x64 también se conoce con el nombre x86_64. Con la arquitectura de 64 bits, todos los registros se convirtieron en 64 bits y el bus de memoria y el bus de datos también se convirtieron en 64 bits. Ahora 2 64Se pueden abordar distintos valores y esto proporciona un límite superior enorme en la memoria máxima posible. AMD K8 fue el primer procesador que implementó esta arquitectura de 64 bits. Entonces Intel también adoptó esta arquitectura. Con los procesadores Intel Core que comenzaron con Intel Core 2, Intel comenzó a utilizar esta arquitectura en sus procesadores. Actualmente, todos los procesadores Intel como Core i3, Core i5 y Core i7 utilizan esta arquitectura x64. Algo importante a destacar es que esta arquitectura x64 sigue siendo compatible con el antiguo conjunto de instrucciones x86.
Procesador de 64 bits
¿Cuál es la diferencia entre x86 y x64?
• x86 se introdujo alrededor del año 1978, mientras que x64 apareció más recientemente en el año 2000.
• x86 surgió del famoso procesador Intel 8086 y, por lo tanto, Intel introdujo x86. Pero x64, que vino como una extensión de x86, fue introducido por AMD.
• La arquitectura x86 es de 32 bits. (Los primeros procesadores x86 eran de 16 bits, pero en los procesadores posteriores se realizó una extensión a 32 bits). La arquitectura x64 es de 64 bits.
• Los procesadores con arquitectura de conjunto de instrucciones x86, por lo tanto, tienen registros de 32 bits, bus de memoria de 32 bits y bus de datos de 32 bits. Pero x64 tiene registros de 64 bits, bus de memoria de 64 bits y bus de datos de 64 bits.
• x86 tiene una limitación en la memoria máxima direccionable que es un límite superior de 4 GB (2 32 bytes). Pero, en los sistemas x64, este límite es enorme, que es de 2 64 bytes.
• x64 es una expansión de x86; por lo tanto, es mucho mejor y más potente que el antiguo x86.
• Los valores que se pueden almacenar en un registro, en un sistema x64, son más grandes que los valores que se pueden almacenar en un registro basado en x86. Por lo tanto, x64 puede manejar el cálculo de números enteros más grandes mucho más rápido, ya que no es necesario usar varios registros en tal caso para dividir el valor y almacenar como en x86.
• x64 puede transmitir en paralelo datos de mayor tamaño a lo largo del bus de datos. Es decir, un bus de datos de 64 bits puede transmitir en paralelo 64 bits mientras que la arquitectura x86 que tiene un bus de 32 bits solo puede transmitir en paralelo 32 bits.
Resumen:
x86 frente a x64
La arquitectura del conjunto de instrucciones x86 es de 32 bits, mientras que la arquitectura del conjunto de instrucciones x64 es de 64 bits. x64 vino como una extensión de la arquitectura x86 existente. Los registros, bus de memoria, bus de datos en arquitecturas x86 son de 32 bits, mientras que en x64 son de 64 bits. Por lo tanto, la cantidad máxima de memoria direccionable es mucho mayor en los sistemas x64 que en los sistemas x86. Intel introdujo x86 con el procesador 8086 que era un procesador de 16 bits y con el tiempo este x86 se extendió a 32 bits. Luego, más tarde, AMD introdujo la arquitectura x64 al extender la arquitectura x86 existente y este x64 es totalmente compatible con el conjunto de instrucciones x86.
Imágenes cortesía:
- Intel 8086 de Appaloosa (CC BY-SA 3.0)
- Procesador de 64 bits de Appaloosa (CC BY 3.0)