Bicentenario

(158) ENIAC: La primera computadora electrónica programable

Era el año 1947 cuando el Laboratorio de Investigación Balística del Ejercito de Estados Unidos dejó constancia de la creación del primer Integrador Numérico Electrónico y Computador.

… Con la llegada del uso cotidiano de complicados cálculos, la velocidad se ha vuelto fundamental en un grado tan alto que no hay un equipo en el mercado capaces de satisfacer toda la demanda de los métodos modernos de cálculo. Las máquinas más avanzadas han reducido en gran medida el tiempo necesario para alcanzar soluciones a los problemas que podría haber precisado de meses o días por procedimientos antiguos. Este avance, sin embargo, no es el adecuado para muchos de los problemas encontrados en el trabajo científico moderno y la presente invención tiene por objeto reducir a segundos tales cálculos largos …

Nada podría haber explicado mejor el principal propósito de construir ENIAC (Electronic Numerical Integrator And Computer), conocida como la primera computadora electrónica digital programable. El párrafo citado corresponde a la solicitud de patente número 3.120.606 llenada el 26 de Junio de 1947, y que pretendía dejar constancia de la creación del Integrador Numérico Electrónico y Computador por el Laboratorio de Investigación Balística del Ejercito de Estados Unidos.

ENIAC marca varios precedentes importantes en la informática y electrónica, como el inicio de la computación de propósito general, la programación en lenguaje de máquina (digital), y la historia de seis mujeres -ignoradas en su momento- hábiles en matemáticas y lógica, que se convirtieron en las primeras programadoras.

Historia

Para Estados Unidos, el estallido de la Segunda Guerra Mundial en 1939  los hizo despertar de la poca preparación militar que habían tenido en las últimas dos décadas, dejandolos virtualmente eliminados como una potencia en materia bélica. En tiempos de paz, los principales establecimientos científicos y de soporte para el departamento encargado de diseño, desarrollo, adquisición, almacenamiento y expedición de todo el material de combate y municiones para el ejército, estaban prácticamente abandonados.

Como en la mayoría de los grandes avances de la tecnología, ENIAC nace a partir de la extraordinaria demanda que implicaba la guerra en esos tiempos, la milicia necesitaba encontrar soluciones rápidas y precisas para sacar ventaja de sus rivales. Una de las principales tareas a desarrollar en aquél entonces, era un sistemas de alta precisión para bombardeos y manejo de datos complejos de balistica, por lo que el Ejercito de Estados Unidos encargo el diseño de ENIAC en los primeros años de la Segunda Guerra Mundial y para el 5 de Junio de 1943 se firmaba la construccion secreta del computador por la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pennsylvania.

Originalmente, ENIAC fue conocida por el nombre clave “Proyecto PX”, liderado por John Mauchly y John Presper Eckert, junto a un equipo de ingenieros que incluía a Robert F. Shaw, Chuan Chu, Thomas Kite Sharpless, Arthur Burks, Harry Huskey, Jack Davis y Iredell Eachus Jr, cada uno de ellos encargados de una función especifica del computador como: acumulador, multiplicador, programación, funciones de tabla, lectura/impresión, entre otras.

ENIAC finalmente fue terminada el 14 de Febrero de 1946, luego de una inversión de USD$500.000 (USD$6 millones actuales) hecha por el Ejercito de Estados Unidos. La computadora fue presentada al público en Julio del mismo año, donde fue catalogada por los medios como un “cerebro gigante”. Para el mes de Julio, ENIAC estaba funcionando a su máxima capacidad y sólo fue apagada 4 meses más tarde para una actualización de memoria y transferencia hasta las instalaciones de Aberdeen Proving Ground en Maryland. Un año más tarde su puesta en marcha, ENIAC estaba nuevamente en las canchas y continuó operando ininterrumpidamente hasta las 11:45pm del 2 de Octubre de 1955.

Descripción

