lunes, 6 de junio de 2016

Vida antes del Kenbak-1: El DEC PDP-8, la revolución de las pequeñas cosas

Entradas relacionadas: Simon (1950), Geniac (1955), Heathkit EC-1 (1960), Minivac 601 (1961), Digi-Comp I (1963), DEC PDP-8 (1965), Paperclip Computer (1967), Honeywell Kitchen Computer (1969), Imlac PDS-1 (1970).

Índices: El camino al O.P.       Historia de la Informática


Este no es un ordenador personal, pero merece una mención especial pues fue no solo el que inspiró que se produjeran los Nova de Data General, que a su vez inspiraron a Wozniak para el Apple I, sino que debe entrar con letras de oro en la historia de la informática.

En ese momento los grandes ordenadores eran lo que imperaban, ya que no parecía posible reducir mas su tamaño, ocupando grandes habitaciones acondicionadas especialmente, pero por debajo empezaron a surgir una serie de máquinas que se denominaron Minis, ya que eran mucho mas pequeñas, y así una CPU pasaba de ocupar el espacio de un armario ropero de varios cuerpos, al tamaño de una nevera, luego al tamaño de una lavadora, y luego se hicieron micros.

En ese momento IBM era el rey indiscutible, pero DEC empezaba a despuntar con sus máquinas, a las que no quiso llamar ordenador pues los inversores no creían que se pudiera vender ordenadores tan económicos, y así nació la gama PDP por Programmed Data Processor (Procesador de Datos Programable), que se abrió camino con fuerza desde el PDP-1 con su pantalla gráfica, el PDP-7 que será recordado por ser la máquina en la que se creó el Unix, mientras que el mejor modelo de la gama fue sin duda el PDP-11 con su sistema operativo el VMS. Pero su máquina estrella fue el PDP-8, el primer mini en alcanzar ventas masivas, se calcula que se vendieron mas de medio millón de unidades, con un precio sobre los 18.000 dólares del momento (hoy día mas del doble), lo que era mucho menos que un mainframe de la época.

La versión inicial de la CPU del PDP-8 (Fuente: smecc.org)

El aparato estaba compuesto de muchas pequeñas placas, ubicadas primero en una caja en forma de cubo que al disponer de un acabado muy atractivo era la portada de los catálogos, arriba dos zonas de placas de diversos colores, mientras que abajo estaba la fuente de alimentación y los botones y luces típicos de la unidad de control general de la época, pero solo era la CPU y necesitaba mas periféricos en otros armarios, quizá por ello la versión posterior denominada PDP-8/S, que fue la mas vendida, estaba formada por dos armarios separados para la CPU, y del mismo tamaño otros armarios para los periféricos.

Una unidad PDP-8/S, de izquierda a derecha teletipo-impresora, cpu en dos armarios, unidades de almacenamiento, unidades auxiliares y terminales (fuente: pdp8.net)

La CPU no usaba un procesador encapsulado ni grandes chips de memoria, sino principalmente transistores, al principio usaba lógica diodo-transistor, aunque luego pasó a TTL, por eso usaba tantas placas independientes, pero el conjunto formaba un potente procesador, aunque con un reducido juego de instrucciones (lo que sería hoy un RISC)  de 12 bits, que soportaba una memoria máxima de 32 K palabras (y no he dicho ni gigas ni megas), un bus formado por 122 líneas que se cableaba manualmente, y un controlador de periféricos con un solo canal DMA.

Los principales lenguajes de programación que se empleaban eran FOCAL, un lenguaje interpretado, cuya sintaxis es similar a la del Basic, aunque se podía escribir los comandos en idiomas diferentes al inglés ya que PDP sacó versiones en lenguajes europeos, además del propio Basic en versiones mono y multi usuario, y el hoy casi desaparecido Fortran (que siempre permanecerá en mi recuerdo pues fue el primero que usé en un gran ordenador a finales de los 70), aunque en esa época era muy normal programar en ensamblador y la estrella era el PAL-8, que era el nombre del ensamblador que incorporaba.

Se podían elegir varios Sistemas Operativos para la máquina, el habitual era de multitarea cooperativa, inicialmente se llamaba MS/8 y luego PS/8, pero acabó llamándose OS/8 que es como se le conoce, al arrancar ocupaba 128Kb en el banco 0 de la memoria RAM, y disponía de un nutrido grupo de comandos que podía ejecutar, siempre almacenados en disco para evitar ocupar memoria. También disponía de otros mas específicos, como uno para tiempo real y otro en modo multitarea apropiativa, y como curiosidad disponía de una versión del CP/M del que podía leer y grabar discos, e incluso ejecutar algunos programas del mismo con un emulador del Z80.

No hay comentarios:

Publicar un comentario