Conecta con nosotros

A Fondo

Transputers: cuando soñábamos con tener un ordenador en un chip

Publicado el

Hoy en día, los SoC (System on a Chip) se han convertido en habituales en todo tipo de dispositivos, desde smartphones a televisores, consolas de videojuegos u ordenadores. La industria parece tener muy claro que el futuro es tener cuánto más mejor dentro del mismo chip. Pero no siempre fue así.

Nuestra historia comienza a primeros de la década de los 80. La informática personal daba sus primeros pasos y los ingenieros se toparon con un problema importante: la tecnología de la época hacía imposible aumentar el número de transistores de un chip con la velocidad necesaria y los diseños CISC estaban estancados, así que muchos apostaron por el procesamiento en paralelo: dividir el trabajo entre varios procesadores era la opción más factible y todos estaban convencidos que el software del futuro estaría preparado para ello.

Casi por sorpresa, Inmos, una pequeña compañía británica con sede en Bristol, sorprendió al mundo con el primer microprocesador de propósito general diseñado para ser utilizado en procesamiento paralelo: el transputer. David May y Robert Milne fueron los que hicieron posible el milagro.

El nombre de transputer combinaba los conceptos de transistor y computer, dejando claro su propósito: de la misma forma que los transistores forman un procesador, los transputers serían la unidad básica, los “bloques” con los que construir ordenadores muy potentes a bajo coste. La computación en paralelo haría el milagro.

El objetivo de Inmos era producir un catálogo de transputers de diferentes características y precios que incluían, en la misma placa de silicio, una CPU, memoria RAM, soporte para bus, comunicaciones serie y hasta su propio sistema operativo en tiempo real (RTOS). Para hacerlos funcionar solo era necesario proporcionarles energía eléctrica y una señal de reloj de coordinación de operaciones.

Así, con un coste de solo unos pocos dólares por unidad, los transputers podrían utilizarse como CPU principal (o como parte de ella), pero también como controlador de disco o para controlar las comunicaciones. Mientras que en sistemas tradicionales el procesador dedicado al controlador de disco, por ejemplo, está inactivo cuando no se accede al mismo en un sistema transputador esos ciclos de procesador se pueden destinar a otras tareas, aumentando drásticamente el rendimiento general de la máquina.

Ya en su diseño básico cada transputer podía conectarse con otros cuatro, con anchos de banda de hasta 20 Mbit/s (altísima para aquellos años). Cada grupo, a su vez, se podía conectar con otros, en enlaces de hasta decenas de metros para construir granjas de computación de gran potencia.

Los transputers se conectaban con un patrón fijo punto a punto, así que la comunicación entre dos distante requería que pasara por todos los intermedios. Esto ocasionaba retardos en grandes redes que Inmos intentó solucionar integrando un conmutador de retardo cero capaz de interconectar hasta 32 transputers al mismo tiempo.

Las “transputadoras” estaban pensadas para programarse con el lenguaje Occam, desarrollado por David May y basado en el cálculo de procesos secuenciales. Inspirado en el paradigma de comunicación CSP (Communicating Sequential Process) de C.A.R Hoare, admitía la concurrencia y la comunicación entre procesadores. A posteriori, se lanzaron implementaciones de lenguajes de programación más convencionales, como C, FORTRAN o Pascal.

Inmos anunció el lanzamiento de los primeros transputer en 1983, aunque o estuvieron disponibles hasta el año siguiente (como referencia, el Apple Macintosh original también se lanzó ese año). Incluían 2 KB de RAM y un controlador de memoria integrado, así que se podía añadir más sin necesidad de hardware adicional. Se lanzaron las series T2, de 16 bits, T4 de 32 bits y T8 de 32 bits con soporte de coma flotante de 64 bits.

Los transputers carecían de soporte para memoria virtual, lo que impide la adaptación de las variantes de sistemas operativos Unix que comenzaron a hacerse populares (sí hubo adaptaciones de variantes, como Minix o Idris). Comercialmente, Inmos se quedó en tierra de nadie: aunque el rendimiento era muy bueno para estaciones de trabajo cuando se puso a la venta ya había alternativas RISC que lo superaban. En los ordenadores personales, dominados por las máquinas de 8 y 16 bits en un escenario de competencia feroz, cualquier opción de Inmos era demasiada potente y cara para los usuarios.

Incluso la supuesta ventaja de construir máquinas combinando bloques se desvaneció cunado el T800 salió al mercado por 4.400 dólares por pieza, haciendo inviable la comparación precio/potencia cualquier alternativa. La Atari Transputer Workstation, lanzada en 1989 y basada en el T800, es el ejemplo clásico comercial basado en transputers.

Inmos tuvo tiempo de realizar un intento más: el T9000 tenía muchas características en común con el T800 con el añadido de soportar superescalaridad. Contaba con una caché real de alta velocidad de 16KB en lugar de RAM y mejoras muy importantes en bus. Sin embargo, los fondos se acabaron, las ventas de los modelos anteriores no fueron bien y finalmente, la empresa fue adquirida por SGS que eliminó el T9000 y apostó por proyectos menos innovadores, pero más rentables como al construcción de microcontroladores para electrónica de consumo.

Durante algunos años a finales de la década de los 80, se consideró al transputador como la arquitectura que marcaría el futuro de la informática. Ni Inmos ni el transputador lo lograron, pero debemos reconocer que influyeron en el desarrollo de nuevas ideas, varias de las cuales forman parte de los sistemas que todos conocemos.

Más información:

https://www.atarimagazines.com/startv4n4/transputer.html

http://people.cs.bris.ac.uk/~dave/index.html

https://www.transputer.net/tn/06/tn06.html#x1-20001

Me encargo de traer innovación y nuevo negocio al grupo TPNET. Además colaboro en varios de nuestros sitios como MC y MCPRO.

Lo más leído