Los números detrás de ENIAC son bastante grotescos, pero antes de ir con ellos debemos recordar que ésta computadora era modular, es decir, estaba compuesta por distintos componentes separados entre sí y que cumplían con distintas funciones; Veinte de estos módulos eran acumuladores, los que se encargaban de sumar, restar y almacenar hasta un número decimal de 10 dígitos. Los datos viajaban en buses de propósito general -llamados trays- a través de todos los componentes, los que debían priorizar las acciones en: enviar y recibir números, computar, salvar la respuesta, y desatar la siguiente operación.

Sin embargo, lo más llamativo de ENIAC era su impresionante tamaño:

  1. Peso: 27 toneladas
  2. Tamaño: 2.6 m x 0.9 m x 24 m
  3. Espacio: 63 metros cuadrados

Si el tamaño no te sorprende, tal vez la complejidad de su construcción lo haga:

  1. 17.468 válvulas electrónicas
  2. 6.000 interruptores
  3. 7.200 diodos de cristal
  4. 1.500 relés
  5. 70.000 transistores
  6. 10.000 capacitores
  7. 5 millones de uniones soldadas
  8. 200.000 W de consumo

Recordemos que ENIAC era capaz de almacenar un número con máximo de 10 dígitos, para ello utilizaba contadores de anillo de 10 posiciones, cada uno de estos utilizaba 36 válvulas electrónicas y 10 de ellos realizaban el flip-flop en el anillo. La capacidad de realizar operaciones simples no escapaba del asombro en aquella época, gracias a los 20 acumuladores, ENIAC era capaz de realizar 5.000 sumas o 300 multiplicaciones en tan sólo 1 segundo, y calcular la potencia 5.000 de un número de hasta 5 cifras en tan sólo 1,5 segundos. Otras operaciones que era capaz de realizar ENIAC era la resta, division y extraer raices cuadradas.

Uno de los objetivos de diseño de ENIAC, era hacerla totalmente electrónica para obtener mayor velocidad. El producto final cumplió el objetivo, porque sólo un elemento mecánico quedó presente, se trataba del lector de tarjetas perforadas de IBM, y que se encontraba fuera del sistema de cálculo como tal. Las tarjetas de IBM permitían ingresar datos a la computadora como también imprimirlos.

Máquinas de la época

Podemos decir que el inicio de la computación moderna comenzó en los años 30, con una serie de máquinas de cómputo mecánicas/electrónicas bastante limitadas en cuanto a la programación y finalidad. Antes del desarrollo de éste primitivo hardware, la gente debía hacer los cálculos a mano y sólo recibían algo de ayuda de máquinas mecánicas (análogas) a las que podríamos llamar las primeras calculadoras.

Zuse Z3 (Alemania): Fue creada por Konrad Zuse en 1939 y tiene el mérito de ser la primera computadora digital programable y de propósito general, curiosamente, en la mayoría de los libros de historia se le atribuye a ENIAC el título de la primera computadora programable, los motivos son totalmente discutibles, por un lado, Z3 realmente fue la primera computadora parcialmente programable, pero programable al fin y al cabo. ENIAC por su parte, fue la primera computadora electrónica totalmente programable. ¿Se entiende que la historia la escriben los ganadores?, en este caso Estados Unidos y no la Alemania Nazi.

Replica de Zuse Z3

La lógica detrás de los cálculos de Z3 era binaria de punto flotante, y accidentalmente se descubrió en 1998 que tenía Turing Completo. Lamentablemente, la vida de Z3 fue muy precoz, sólo se conoce una presentación en público en Mayo de 1941, para luego ser destruida en el bombardeo a Berlin de Diciembre de 1943, aunque una replica se conserva en el Museo de Munich.

Atanasoff-Berry Computer o ABC (Estados Unidos): Mostrada al público en el verano de 1941, fue el primer computador electrónico de la historia, poseía una lógica binaria y válvulas electrónicas, pero no era de propósito general y tampoco programable, su misión era simplemente resolver sistemas de ecuaciones lineales.

