lunes, 9 de julio de 2012

Historia de la informática: Primera generación (II)



Continuo el repaso por las máquinas de la primera generación, en estas ya no se usaban componentes electromecánicos y/o lámparas para su funcionamiento. Revisar las anteriores entradas, que he corregido y ampliado algunas cosas.

1947

La Harvard Mark II solo es una ampliación de la anterior Hardvard Mark I. Es mas conocida por se la primera vez que se documentó que un bicho (bug en inglés) había estropeado un ordenador (los técnicos pegaron con celo el insecto al informe de errores). Aunque tradicionalmente se piensa que por este echo se denominan "bug" a los errores informáticos, lo cierto es que esta palabra ya se usaba anteriormente, proviene de la época del radar, donde aparecían falsos ecos que parecían bichos circulando por la pantalla.
Grace Murray Hopper, una de las grandes figuras de la informática, manejando una Mark II

1948

La SSEM ("Small-Scale Experimental Machine", Máquina Experimental de Pequeña Escala), apodada "Baby", fue desarrollada por Frederic C. Williams, Tom Kilburn y Geoff Tootill en la Universidad de Mánchester, fue el primer computador del mundo con programa almacenado en memoria. Concebida como base de pruebas de la memoria con tubos Williams, no como un computador práctico, fue mejorada rápidamente en la Manchester Mark I. Usaba 32 palabras como memoria principal, cada una de 32 bits. Sus posibilidades de programación eran limitadas, usaba instrucciones de tres bits aunque solo siete instrucciones estaban definidas. Su juego de instrucciones completo es el siguiente:

000 JMP S Salta a la instrucción en la dirección de memoria especificada (salto incondicional absoluto)
100 JRP S Salta a la instrucción en la dirección de memoria especificada más el número indicado (salto incondicional relativo)
010 LDN S Lee el número en la dirección de memoria especificada, lo niega, y lo carga en el acumulador
110 STO S Almacena el número del acumulador en la dirección de memoria especificada
001 o 101 SUB S Resta el número de la dirección de memoria especificada del valor del acumulador, y lo almacena en el acumulador
011 CMP Salta la instrucción siguiente si el acumulador contiene un valor negativo
111 STP Parar
Replica de la baby, es casi igual a la Mark I posterior


La Manchester Mark I es una versión mejorada de la SSEM, con mucha más memoria y juego de instrucciones ampliado, que posteriormente se usó como base de la Ferranti Mark I.
La Mark I, muy similar a la SSEM

1949

La EDSAC (Electronic Delay Storage Automatic Calculator), primera máquina pensada para trabajar con programas internos (aunque fue terminada después de la SSEM), aunque ubicados de manera separada de la memoria principal de la máquina. Fue construida por Maurice Wilkes y su equipo en la Universidad de Cambridge. El primer videojuego de la historia, OXO (un tres en raya) fue desarrollado para funcionar en esta computadora, aprovechando que la memoria eran tubos Williams, haciendo aparecer una sencilla imagen en la pantalla, simplemente alterando directamente la memoria de la máquina.

La EDSAC
Pantalla del OXO, los puntos finos son un cero y los gruesos un uno en la memoria


La Binac, llamada así por usar un doble procesador, fue desarrollada por la empresa EMCC y vendida a la Northrop Aircraft. Estos estaban desarrollando un misil secreto, llamado Snark, guiado desde un avión, por lo que necesitaban una computadora muy pequeña para la época que cupiera en el avión, el peso eran 318 kilos, y su volumen de 0'60 metros cúbicos. Esta máquina no fue entregada a tiempo, se entregó finalmente con 14 meses de retraso una máquina con muchos problemas, incluyendo que llegó en mal estado a la Northrop, lo que algunos achacan al transporte y otros dicen que ya salió así de la ECC. Usaba programa almacenado en memoria, pero al no entregarse a tiempo no fue la primera de la historia en incluirlo. Usaba dos procesadores independientes de 1'5x1'2x0'3 metros, compuestos por unas 700 lámparas cada uno, cada una funcionando a 1 Mhz y con una memoria de 512 palabras de 31 bits, usando líneas de retardo de mercurio. Continuamente se comparaban los resultados de ambos procesadores buscando posibles discrepancias, parando la ejecución si las encontraba, pero uno de sus grandes fuente de problemas era que ambos procesadores eran diferentes y estaban muy mal sincronizados, por lo que la tasa de falsos errores por problemas de sincronismo era muy alta. Tras 5 meses en la Northrop, fue finalmente rechazada por su baja fiabilidad, y pasaron a usar una computadora analógica que ya tenían en funcionamiento. Como legado, fue la primera en usar las cintas magnéticas, para lo que desarrollaron un dispositivo denominado "convertidor de lectura/escritura de cintas", que posteriormente se utilizó en las UNIVAC.


La BINAC, a la izquierda de los dos procesadores se aprecia un tambor, es la memoria de retardo de mercurio.

1950

La empresa americana Engineering Research Associates (ERA), dedicada a la criptografía durante la segunda guerra mundial, diseña un ordenador, que posteriormente es contruido por EMCC, por eso es conocido como el ERA 1101 o el UNIVAC 1101, y apodado Atlas. El número 1101 proviene de la directiva 13, que en binario es 1101. Fue construido para la marina americana, y fue la primera computadora con programa almacenado en memoria en los Estados Unidos. Usaba un tambor magnético como memoria principal, capaz de almacenar 4.000 palabras, idea tomada de la memoria de la Atanasof, y posteriormente evolucionada hacia unidades de almacenamiento, que originaron los discos duros.
Memoria de tambor de la ERA 1101
La Oficina Nacional de Estándares de EEUU (NBS), mientras espera la compra de máquinas mas grandes,  presenta dos pequeños ordenadores, el SEAC (Standards Eastern Automatic Computer), basada en el EDVAC aunque presentada antes que el, usa solo 747 lámparas (muy poco para la época), e implementa toda la parte de operaciones lógicas con diodos de germanio. Su memoria de líneas de retardo está compuesta de 64 tubos, puede guardar 512 palabras de 45 bits. Su velocidad de proceso era de 1 Mhz, y usaba una unidad de cinta como almacenamiento secundario. También presenta el SWAC (Standards Western Automatic Computer), que usa 2300 lámparas, con memoria de tubo Williams capaz de almacenar 256 palabras de 37 bits. Fue la máquina mas rápida del momento, en parte por su simplicidad. Ambas máquinas usaban un reducido juego de instrucciones.
La SEAC al completo

Consola de la SAWC
Alan Turing diseñó una computadora avanzada para el Laboratorio Nacional de Física (NPL) del Reino Unido,que llamó ACE (Automatic Computing Engine). Como el costo era alto, se empezó contruyendo el Pilot ACE, como base de experimentación para la otra máquina. Al final Turing se cansó de las largas y abandonó el proyecto. La Pilot ACE fue diseñada por James H. Wilkinson y Harry Huskey, y aunque era una unidad experimental, se usó hasta 1955 por falta de otras máquinas. Usaba unos 800 tubos de vacío, y memorias de retardo de mercurio, con capacidad de 128 palabras de 32 bits. Su velocidad era de 1 Mhz, y era la mas rápida del momento.
Consola de la Pilto ACE, arriba a la izquierda el monitor es un osciloscopio para ver las señales internas.
Y todavía quedan unas pocas mas de la primera generación, seguiré en otra entrada

No hay comentarios:

Publicar un comentario