¿Quién inventó el conjunto de instrucciones x86?

Respuesta corta: Stephen P. Morse.

Esta no es una cuenta de primera mano, por lo que si alguien del equipo original está en Quora, espero que participe. He sido parte de equipos que diseñaron otros conjuntos de instrucciones y, por esa experiencia, sé que generalmente es más de uno. La persona que aporta la instrucción establece las ideas. De Wikipedia:

“La arquitectura fue definida por Stephen P. Morse con ayuda y ayuda de Bruce Ravenel (el arquitecto del 8087) para refinar las revisiones finales. El diseñador lógico Jim McKevitt y John Bayliss fueron los ingenieros principales del equipo de desarrollo a nivel de hardware [nota 10] y Bill Pohlman, el gerente del proyecto ”.

Si observa el conjunto de instrucciones para el primer microprocesador Intel, el 4004, (¡solo unos 2.000 transistores!), Luego el 8008, luego el 8080, puede ver una progresión lógica de agregar gradualmente instrucciones individuales que pueden hacer cosas que el Los procesadores anteriores tenían que lograr el uso de una serie de instrucciones menos capaces. Algunos ingenieros renegados de Intel diseñaron el Zilog Z80, y el diseño del Intel 8086 se vio influenciado por los intentos de competir con Zilog.

Por ejemplo, ningún ingeniero hubiera soñado con una instrucción de multiplicación de enteros en el 8080, y los multiplicados debían ser unidos mediante sumas de enteros. Sin embargo, en el momento del 8086, la densidad de los transistores había mejorado hasta el punto en que podían poner un entero multiplicado en microcódigo, haciéndolo parecer una única instrucción de ensamblaje para un programador.

Dato curioso: el 8086 original tenía 156 instrucciones y fue clasificado como “CISC”, para computadora de conjunto de instrucciones complejas. Cuando IBM presentó su primer microprocesador RISC (Computadora de conjunto de instrucciones reducidas), que más tarde se convirtió en la familia de chips PowerPC, tenía … 183 instrucciones. No sé de ti, pero me parece divertido. A esto le siguieron una serie de esfuerzos para redefinir lo que realmente significa “RISC” y, confía en mí, las definiciones están en todo el mapa. La mejor definición que conozco para RISC, como se usa actualmente el término, es “No como x86, sea lo que sea”.

Desde el diseño original del conjunto de instrucciones x86 (el 8086), el conjunto de instrucciones ha crecido y crecido. Por ejemplo, las operaciones vectoriales (originalmente llamadas MMX, ahora generalmente llamadas SSI) han provocado que el conjunto de instrucciones se incremente a más de 2,000. Creo que mi amigo y colega Les Kohn merece el crédito por hacer que Intel reconozca la necesidad de instrucciones vectoriales a través de su trabajo en el chip i860 y los conjuntos de instrucciones vectoriales para SPARC.

Pero si observa el conjunto actual y profundiza lo suficiente, encontrará instrucciones que se remontan a la administración de Jimmy Carter.

Muchos ingenieros han contribuido a la definición del presente conjunto de instrucciones.

Fue desarrollado por los ingenieros de Intel.