Historia de la Arquitectura x86
La arquitectura x86 ha sido la más exitosa comercialmente y resiliente hasta la fecha, celebrando su 45º aniversario en 2023. x86 es una familia de arquitecturas CISC cuyos diseños y nombres derivan de los números de modelo de los primeros procesadores de Intel: 8086, 80286, 80386 y 80486. Ha persistido a lo largo de tres generaciones de longitudes de palabra: 16, 32 y 64 bits. Prioriza la compatibilidad hacia atrás rigurosa con todas las generaciones anteriores, lo que añade complejidad al diseño, incluyendo lógica digital para mantener errores históricos y permitir que viejos juegos que los explotan continúen funcionando.
Prehistoria
La historia del diseño de la arquitectura x86 está marcada por la rivalidad y la política de Silicon Valley, y especialmente por las empresas Intel y AMD. Ambas compañías fabrican procesadores que utilizan el mismo conjunto de instrucciones propietario y han estado inmersas en batallas legales durante décadas.
Década de 1950-1960:
-
Shockley Semiconductor fue fundada por William Shockley en California.
-
Los "ocho traidores" abandonaron Shockley para fundar Fairchild Semiconductor.
-
Fairchild creó el primer circuito integrado comercial.
Década de 1970:
-
Intel fue fundada por Gordon Moore y Robert Noyce en 1968.
-
AMD fue fundada por Jerry Sanders en 1969, inicialmente para clonar productos de Intel.
-
Intel lanzó el 4004 (4 bits) en 1971 y el 8080 (8 bits) en 1974, ambos fueron copiados por AMD.
Historia
La arquitectura x86 es una de las más exitosas y longevas en la historia de la informática, evolucionando significativamente desde su introducción en 1978. A continuación, se detallan las principales etapas de su desarrollo:
16-Bit Classical Era
Intel 8086 (1978)
-
Primera CPU de 16 bits: Introdujo la arquitectura x86.
-
Compatibilidad: Ofreció "compatibilidad a nivel de código fuente", permitiendo que el software escrito para procesadores anteriores pudiera ser usado.
-
Segmentación de Memoria: Introdujo un esquema de segmentación de memoria para manejar más de 64 KB de memoria.
Intel 80286 (1982)
-
Modos de Operación: Introdujo modos de operación reales y protegidos.
-
Modo Real: Para compatibilidad con el 8086.
-
Modo Protegido: Permitía acceso a 16 MB de memoria y proporcionaba características básicas de protección de memoria.
-
Memoria Virtual: Capacidad para manejar memoria virtual, mejorando la gestión y utilización de la memoria.
32-Bit Clone Wars Era
Intel 80386 (1985)
-
Primera CPU x86 de 32 bits: Incrementó significativamente el rendimiento y la capacidad.
-
Segmentación y Paginación Avanzada: Mejoró la gestión de la memoria, permitiendo un acceso más eficiente y seguro.
-
Modo Virtual 8086: Permitía que aplicaciones del 8086 corrieran en un entorno seguro.
Intel 80486 (1989)
-
FPU Integrada: Incorporó una unidad de punto flotante (FPU) dentro del chip, mejorando el rendimiento en cálculos matemáticos.
-
Caché L1: Introdujo caché de primer nivel (L1) para mejorar la velocidad de acceso a datos frecuentemente utilizados.
-
Pipelining: Implementó técnicas de pipelining para mejorar la eficiencia de ejecución de instrucciones.
Intel Pentium (1993)
-
Superescalar: Primera CPU x86 con arquitectura superescalar, permitiendo la ejecución de múltiples instrucciones por ciclo de reloj.
-
MMX: Introdujo las instrucciones MMX para mejorar el rendimiento en aplicaciones multimedia.
Intel Pentium Pro (1995)
-
Caché L2 Integrada: Introdujo caché de segundo nivel (L2) en el chip para mejorar aún más el rendimiento.
-
Ejecución Fuera de Orden (OOOE): Capacidad para ejecutar instrucciones en un orden diferente al especificado, mejorando la eficiencia.
Intel Pentium II (1997)
-
MMX Mejorado: Mejoró el soporte para instrucciones MMX y la caché L2 se movió fuera del chip principal pero en el mismo módulo.
-
Slot 1: Introducción del nuevo formato de slot para conectar el procesador a la placa base.
Intel Pentium III (1999)
-
SSE: Introdujo las instrucciones SSE (Streaming SIMD Extensions) para mejorar el rendimiento en multimedia y aplicaciones científicas.
-
Incremento de Velocidad: Aumentó las velocidades del reloj y el rendimiento general.
64-Bit Branding Era
Intel Pentium 4 (2000)
-
NetBurst: Introdujo la microarquitectura NetBurst con pipeline extremadamente largo.
-
SSE2: Añadió las instrucciones SSE2 para mejorar aún más el rendimiento multimedia.
Intel Core (2006)
-
Pipeline más Corta: La microarquitectura Core introdujo un pipeline más corto que el NetBurst para mejorar la eficiencia.
-
Caché L2 Compartida: Mejoró el rendimiento con caché L2 compartida entre núcleos.
Intel Core 2 (2006)
-
SSE4.1: Introdujo nuevas instrucciones SSE4.1 para mejorar el rendimiento en aplicaciones específicas.
-
Mejoras en Eficiencia: Incrementó significativamente la eficiencia energética y el rendimiento por watt.
Intel Core i7 (2008)
-
Nehalem: Nueva microarquitectura con caché L3 compartida.
-
Múltiples Núcleos: Mejor soporte para la ejecución de múltiples hilos simultáneamente, incrementando el rendimiento en aplicaciones multihilo.
Intel Core i9 (2017)
-
Skylake: Microarquitectura Skylake que introdujo muchas mejoras de rendimiento y eficiencia.
-
AVX-512: Introdujo las instrucciones AVX-512 para mejorar el rendimiento en aplicaciones de cómputo intensivo.