Introducción
Las arquitecturas x86 y x64 se refieren a los dos tipos más utilizados de arquitecturas de conjuntos de instrucciones (ISA) creados por Intel y AMD. Un ISA especifica el comportamiento del código de máquina y define cómo el software controla la CPU.
El ISA es la interfaz hardware y software que define lo que la CPU puede hacer y cómo lo hace.
En este artículo, aprenderás la diferencia entre las arquitecturas x64 y x86.
¿Qué es la arquitectura x86?
x86 es un tipo de ISA para procesadores de computadora desarrollado originalmente por Intel en 1978. La arquitectura x86 se basa en el microprocesador 8086 de Intel (de ahí el nombre) y su variante 8088. En un principio, era un conjunto de instrucciones de 16 bits para procesadores de 16 bits, y más tarde creció hasta convertirse en un conjunto de instrucciones de 32 bits.
El número de bits indica cuánta información puede procesar la CPU por ciclo. Por ejemplo, una CPU de 32 bits transfiere hasta 32 bits de datos por ciclo de reloj.
Debido a su capacidad de funcionar en casi cualquier computadora, desde laptops, PCs domésticas y servidores, la arquitectura x86 se ha vuelto popular entre numerosos fabricantes de microprocesadores.
La limitación más significativa de la arquitectura x86 es que puede manejar un máximo de 4096 MB de RAM. Dado que el número total de combinaciones admitidas es de 2^32 (4,294,967,295), el procesador de 32 bits tiene 4.29 mil millones de ubicaciones de memoria. Cada ubicación almacena un byte de datos, lo que equivale aproximadamente a 4GB de memoria accesible.
Hoy en día, el término x86 denota cualquier procesador de 32 bits capaz de ejecutar el conjunto de instrucciones x86.
Nota: Después de elegir la infraestructura adecuada, aprende la diferencia entre un servidor con procesador de un solo núcleo y uno de doble núcleo y satisface las demandas de tu organización.
¿Qué es la arquitectura x64?
x64 (abreviatura de x86-64) es una arquitectura de conjunto de instrucciones basada en x86, extendida para permitir el código de 64 bits. Fue lanzada por primera vez en 2000, introduciendo dos modos de operación: el modo de 64 bits y el modo de compatibilidad, que permite a los usuarios ejecutar aplicaciones de 16 y 32 bits también.
Dado que todo el conjunto de instrucciones x86 se implementa en el conjunto de instrucciones x64, los ejecutables más antiguos se ejecutan prácticamente sin penalización de rendimiento.
La arquitectura x64 admite cantidades mucho mayores de memoria virtual y física que la arquitectura x86, lo que permite a las aplicaciones almacenar grandes cantidades de datos en memoria. Además, x64 amplía el número de registros de propósito general a 16, lo que proporciona mejoras y funcionalidad adicionales.
La arquitectura x64 puede utilizar un total de 2^64 bytes, lo que equivale a 16 mil millones de gigabytes (16 exabytes) de memoria. El uso de recursos mucho mayores la hace adecuada para alimentar supercomputadoras y máquinas que necesitan acceso a recursos vastos.
La arquitectura x64 permite que la CPU procese 64 bits de datos por ciclo de reloj, mucho más que la arquitectura x86.
x86 vs. x64
Aunque ambos tipos de arquitecturas se basan en el conjunto de instrucciones de 32 bits, algunas diferencias clave las hacen adecuadas para usos diferentes. La principal diferencia entre ellas es la cantidad de datos que pueden manejar en cada ciclo de reloj y el ancho del registro del procesador.
El procesador almacena datos de uso frecuente en un registro para acceder rápidamente a ellos. Un procesador de 32 bits en la arquitectura x86 tiene registros de 32 bits, mientras que los procesadores de 64 bits tienen registros de 64 bits. Por lo tanto, x64 permite que la CPU almacene más datos y los acceda más rápidamente. El ancho del registro también determina la cantidad de memoria que una computadora puede utilizar.
La siguiente tabla muestra una visión general de las diferencias clave entre los conjuntos de instrucciones x86 y x64:
ISA | x86 | x64 |
---|---|---|
Lanzamiento inicial | Introducido en 1978. | Introducido en 2000. |
Creador | Intel | AMD |
Origen | Basado en el procesador Intel 8086. | Creado como una extensión de la arquitectura x86. |
Cantidad de bits | Arquitectura de 32 bits. | Arquitectura de 64 bits. |
Espacio de direcciones | 4 GB. | 16 EB. |
Límite de RAM | 4 GB (RAM utilizable real: 3.2 GB). | 16 mil millones de GB. |
Velocidad | Más lento y menos potente en comparación con x64. | Permite el procesamiento de alta velocidad de grandes conjuntos de enteros; inherentemente más rápido que x86. |
Transmisión de datos | Admite transmisiones paralelas de solo 32 bits a través de un bus de 32 bits en una sola operación. | Admite transmisiones paralelas de fragmentos más grandes de datos a través del bus de datos de 64 bits. |
Almacenamiento | Utiliza más registros para dividir y almacenar datos. | Almacena grandes cantidades de datos con menos registros. |
Compatibilidad con aplicaciones | No hay soporte para aplicaciones y programas de 64 bits. | Admite aplicaciones y programas tanto de 64 bits como de 32 bits. |
Soporte del sistema operativo | Windows XP, Vista, 7, 8, Linux. | Windows XP Professional, Windows Vista, Windows 7, Windows 8, Windows 10, Linux, Mac OS. |
Características
Cada conjunto de arquitecturas tiene características que las definen y les proporcionan ventajas en casos de uso específicos. Las siguientes listas muestran las características de x64 y x86:
x86
- Utiliza una arquitectura de cómputo de conjunto de instrucciones complejas (CISC).
- Las instrucciones complejas requieren múltiples ciclos para ejecutarse.
- x86 tiene más registros disponibles pero menos memoria.
- Diseñado con menos tuberías, pero puede manejar direcciones complejas.
- El rendimiento del sistema se optimiza utilizando el enfoque de hardware: x86 se basa en componentes físicos para compensar la memoria baja.
- Utiliza DEP (Prevención de Ejecución de Datos) basado en software.
x64
- Tiene capacidad de enteros de 64 bits con compatibilidad hacia atrás para aplicaciones de 32 bits.
- El espacio de direcciones virtuales (teórico) asciende a 2^64 bytes (16 exabytes). Sin embargo, solo se utiliza una pequeña parte del rango teórico de 16 exabytes en la vida real, aproximadamente 128 TB.
- x64 procesa archivos grandes mapeando el archivo completo en el espacio de direcciones del proceso.
- Es más rápido que x86 debido a su procesamiento paralelo más rápido, bus de memoria y datos de 64 bits, y registros más grandes.
- Admite la operación simultánea de archivos grandes en múltiples espacios de direcciones. Además, x64 emula dos tareas x86 simultáneamente y proporciona una experiencia más rápida que x86.
- Carga instrucciones de manera más efectiva y eficiente.
- Utiliza DEP (Prevención de Ejecución de Datos) respaldado por hardware.
Aplicaciones
Debido a sus diferentes características y diferencias en el acceso a recursos, velocidad y potencia de procesamiento, cada conjunto de arquitecturas se utiliza para diferentes propósitos:
x86
- Muchas de las PCs del mundo todavía se basan en sistemas operativos y CPUs x86.
- Se utiliza en consolas de videojuegos.
- Los segmentos de computación en la nube aún utilizan la arquitectura x86.
- Las aplicaciones y programas más antiguos suelen ejecutarse en arquitectura de 32 bits.
- Es mejor para la emulación.
- La producción de audio todavía prefiere el formato de 32 bits debido a su compatibilidad con equipos de audio más antiguos.
x64
- Un número creciente de PCs utiliza CPUs de 64 bits y sistemas operativos basados en la arquitectura x64.
- Todos los procesadores móviles modernos utilizan la arquitectura x64.
- Se utiliza para alimentar supercomputadoras.
- Se utiliza en consolas de videojuegos.
- Las tecnologías de virtualización se basan en la arquitectura x64.
- Es más adecuado para motores de juego más nuevos, ya que es más rápido y ofrece un mejor rendimiento.
Limitaciones
Aunque ambas ISA tienen limitaciones, x64 es un tipo de arquitectura más nueva y perfeccionada. A continuación se muestra una lista de las limitaciones de ambos tipos de arquitecturas:
x86
- Tiene una cantidad limitada de memoria direccionable.
- Las velocidades de procesamiento son más bajas en comparación con x64.
- Los proveedores ya no desarrollan aplicaciones para sistemas operativos de 32 bits.
- Las CPU modernas requieren un sistema operativo de 64 bits.
- Todos los dispositivos en el sistema (tarjetas de video, BIOS, etc.) comparten la memoria RAM disponible, lo que deja aún menos memoria para el sistema operativo y las aplicaciones.
x64
- No se ejecuta nativamente en dispositivos antiguos o heredados.
- Su alto rendimiento y velocidad suelen consumir más energía.
- Es poco probable que se desarrollen controladores de 64 bits para sistemas y hardware antiguos.
- Algunos software de 32 bits no es completamente compatible con la arquitectura de 64 bits.
¿Cómo verificar si tu computadora es x64 o x86?
Si tienes una PC comprada en los últimos 10-15 años, es probable que funcione con una arquitectura x64. Sigue los pasos a continuación para verificar si tu PC es de 32 bits o de 64 bits:
Paso 1: Abre Configuración
En Windows 10, presiona la tecla de Windows y haz clic en el icono de Configuración.
Paso 2: Abre las opciones del sistema
En el menú de configuración, selecciona la opción Sistema.
Paso 3: Encuentra las especificaciones del dispositivo
Selecciona la opción Acerca de en el panel izquierdo y, en la sección Especificaciones del dispositivo, encuentra el tipo de sistema:
En el ejemplo anterior, el sistema es un sistema operativo de 64 bits con un procesador basado en x64.
¿Es mejor x86 o x64?
Aunque tanto x86 como x64 tienen ventajas, el futuro no tolera límites, lo que significa que eventualmente se usará escasamente o se eliminará por completo x86. Además, x64 es mucho más rápido, puede asignar más memoria RAM y tiene capacidades de procesamiento paralelo a través del bus de datos de 64 bits, lo que lo convierte en una mejor opción entre los dos tipos de arquitectura.
Cuando elijas qué tipo de sistema operativo instalar, siempre es mejor instalar un sistema operativo de 64 bits porque puede ejecutar software tanto de 32 bits como de 64 bits. Por otro lado, un sistema operativo basado en x86 solo ejecuta software de 32 bits.
En general, x64 es mucho más capaz que x86, utiliza toda la RAM instalada, proporciona más espacio en el disco duro, velocidades de bus más rápidas y un rendimiento general mejor.
Conclusión
Este artículo ha mostrado las diferencias entre las arquitecturas x86 y x64, junto con sus características, casos de uso y limitaciones. Ten en cuenta todas las características de cada ISA y elige la que mejor se adapte a tu configuración.