Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Grace Hopper y la UNIVAC

Antes de todos estos microcircuitos, de toda esta tecnología, hubo computadoras que para como están las cosas, nos asombraría su existencia o el hecho de...

grace-hopper

Antes de todos estos microcircuitos, de toda esta tecnología, hubo computadoras que para como están las cosas, nos asombraría su existencia o el hecho de que se usaran comercialmente. Fue hasta que llegó la Segunda Guerra Mundial cuando se empezaron a desarrollar las computadoras, incluyendo la UNIVAC, en donde trabajó Grace Hopper, quien nació en Nueva York, en 1906, y que fue profesora asociada de matemáticas en Vassar cuando inició la gran guerra. Como voluntaria, se le asignó el trabajar en el proyecto Mark I de Harvard (una máquina para ser usada en el esfuerzo de la guerra) y de 1944 al 49, fue autora de varios artículos científicos y técnicos.

En 1949 Hopper se cambió a la Eckert-Mauchly Computer Corporation (adquirida más tarde por Remingtin Rand y en última instancia por lo que es Unisys). Se unió al equipo de UNIVAC. Esta máquina corrió por vez primera en 1951 y fue la segunda computadora comercial en los Estados Unidos, y fue la primera computadora diseñada para negocios y administración (en lugar del uso común de antes, para la ciencia). Esto quiere decir que estaba más orientada a cálculos sencillos muy rápidos en lugar de pensar en cálculos complejos como los que requieren los científicos.

El primer cliente fue el Consorcio encargado del censo y poco después fue la Fuerza Aérea norteamericana quien tuvo la primera instalación en 1952. Como parte de la promoción de estas sofisticadas máquinas, UNIVAC trabajó con CBS ppara predecir los resultados de la lucha presidencial de ese año. Predijo rápida y acertadamente que ganaría Eisenhower a pesar de que las encuestadoras hablaban del triunfo para Stevenson.

La UNIVAC pesaba 13 toneladas y necesita un gan cuarto para acomodarse, con un sistema complicado de enfriamiento por agua y aire. Tenía 10 cintas UNISERVO para 5200 bulbos de entrada y salida, 18 mil diodos y 1000 palabras de memoria. requería de unos 125 kW de energía para correr (una laptop moderna usa 0.03 kW). El mantenimiento era por supuesto enorme en todos sentidos. El reloj principal de la máquina corría a 2.25 MHz. Finalmente, en la consola del operador había un osciloscopio conectado. Tenía ya una impresora y una terminal con teclado.

La UNIVAC tenía un conjunto muy grande de instrucciones, las cuales cubrían el transferir los contenidos de la memoria a los registros, mover estos entre sí, hacer operaciones, brincar a lugares específicos de la memoria, recorrer el contenido de los registros una cantidad de dígitos, controlar la entrada/salida. La lista completa, con todas sus explicaciones sobre este lenguaje, puede verse aquí.

El sistema de programación se aceraba a lo que llamarías hoy día ensamblador. Por ejemplo:

  • L00 101 //carga el contenido de la memoria 101 al registro A
  • A00 102 //carga el contenido del registro 102 al registro X, suma X con A y guarda el resultado en A
  • C00 103 //guarda el conrenido del registro A en la localidad 103 y limpia A
  • P00 103 //imprime el contenido del registro 103 en la impresora

Para correr este programa había que hacer un snfín de pasos. Teclear el programa en una cinta, a una serie de números, representados por los códigos mnemónicos. La cinta (o cintas), se ponían en los UNISERVOs y el operador tenía que poner varias funciones a mano y dar el proceso de arranque desde la consola. Las primeras 60 instrucciones leerían el buffer de entrada, entonces lo transferiría a la memoria, El operador entonces ponía la máquina en modo normal  al presionar la barra de inicio, la UNIVAC empezaría a procesar el sistema, ejecutando las instrucciones del programa. Era responsabilidad del programador que todo estuviese bien programado porque el operador sólo estaba capacitado para poner cintas y echar a andar los programas. Curiosamente, ya había manera de poner breakpoints para saber si algo andaba mal y depurar los procesos. Sorprendente para el año que corría.

A todo esto, Grace Hopper creó el primer compilador operacional en 1952 mientras trabajaba en el proyecto UNIVAC. Inicialmente nadie le creyó: ” Tenía un compilador que corría y nadie se atrevía a tocarlo”, diría Hopper más tarde. “Ellos me dijeron que solamente podía hacer aritmética”. De hecho, el compilador de Hopper, A-0, era lo que hoy llamaríamos un “loader” o “linker”  en un compilador moderno. Sin embargo, A-0 ya podía reusar código y escribirlo en forma que los humanos entendieran mejor la manera de programar.

Hay un emulador de la UNIVAC, escrito por Peter Zilahy Ingerman (www.ingerman.org/niche.htm#UNIVAC). Está escrito en Visual BASIC 6 y sólo corre en Windows. El enlace de la página no funciona pero se puede obtener escribiéndole al autor.

Referencias:

Linux Voice

Comentarios