La calculadora electrónica de secuencia selectiva IBM ( SSEC ) fue una computadora electromecánica construida por IBM . Su diseño se inició a fines de 1944 y funcionó desde enero de 1948 hasta agosto de 1952. Tenía muchas de las características de una computadora con programa almacenado y fue la primera máquina operativa capaz de tratar sus instrucciones como datos, pero no era completamente electrónica. [1] Aunque la SSEC resultó útil para varias aplicaciones de alto perfil, pronto se volvió obsoleta. Como la última computadora electromecánica de gran tamaño jamás construida, su mayor éxito fue la publicidad que proporcionó a IBM.
Durante la Segunda Guerra Mundial, la International Business Machines Corporation (IBM) financió y construyó una calculadora automática controlada por secuencias (ASCC) para Howard H. Aiken en la Universidad de Harvard . La máquina, inaugurada formalmente en agosto de 1944, fue ampliamente conocida como Harvard Mark I. [ 2] Al presidente de IBM, Thomas J. Watson Sr. , no le gustó el comunicado de prensa de Aiken que no reconocía a IBM el mérito por su financiación y esfuerzo de ingeniería. Watson y Aiken decidieron seguir caminos separados, e IBM comenzó a trabajar en un proyecto para construir su propia máquina más grande y más visible. [3]
El astrónomo Wallace John Eckert de la Universidad de Columbia proporcionó las especificaciones para la nueva máquina; el presupuesto del proyecto de casi un millón de dólares era una cantidad inmensa para la época. [4] Francis "Frank" E. Hamilton (1898-1972) supervisó la construcción tanto del ASCC como del SSEC. [5] Robert Rex Seeber Jr. también fue contratado fuera del grupo de Harvard y se hizo conocido como el arquitecto jefe de la nueva máquina. [6] Los módulos se fabricaron en las instalaciones de IBM en Endicott, Nueva York , bajo la dirección del director de ingeniería John McPherson después de que el diseño básico estuviera listo en diciembre de 1945. [7]
El anuncio en febrero de 1946 de la ENIAC totalmente electrónica dio impulso al proyecto. [8] La nueva máquina, llamada IBM Selective Sequence Electronic Calculator (SSEC), estaba lista para ser instalada en agosto de 1947. [9] Watson llamó a estas máquinas calculadoras porque el término "computadora" se refería entonces a los seres humanos empleados para realizar cálculos y él quería transmitir el mensaje de que las máquinas de IBM no estaban diseñadas para reemplazar a las personas, sino para ayudarlas, liberándolas de las tareas pesadas. [6] : 143
El SSEC se instaló en tres lados de una habitación en la planta baja de un edificio cerca de la sede de IBM en 590 Madison Avenue en la ciudad de Nueva York , detrás de una gran ventana donde era visible para la gente que pasaba por la concurrida calle. El espacio había sido ocupado anteriormente por una zapatería de mujeres. El ruidoso SSEC a veces era llamado Poppa por los peatones que lo veían. [10] Fue inaugurado y demostrado por primera vez al público el 27 de enero de 1948. A. Wayne Brooke se desempeñó como ingeniero electrónico jefe para el funcionamiento de la máquina a partir de 1950. [11] Herb Grosch , la segunda persona con un doctorado contratada por IBM, fue uno de sus primeros programadores. Otro de los primeros programadores fue Edgar "Ted" Codd . Elizabeth "Betsy" Stewart era la operadora principal y a menudo aparecía en fotos publicitarias. [12]
El SSEC era un híbrido inusual de tubos de vacío y relés electromecánicos . Se utilizaron aproximadamente 12.500 tubos de vacío en la unidad aritmética, el control y sus ocho registros (relativamente de alta velocidad) , que tenían un tiempo de acceso de menos de un milisegundo . Se utilizaron alrededor de 21.400 relés para el control y 150 registros de menor velocidad, con un tiempo de acceso de 20 milisegundos. La tecnología de relés era similar a la del ASCC, basada en la tecnología inventada por Clair D. Lake (1888-1958). [13] La unidad aritmética lógica del SSEC era un multiplicador electrónico IBM 603 modificado , que había sido diseñado por James W. Bryce . [14] Los voluminosos tubos eran tecnología de radar excedente militar , que llenaba una pared entera. La memoria estaba organizada como números decimales con signo de 19 dígitos. La multiplicación se calculaba con 14 dígitos en cada factor. La mayor parte de la capacidad citada de 400.000 dígitos estaba en forma de carretes de cinta de papel perforada. [15]
La suma tardaba 285 microsegundos y la multiplicación 20 milisegundos, lo que hacía que las operaciones aritméticas fueran mucho más rápidas que en la Harvard Mark I. Los datos que debían recuperarse rápidamente se guardaban en circuitos electrónicos; el resto se almacenaba en relés y como agujeros en tres cintas de cartulina continuas que llenaban otra pared. Se necesitaba un polipasto de cadena para levantar los pesados rollos de papel y colocarlos en su lugar. La máquina leía instrucciones o datos de 30 lectores de cinta de papel conectados a tres perforadoras, y otra unidad de búsqueda de tablas constaba de otros 36 lectores de cinta de papel. Se utilizaba un lector de tarjetas perforadas para cargar los datos y los resultados se producían en tarjetas perforadas o impresoras de alta velocidad. [15] La palabra de 19 dígitos se almacenaba en la cinta de cartulina o en registros en decimal codificado en binario , lo que daba como resultado 76 bits, con dos bits adicionales para indicar el signo positivo o negativo y la paridad, mientras que las dos filas laterales se usaban para las ruedas dentadas. Las 80 columnas familiares de la tecnología de tarjetas perforadas de IBM se registraban de lado como una columna de la cinta. [12]
Utilizando tecnología bien probada, los cálculos del SSEC eran precisos y exactos para su tiempo, pero uno de los primeros programadores, John Backus , dijo que "tenías que estar allí todo el tiempo que el programa estaba funcionando, porque se detenía cada tres minutos, y sólo las personas que lo habían programado podían ver cómo hacerlo funcionar de nuevo". [16] El co-diseñador de ENIAC, J. Presper Eckert (sin relación con el IBM Eckert) lo llamó "una gran monstruosidad que no creo que haya funcionado bien nunca". [17]
Seeber había diseñado cuidadosamente el SSEC para tratar las instrucciones como datos, de modo que pudieran modificarse y almacenarse bajo el control del programa. IBM presentó una patente basada en el SSEC el 19 de enero de 1949, que luego se confirmó como respaldo a la capacidad de almacenamiento de programas de la máquina. [6] : 136 [18] Cada instrucción podía tomar la entrada de cualquier fuente (registros electrónicos o mecánicos o lectores de cinta), almacenar el resultado en cualquier destino (registros electrónicos o mecánicos, cinta o perforadora de tarjetas o impresora) y proporcionar la dirección de la siguiente instrucción, que también podía ser cualquier fuente. Esto lo hizo poderoso en teoría. [15] Sin embargo, en la práctica, las instrucciones se almacenaban generalmente en cinta de papel, lo que resultaba en una tasa general de solo unas 50 instrucciones por segundo . La naturaleza serial de la memoria de cinta de papel hizo que la programación del SSEC se pareciera más a las calculadoras de la era de la Segunda Guerra Mundial. Por ejemplo, los "bucles" eran generalmente bucles literales de cinta de papel pegados entre sí. Para cada nuevo programa, se "cargaban" literalmente cintas y mazos de tarjetas en los lectores, y se cambiaba un tablero de conexiones en la impresora para modificar el formato de salida. Por estas razones, la SSEC suele clasificarse como la última de las máquinas "calculadoras programables" en lugar de la primera computadora con programa almacenado . [19]
La primera aplicación del SSEC fue calcular las posiciones de la Luna y los planetas , conocidas como efemérides . [20] Cada posición de la Luna requería alrededor de 11.000 sumas, 9.000 multiplicaciones y 2.000 búsquedas en tablas, lo que le llevaba al SSEC unos siete minutos. [9] Esta aplicación utilizó la máquina durante unos seis meses; para entonces, otros usuarios ya estaban haciendo cola para mantener la máquina ocupada. [21]
Se ha dicho a veces que el SSEC produjo las tablas de posición lunar que se usaron más tarde para trazar el curso del vuelo Apolo de 1969 a la Luna. Sin embargo, los registros más cercanos a 1969 sugieren que, si bien hubo una relación, lo más probable es que fuera menos inmediata. Así, Mulholland y Devine (1968), trabajando en el Laboratorio de Propulsión a Chorro de la NASA , informaron [22] que el Sistema de Cinta de Efemérides del JPL se "utilizó para prácticamente todos los cálculos de trayectorias de naves espaciales en el programa espacial estadounidense", y que tenía, como efemérides lunares actuales, una evaluación de las Efemérides Lunares Mejoradas que incorporaban una serie de correcciones: las fuentes se denominan 'Efemérides Lunares Mejoradas' (documentación que era el informe de los cálculos de Eckert realizados por el SSEC, completos con resultados de posición lunar de 1952 a 1971), [23] con correcciones como las descritas por Eckert et al. (1966), [24] y en el Suplemento a la AE 1968. [25] En conjunto, las correcciones a las que se hace referencia modifican prácticamente cada elemento individual de los cálculos lunares y, por lo tanto, el programa espacial parece haber estado utilizando datos lunares generados por un derivado modificado y corregido del procedimiento computacional iniciado utilizando el SSEC, en lugar de las tablas directamente resultantes en sí.
El primer cliente que pagó por el SSEC fue General Electric . El SSEC también fue utilizado para los cálculos de la Comisión de Energía Atómica de los Estados Unidos para el proyecto ANP para propulsar un avión con un reactor nuclear. Robert D. Richtmyer del Laboratorio Nacional de Los Álamos utilizó el SSEC para algunas de las primeras aplicaciones a gran escala del método de Monte Carlo . [26] Llewellyn Thomas resolvió problemas con la estabilidad del flujo laminar , programado por Donald A. Quarles Jr. y Phyllis K. Brown. [27] En 1949, Cuthbert Hurd fue contratado (también después de una visita al SSEC) y comenzó un departamento de ciencias aplicadas; la operación del SSEC finalmente se puso en esa organización. [21]
La sala SSEC fue una de las primeras computadoras en utilizar un piso elevado , para que los visitantes no vieran cables antiestéticos ni tropezaran con ellos. La gran variedad de luces intermitentes y relés electromecánicos ruidosos hicieron que IBM fuera muy visible para el público. El SSEC apareció en la película Walk East on Beacon , que se basa en un libro de J. Edgar Hoover . [11] Recibió una amplia cobertura positiva por parte de la prensa. [28] [29] El SSEC atrajo tanto a clientes como a nuevos empleados. Tanto Hurd como Backus fueron contratados después de ver demostraciones de la instalación.
El ENIAC de 1946 tenía más tubos que el SSEC y era más rápido en algunas operaciones, pero originalmente era menos flexible y necesitaba ser recableado para cada nuevo problema. A fines de 1948 se anunció un nuevo multiplicador IBM 604 , que usaba tecnología de tubos más nueva que ya hacía obsoletos los voluminosos tubos del SSEC. En mayo de 1949 se anunció la calculadora electrónica programada con tarjeta , y se envió en septiembre. Era efectivamente una versión mucho más reducida de la tecnología SSEC para permitir que los clientes realizaran cálculos similares. [6] Incluso a fines de 1948, la memoria electrónica limitada del SSEC se consideraba un problema, [15] e IBM pronto licenció la tecnología de tubos Williams desarrollada en el Manchester Baby en la Universidad Victoria de Manchester . [6] : 168 Las computadoras posteriores tendrían memoria electrónica de acceso aleatorio y, de hecho, la capacidad de ejecutar instrucciones desde los registros del procesador generalmente no se adoptó. La palabra de programación de 77 bits de ancho también fue abandonada en favor de menos bits pero una operación mucho más rápida.
En 1951, el Ferranti Mark I se comercializó en el Reino Unido como un ordenador comercial que utilizaba tecnología de válvulas Williams, seguido por el UNIVAC I, que utilizaba memoria de línea de retardo en los EE. UU. Estas tecnologías de memoria permitieron que las características del programa almacenado fueran más prácticas. El concepto de programa almacenado se había publicado ampliamente por primera vez en 1945 en el Primer borrador de un informe sobre el EDVAC y se conoció como la arquitectura de Von Neumann . El EDVAC (que comenzó a funcionar en 1949) fue el sucesor del ENIAC, diseñado por el equipo que luego comercializó el UNIVAC.
El SSEC funcionó hasta agosto de 1952, cuando fue desmantelado, al quedar obsoleto por la aparición de ordenadores totalmente electrónicos. En la misma sala se instaló un ordenador IBM 701 , conocido como Calculadora de Defensa, para su debut público el 7 de abril de 1953. [30] En julio de 1953 se anunció el IBM 650 , mucho más económico (y aún más vendido) , que había sido desarrollado por el mismo equipo de Endicott que desarrolló el SSEC. [31]
El SSEC fue el primer ordenador operativo capaz de tratar sus propias instrucciones almacenadas exactamente como datos, modificándolas y actuando sobre el resultado.