Colossus Mark 1 y 2 (Inglaterra): Diseñada por Tommy Flowers fue una de las primeras computadoras totalmente electrónicas junto a ENIAC, su lógica matemática estaba basada en binario y era usada para el criptoanálisis, específicamente su misión era interceptar y descifrar las comunicaciones nazis. Fueron destruidas en 1945 para mantener el secretísimo, sólo en 1970 se supo de su existencia.

¡Cuidado!, mujeres programando

Controlar ENIAC no era algo trivial, se trataba de una máquina de 30 toneladas y varios paneles (o módulos) que abarcaban toda una habitación, imaginen como se programaba en tremenda máquina… no, no usaban teclados gigantes, todo se resumía a unir cables entre los distintos componentes que formaban el primer computador programable electrónico.

ENIAC estaba conectada por más de 1.500 relés, los que conectaba pulsos eléctricos emitidos por las unidades del sistema, una de ellas era denominada la “unidad cíclica” que se encargaba de los pulsos básicos, otras unidades se encargaban de repetir los pulsos, acumular números y realizar el cálculo. La programación de ENIAC estaba a cargo de mujeres (simples operarias en aquella época), quienes debían tomar un problema y mapear la solución en un lenguaje comprensible para la máquina. Programar los ciclos, estructuras y subrutinas era una tarea compleja que podía llevar un largo tiempo planificarlas en papel, y varias semanas en aplicarla en la máquina al mover los cables y conectarlos con ciertas entradas/salidas de las unidades. Luego de que la programación estuviera lista, venía el periodo de verificación o debugeo.

Betty Snyder Holberton, Jean Jennings Bartik, Kathleen McNulty Mauchly Antonelli, Marlyn Wescoff Meltzer, Ruth Lichterman Teitelbaum y Frances Bilas Spence, sentaron las bases para una programación sencilla y accecible a todos, fueron las encargadas de crear complejos set de funciones, aplicaciones de software y clases, pero nunca se les otorgó el merecido reconocimiento, incluso en la década de los 80 se pensaba que las mujeres que aparecían en el registro fotográfico de ENIAC eran simples “modelos” sin ninguna relación con la máquina.

Sin embargo, también existe otro personaje importante detrás de la programación de ENIAC, su nombre es Jon Von Neumann, matemático que estuvo involucrado en el primer año de construccion de la máquina. Aunque ENIAC era un proyecto financiado e impulsado por el Laboratorio Balístico del Ejercito, el Laboratorio de Los Alamos -donde se trabajaba en simulaciones de la bomba de hidrogeno- se vio involucrado directamente con la computadora, participando de la definición de un sistema lógico basado en la ideas del matemático húngaro y que es conocido como la Arquitectura Von Neumann.

Eventualmente, el Laboratorio de Los Alamos ejecutó en ENIAC las primeras pruebas de simulación sobre la bomba de hidrógeno (o atómica), alcanzando más de un millón de entradas y salidas reflejadas en tarjetas perforadas.

Conclusión

La primera computadora electrónica programable, no sólo marca el comienzo de la computación tal y como la conocemos -por su arquitectura, componentes electrónicos y modelo de programación- sino también nos enseña como las motivaciones bélicas llevan a grandes mentes a desarrollar este tipo de máquinas que eran muy avanzadas para la época.

Aunque el objetivo original de ENIAC se cumplió a cabalidad: calculó varios bombardeos, incluso contribuyo al desarrollo de la bomba atómica, lo que puso fin a la Segunda Guerra Mundial y a Estados Unidos a la vanguardia de la tecnología, hoy su evolución nos permite disponer de varios dispositivos de cómputo en nuestros hogares para propósitos de diversión o aprendizaje, también ha permitido que la humanidad avance en otras materias de importancia como la ciencia o medicina y que distan de la finalidad inicial de ésta computadora.

Tags

Lo Último


Te recomendamos