Feliz 42 aniversario del Intel 8086 original y la arquitectura x86

Intel-8086-Característica

Hoy hace cuarenta y dos años, Intel lanzó el microprocesador 8086 original, el abuelo de todas las CPU x86 jamás construidas, incluidas las que usamos ahora. Esto, debe tenerse en cuenta, es más o menos el resultado opuesto de lo que todos esperaban en ese momento, incluido Intel.

Según Stephen P. Morse, quien dirigió el esfuerzo de desarrollo del 8086, la nueva CPU 'estaba destinada a ser de corta duración y no tener sucesores'. El objetivo original de Intel con el 8086 era mejorar el rendimiento general en relación con los productos anteriores y, al mismo tiempo, conservar la compatibilidad de origen con productos anteriores (lo que significa que el lenguaje ensamblador para el 8008, 8080 u 8085 podría ejecutarse en el 8086 después de ser recompilado). Ofrecía un rendimiento general más rápido que el 8080 o el 8085 y podía utilizar hasta 1 MB de RAM (el 8085 alcanzaba los 64 KB). Contenía ocho registros de 16 bits, que es de donde proviene la abreviatura x86 en primer lugar, y originalmente se ofreció a una velocidad de reloj de 5MHz (las versiones posteriores tenían una frecuencia de hasta 10MHz).

Intel-8086-CPU-Die

8086 CPU muere. Imagen de Wikipedia



Morse tenía experiencia tanto en software como en hardware y, como este retrospectiva histórica deja claras decisiones tomadas con la intención de facilitar el mantenimiento de la compatibilidad con versiones anteriores de productos Intel. Incluso señala que si hubiera sabido que estaba inventando una arquitectura que potenciaría la informática durante los próximos 40 años, habría hecho algunas cosas de manera diferente, incluido el uso de una estructura de registro simétrica y evitar el direccionamiento segmentado. Inicialmente, el 8086 estaba destinado a ser un producto provisional mientras Intel trabajaba febrilmente para terminar su real microprocesador de próxima generación: el iAPX 432, el primer microprocesador de 32 bits de Intel. Cuando las ventas del 8086 comenzaron a decaer en 1979, Intel tomó la decisión de lanzar una operación de marketing masiva en torno al chip, denominado Operación Crush. ¿La meta? Impulsar la adopción del 8086 por encima de los productos de la competencia fabricados por Motorola y Zilog (este último fundado por ex empleados de Intel, incluido Federico Faggin, arquitecto principal del primer microprocesador, el 4004 de Intel). Project Crush tuvo bastante éxito y se le atribuye haber impulsado a IBM a adoptar el 8088 (un 8086 reducido con un bus de 8 bits) para la primera PC de IBM.

Uno podría esperar, dado el dominio histórico de la arquitectura x86 en la industria de la computación, que el chip que lanzó la revolución hubiera sido un logro imponente o un salto cuántico por encima de la competencia. La verdad es más prosaica. El 8086 era un núcleo de CPU sólido construido por arquitectos inteligentes respaldado por una sólida campaña de marketing. La revolución informática que ayudó a lanzar, por otro lado, transformó el mundo.

Dicho todo esto, hay otro punto que queremos abordar.

Han pasado 40 años. ¿Por qué seguimos usando CPU x86?

Esta es una pregunta simple con una respuesta bastante compleja. Primero, en varios sentidos muy reales, no estamos De Verdad usando más CPU x86. El 8086 original era un chip con 29.000 transistores. Los chips modernos tienen miles de millones de transistores. El proceso moderno de fabricación de la CPU tiene poca semejanza con el proceso de fabricación nMOS utilizado para implementar el diseño original en 1978. Los materiales utilizados para construir la CPU son en sí mismos muy diferentes y la llegada de EUV (Litografía Ultravioleta Extrema) transformará este proceso aún más.

Los chips x86 modernos traducen el microcódigo x86 en microoperaciones internas para una ejecución más eficiente. Implementan características como ejecución fuera de orden y ejecución especulativa para mejorar el rendimiento y limitar el impacto de los buses de memoria lentos (en relación con los relojes de la CPU) con múltiples capas de caché y capacidades como la predicción de ramas. La gente suele preguntar '¿Por qué seguimos usando CPU x86?' como si esto fuera análogo a '¿Por qué seguimos usando el 8086?' La respuesta honesta es: no lo somos. Un 8086 de 1978 y un Core i7-8700K son CPU, al igual que un modelo T y un Toyota 2018 son autos, pero no comparten mucho más allá esa clasificación más básica.

Además, Intel intentó reemplazar o suplantar la arquitectura x86 varias veces. El iAPX 432, Intel i960, Intel i860 e Intel Itanium estaban destinados a reemplazar x86. Lejos de negarse a considerar alternativas, Intel literalmente gastó miles de millones de dólares durante varias décadas para dar vida a esas visiones alternativas. La arquitectura x86 ganó estas luchas, y no solo las ganó porque ofrecía compatibilidad con versiones anteriores. Hablamos con Intel Fellow Ronak Singhal para este artículo, quien señaló una faceta del problema que, sinceramente, no había considerado antes. En cada caso, x86 continuó ganando contra las arquitecturas que Intel pretendía reemplazarlo. porque los ingenieros que trabajaban en esos procesadores x86 encontraron formas de ampliar y mejorar el rendimiento de las microarquitecturas existentes de Intel, a menudo más allá de lo que incluso los ingenieros de Intel habían creído posible años antes.

¿Existe alguna penalización por seguir admitiendo el ISA x86 original? La hay, pero hoy es pequeña. El Pentium original puede haber dedicado hasta 30 por ciento de sus transistores a la compatibilidad con versiones anteriores, y la apuesta del Pentium Pro por la ejecución fuera de orden y las microoperaciones internas consumieron una gran cantidad de espacio y potencia, pero estas apuestas dieron sus frutos. Hoy en día, las capacidades que consumían enormes recursos en chips antiguos son un porcentaje de un solo dígito o menos de la potencia o el presupuesto de área de un microprocesador moderno. Comparaciones entre una variedad de NIA han demostrado que las decisiones de diseño arquitectónico tienen un impacto mucho mayor en la eficiencia del rendimiento y el consumo de energía que ISA, al menos por encima del nivel del microcontrolador.

¿Seguiremos usando chips x86 dentro de 40 años? No tengo idea. Dudo que alguno de los diseñadores de CPU de Intel que construyeron el 8086 en 1978 pensara que su núcleo sería el motor de la mayor parte de la revolución de la informática personal de las décadas de 1980 y 1990. Pero los recientes movimientos de Intel en campos como la inteligencia artificial, el aprendizaje automático y los centros de datos en la nube son una prueba de que la familia de CPU x86 no ha terminado de evolucionar. No importa lo que suceda en el futuro, 40 años de éxito son un legado tremendo para un chip pequeño, especialmente uno que, como dice Stephen Morse, “estaba destinado a ser de corta duración y no tener sucesores”.

Copyright © Todos Los Derechos Reservados | 2007es.com