La era pre-x86 de 4 bits

En esta nueva temporada de Hardlimit, estrenamos nuestra primera serie: la historia de los procesadores x86. Aquí se recorrerán los modelos de Intel y otros fabricantes desde el inicio de los tiempos a la actualidad.

Desde siempre, mi componente favorito en un ordenador ha sido el procesador. Prueba de ello es cómo tiendo a hablar del tema, ya sea con entradas o con el banco de pruebas de nuestra casa. En 2006 publiqué en el foro un par de hilos: uno titulado «Historia de los micros de Intel» y otro «Historia de los micros de AMD«. En ambos, las imágenes han desaparecido por haberlas alojado en Imageshack. Hoy son dos decrépitas listas de procesadores con algunos datos sobre ellos. Son dos hilos bastante tristes si lo comparamos con algo que estamos construyendo entre todos en la Central de Hardlimit; un proyecto mucho más ambicioso y útil que aquel intento «fallido». Por eso, en vez de remasterizar aquellos hilos, he creído más interesante realizar una breve investigación sobre cada modelo/generación e ir construyendo entradas con su historia, la gente que hubo detrás y todo lo que rodeó a su diseño. La idea es no entrar demasiado en los detalles técnicos, que se tratarán por encima (disponibles en detalle en las referencias que hay debajo de la entrada) y más en el entorno que rodeaba a cada nuevo modelo y generación.

Esta entrada será algo más larga que las siguientes por la introducción. En fin, vayamos al grano.

Todo comenzó hace 13800 millones de años, cuando una gran explosión originó el Universo. Unos años después, una nube de escombros formó el sistema Solar y con él, la Tierra. En ella apareció la vida que tras múltiples iteraciones, desembocó en la humanidad.

El silicio es un subproducto de la combustión de las estrellas. Fuente imagen: Wikimedia

Hace 4500 años, los sumerios inventaron la primera ALU de la que se tiene registros: el ábaco. Este instrumento, aunque revolucionario, requería de una persona como unidad de control, lo cual le daba una velocidad de proceso de escala humana. Desde entonces y hasta hace unos años, el desarrollo de la informática apenas avanzó.

La primera ALU de la que se tienen registros. Fuente: Wikimedia

Unos siglos después en plena revolución industrial, al igual que otros tantos procesos que hasta entonces requerían la asistencia activa del humano, los cálculos se automatizaron. Probablemente, la primera calculadora automática de la historia sea la máquina diferencial de Charles Babbage que este diseñó en 1822 y más tarde intentó construir aunque infructuosamente por falta de fondos. Para el diseño, Babbage recibió ayuda de Ada Lovelance, considerada la primera programadora de la historia.

Máquina diferencial de Babbage. Fuente: Wikimedia

Durante la primera mitad del siglo XX se hicieron multitud de máquinas electromecánicas como el célebre decodificador de Enigma de Alan Turing. Pero para ver un verdadero salto cualitativo en la implementación de la teoría que se había estado desarrollando hasta entonces, hay que irse a mediados de ese mismo siglo cuando la Universidad de Pensilvania desarrolló el primer ordenador electrónico de la historia: el ENIAC. Con él se sustituyeron los mecanismos por válvulas de vacío. Con sus 27 toneladas y un consumo de 160kW, multiplicó la velocidad de las calculadoras mecánicas siendo capaz de procesar miles de sumas o cientos de multiplicaciones por segundo.

Dos ingenieros programando Eniac. Fuente: Wikimedia

Sólo unos años después y cuando el ENIAC todavía estaba dando servicio, la Universidad de Manchester construyó el primer ordenador con transistores del que se tiene constancia. Estaba construido con tan sólo 200 transistores y 1300 diodos y su consumo era de unos pírricos 150W. De esta máquina no he encontrado datos de rendimiento, aunque probablemente no se hicieron grandes logros en este sentido dado el limitado número de transistores empleados. Después de él, aparecieron algunas calculadoras comerciales completamente hechas de transistores como la IBM 604 (la de la Universidad de Manchester todavía necesitabas algunas válvulas).

Aunque durante los siguientes años probablemente hubo bastantes intentos (y algunos seguro que exitosos) de construir un ordenador usando circuitos integrados en vez de elementos discretos, el primer ordenador comercial de la historia que dejó los transistores y diodos y se pasó a los encapsulados fue el IBM System/360. Eso sucedió en 1964, sólo un lustro antes de que comenzara una era en la que todavía estamos inmersos.

IBM System/360 junto a dos operadores. Fuente: ComputerHistory.org

Hasta entonces, todos los elementos que componían el ordenador (incluyendo el procesador), estaban hechos de distintos elementos. Crear una CPU en un solo encapsulado estaba en la imaginación de muchos, pero de momento nadie lo había conseguido.

