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.

tabla 32 era

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.

tabla 64 era