Trabajadoras de Raytheon en Massachusetts inspeccionan el cableado de la memoria del ordenador del Apolo (NASA).
Mandar un hombre a la Luna es todo un desafío en la actualidad, pero lo era aún más en los años 60. El número de variables y parámetros a tener en cuenta en una misión de alunizaje son apabullantes. Simplemente, era imposible que una tripulación pudiese calcularlos todos a mano. Un error de unas décimas de segundo en el encendido de un motor podía significar la diferencia entre estrellarse contra la superficie lunar o regresar a casa como héroes. Aunque muchos de los cálculos se podían llevar a cabo en Tierra usando los datos de la telemetría de la nave y el seguimiento por radar del vehículo, la NASA decidió desde un principio que el Apolo debía ser capaz de navegar en el espacio cislunar de forma autónoma. Estaba claro que había que desarrollar un ordenador de a bordo, pero los desafíos eran enormes. Por aquella época, la palabra "ordenador" era sinónimo de "gigantesca máquina que ocupa una habitación entera". Introducir semejante artilugio en una nave espacial representaba un desafío descomunal.
El ordenador del Apolo era conocido por el acrónimo -todo en el programa Apolo llevaba un acrónimo- AGC (Apollo Guidance Computer). Para simplificar el diseño, el AGC del módulo de mando (CSM) y el del módulo lunar (LM) eran idénticos. A principios de los años 60, la empresa North American había obtenido el contrato principal para el desarrollo del CSM Apolo. En vista de la necesidad de incluir un ordenador para ayudar en las tareas de pilotaje, la compañía se dirigió a los mayores expertos en informática del momento, el prestigioso Instituto de Tecnología de Massachusetts (MIT). Los ingenieros de North American preguntaron a los genios del MIT hasta qué punto podrían reducir el tamaño de un ordenador. Nadie lo sabía con certeza, pero el MIT se mostró confiado en poder disminuir el volumen del artilugio hasta un pie cúbico (0.028 metros cúbicos).
Montaje del CSM-107 (NASA).
Detalle del CM del Apolo donde se aprecia la ubicación del AGC (NASA).
Los distintos elementos del ordenador del módulo de mando (NASA).
El AGC era el encargado de guiar y controlar el CSM y el LM del Apolo (NASA).
Esquema del AGC (NASA).
Sin embargo, la NASA decidió pocos años después que el AGC debía encargarse de todas las tareas de navegación y guiado autónomo de la nave, además de servir como piloto automático. El MIT debía diseñar ahora un ordenador mucho más potente capaz de realizar complejos cálculos de mecánica celeste con las mismas dimensiones. El MIT y la empresa Raytheon -subcontratista encargada de la construcción del AGC- concluyeron que no sería posible limitarse a usar la misma tecnología del sistema de guiado de los misiles balísticos Polaris. Había que diseñar algo distinto. Por suerte para la NASA, la novedosa tecnología de transistores y circuitos integrados se pudo emplear en el proyecto para reducir el tamaño y consumo eléctrico de la bestia. Entre 1962 y 1967, la NASA compró más de un millón de chips de silicio para diferentes aplicaciones en el programa espacial. La leyenda urbana según la cual el ordenador compacto es una invención del programa Apolo no es correcta, pero sí que es cierto que esta inversión masiva ayudó de forma decisiva al desarrollo de una industria que aún estaba en pañales por aquella época.
El AGC del Apolo (izquierda) junto al DSKY (derecha), el display que tenía la tripulación para comunicarse con el ordenador y que a veces se confunde con él (NASA).
No obstante, pese a que los circuitos integrados se emplearon para ciertas partes del AGC, se consideraba una tecnología demasiado arriesgada e inmadura para ser usada en la memoria del ordenador. El AGC del Apolo tenía 36 KB de ROM y 2 KB de RAM. Unas cifras irrisorias desde nuestra perspectiva actual, pero más que suficientes para las necesidades de una misión lunar. Lo curioso del caso es que la memoria del AGC no estaba formada por microchips como en los ordenadores modernos, sino por varios metros de cable de cobre tejidos alrededor de pequeñas bobinas (rope memory). Si el cable pasaba por fuera de la bobina, entonces representaba un "0". Si atravesaba el centro, equivalía a un "1". Y aquí es donde entran en escena nuestras trabajadoras de la empresa Raytheon. Nuestras heroínas se dedicaban a coser literalmente la memoria del AGC usando máquinas especiales. Todas las líneas de código binario -el software- debían ser minuciosamente "traducidas" a una matriz de cables y bobinas en un proceso que requería horas de arduo trabajo. Por este motivo, la memoria del AGC sería conocida como memoria LOL (Little Old Ladies), un acrónimo que resultaría un tanto políticamente incorrecto en nuestros días. El software del Apolo no estaba escrito en discos duros o memoria flash. Era algo real que podías sostener con tus manos.
Detalle de la memoria de cobre (NASA).
Una de las placas con el software a base de cables y bobinas (NASA).
Sistema de codificación binaria usando cables y bobinas (NASA).
Módulo de "memoria de cuerda" (NASA).
Una trabajadora de Raytheon usa una "máquina de coser memorias" para ayudarse en su tarea (NASA).
Cada unidad de memoria ROM incluía un máximo de 64 cables, es decir, cuatro conjuntos de palabras de 16 bits. Es importante destacar que, por entonces, el término byte prácticamente no se empleaba. En su lugar, los programadores usaban "palabras" formadas por una cantidad variable de bits. Existían un total de seis módulos de memoria LOL en el AGC y cada uno requería un mínimo de seis semanas para ser tejido. Tres o cuatro meses antes de una misión, los módulos tenían que estar listos para someterse a las pruebas correspondientes. Cada misión requería un código único, ya que los parámetros orbitales siempre fluctuaban (masa, distancias, velocidades, etc.). Una vez tejidos, no había forma de cambiar el código de los módulos ROM, lo que provocó no pocos quebraderos de cabeza entre los ingenieros de la NASA. Y, por supuesto, tenían que ser perfectos, ya que no había lugar para el error. En la memoria RAM se usaba un sistema muy parecido capaz de cambiar los "1" y "0" de las bobinas invirtiendo el sentido de la corriente inducida en cada una de ellas.
La NASA sabía perfectamente que el éxito de la mayor aventura espacial de todos los tiempos estaba literalmente en manos de las trabajadoras de la planta de Raytheon en Waltham, Massachusetts. Por este motivo, varios astronautas y altos cargos de la agencia recorrerían a menudo la fábrica con el fin de motivar a las trabajadoras y hacer que se sintieran partícipes del programa Apolo. La decisión de construir la memoria del AGC cosiendo cables permitiría alcanzar un elevado grado de seguridad y redundancia en este dispositivo crítico. Como botón de muestra, valga el ejemplo del Apolo 12. En esta misión, varios rayos alcanzaron el Saturno V mientras despegaba desde Florida, provocando el fallo del ordenador de a bordo (no así el del cohete). Una vez en órbita, la tripulación pudo resetear el ordenador sin mayor problema. ¿Hubiese superado esta prueba un ordenador moderno? No lo creo.
El despegue accidentado del Apolo 12 (NASA).
El ordenador del Apolo fue todo un triunfo de la tecnología de la época, contribuyendo a que doce seres humanos caminasen por nuestro satélite y regresasen vivos para contarlo. Pero, pese a su diseño avanzado, no debemos olvidar que la memoria de esta máquina no estaba formada por modernos circuitos integrados, sino por un simple y robusto sistema de cables y bobinas tejido a mano hace más de cuarenta años por unas señoras anónimas de Massachusetts.
Más información:
- Digital Apollo: Human and Machine in Spaceflight, David Mindell (2008)
- Computers in Spaceflight: The NASA Experience. Computers On Board The Apollo Spacecraft. The Apollo guidance computer, NASA.
- The Apollo Guidance Computer.
- Apollo Guidance Computer.
No comments:
Post a Comment