En 1969, la empresa japonesa Nippon Calculating Machine Corporation hizo un pedido a Intel de 12 chips para su nueva calculadora con impresora: la Busicom 141-PF también conocida como NCR 18-36. Ted Hoff (un ingeniero de Intel) ofreció reducir esos 12 chips a sólo 4 ya que la idea de integrar una CPU en un chip llevaba unos meses rondándoles la cabeza.

Busicom 141-PF / NCR 18-36. Fuente: [2]

Los integrados periféricos propuestos fueron 4 chips 4001 (unas ROMs de 256 bytes), 2 chips 4002 (la memoria RAM que sumaba 640 bits) y 3 chips 4003 (unos registros de desplazamiento de 10 bits). Finalmente tenemos al protagonista: un 4004, una CPU de 4 bits a 750kHz. A este conjunto de chips se le llamó MCS-4.

Chipset MCS-4 en la calculadora de Busicom. Fuente: [2]

Este cambio en el diseño en el que se pasó de 12 integrados diferentes a sólo 4, supuso un antes y un después y marcó el pistoletazo de salida de una era en la que estamos todavía hoy sumergidos. Y es que el fabricante de calculadoras había pensado en un diseño que sirviera sólo para su producto, pero desde Intel vieron más interesante hacer que ese diseño fuera programable y se pudiera usar en multitud de escenarios.

Entre bambalinas, el tema se estaba cocinando muy lentamente. Intel no se tomó demasiado en serio el pedido de Busicom porque estaba enfocado en lo que ellos consideraban que catapultaría a la empresa a la cima: las RAMs dinámicas. En ese momento, Ted Hoff y Stan Manzor (los dos ingenieros a cargo de MCS-4) estaban solos. Y ninguno de ellos tenía la experiencia suficiente como para sacar adelante algo así.

Procesador Intel 4004. Fuente: [1]

No fue hasta abril del 70 que el desarrollo dio un gran salto gracias a un físico italiano llamado Federico Faggin. Después de abandonar Fairchild, Faggin se puso manos a la obra con el chipset MCS-4. Una vez en Intel, desarrolló la Random Logic que aplicó a circuitos MOS y con ello fue posible desatascar el desarrollo de la CPU. A grandes rasgos, la lógica aleatoria consiste en poder traducir descripciones lógicas de alto nivel en puertas AND y OR en un circuito integrado. Sin este aporte, el 4004 (y el desarrollo de los procesadores integrados en general) probablemente se habría retrasado unos cuantos años.

El 4004 lleva la firma de Faggin (F.F.). Fuente: [5]

Sólo un año después de la entrada de Faggin, Intel presentó la primera CPU integrada en un chip de la historia. Era un micro con 2300 transistores, un ancho de puerta de 10 micras (lo que vienen siendo tres órdenes de magnitud las dimensiones que se manejan a día de hoy) y un conjunto de 46 instrucciones de 4 bits. Esta CPU se usó esencialmente en calculadoras y estuvo en producción nada menos que una década, hasta 1981.

Finalmente, la compañía de Mountain View acabó comprando los derechos a Nippon Calculating Machine Corporation, anunciando en noviembre de 1971 «una nueva era en la electrónica integrada».

Tres años después, apareció una versión mejorada: el 4040 que con 700 transistores más, aumentó su repertorio de instrucciones hasta las 60. Pero probablemente la novedad más relevante fue el estreno de las interrupciones. Con el 4040, llegó a su fin la innovación de la corta era de los procesadores de 4 bits en Intel.

Esta familia de procesadores fue la primera y como suele pasar con los primeros intentos, ofrecía una funcionalidad muy limitada. Hoy en día y desde hace años, la mayoría de microcontroladores superan las prestaciones del 4004. A pesar de que había empresas con la idea de sacar ordenadores personales, se encontraban con que la tecnología estaba demasiado verde aun cuando ya tenían en sus manos la posibilidad de usar una CPU integrada en un solo chip.

Intel 4040 en formato cerámico. Fuente: Wikimedia

Un par de años antes del 4040, había aparecido el 8008, otro pedido especial para Intel esta vez de una CPU de 8 bits. Pero eso será carne para otro capítulo.

Referencias

[1] https://www.intel.es/content/www/es/es/history/museum-story-of-intel-4004.html

[2 ]http://www.vintagecalculators.com/html/busicom_141-pf.html

[3] https://www.phy.ornl.gov/csep/ov/node10.html

[4] https://en.wikipedia.org/wiki/Federico_Faggin

[5] http://www.intel4004.com/

[6] https://www.computerhope.com/issues/ch000984.htm

Ver comentarios