Hacia la Luna con un ordenador con menos capacidad que un móvil
Los astronautas del 'Apolo 11' volaron hacia el satélite con una computadora mucho menos potente que el teléfono que hoy llevamos en el bolsillo. Es verdad... hasta cierto punto.
El piloto Michael Collins, en un simulador durante unas prácticas el 19 de junio de 1969 en el centro
espacial Kennedy. En vídeo, cronología de la llegada a la Luna. FOTO: NASA
Al recibir el encargo de ir a la Luna, la NASA tuvo claro enseguida que haría falta un ordenador a bordo de la nave. Las maniobras de navegación y los cálculos que implicaban eran demasiado complicados para hacerlos sin ayuda. Cierto que el centro de proceso de datos de Houston tendría capacidad para ello, pero el Apolo iba a sobrevolar la cara oculta de la Luna al menos durante tres periodos críticos: La entrada en órbita, el inicio del alunizaje y el encendido del motor para el retorno a la Tierra. Y durante ese tiempo, estaría fuera del alcance de las estaciones de seguimiento. La nave tenía que ser autónoma.
El sistema de navegación del Apolo (que incluía el ordenador) fue la primera pieza que la NASA contrató. Semanas antes, incluso, que la nave que debía guiar. El pedido recayó en un laboratorio del MIT, no en ninguna empresa aeroespacial como North American o Boeing, lo cual constituyó toda una sorpresa. El motivo principal era la experiencia que ya habían acumulado en proyectos anteriores, como el desarrollo de un autopiloto inercial para aviones o el sistema de guía de los misiles Polaris.
Las especificaciones originales del sistema de navegación eran simples: “Que nos lleve hasta la Luna y de regreso”. Nadie tenía una idea muy clara de cómo hacerlo. En especial, cuando se trataba de diseñar una máquina que consumiese lo mismo que una bombilla y cupiese en el espacio de dos cajas de zapatos.
Para poner el encargo en perspectiva, el centro de cálculo de la NASA utilizaría cinco ordenadores IBM 360/75, entonces la última palabra en cuanto a potencia de cálculo. Ocupaban una sala entera y devoraban kilovatios y kilovatios de potencia. No solo las máquinas en sí, sino también las docenas de periféricos y los equipos de aire acondicionado imprescindibles para refrigerarlos. Cada máquina estaba
equipada con nada menos que todo un megabyte de memoria RAM, un lujo asiático por aquel entonces.
En contrapartida, el ordenador embarcado en el Apolo dispondría del equivalente a cuatro kilobytes de memoria RAM y 72 para almacenar el programa. O mejor dicho, los programas, porque cada vuelo utilizaría dos computadores: uno en el módulo de mando y otro en el que aterrizase en la Luna. Y, lógicamente, el software de uno y otro serían totalmente diferentes. Aunque el hardware sea el mismo. Pero en 1961, la palabra software no existía. Nadie sabe muy bien lo que es y a nadie parece preocuparle.
El ordenador del Apolo se encargó de controlar todos los equipos de a bordo: Motores, sistemas de estabilización, sextante, radar de alunizaje... Todo. Fue la primera vez que se diseñó una máquina así. Y también, la primera vez que se decidió utilizar en ella circuitos integrados. Unos dos mil en cada modelo. Porque la era del microprocesador todavía estaba lejos. Lo que contenía cada uno de esos circuitos se limitaba a un par de puertas lógicas NOR, los elementos más simples del álgebra booleana. Solo tres transistores y unas pocas resistencias en cada una.
Como pocos se fiaban de los nuevos microcircuitos, todos los componentes se sometieron a pruebas exhaustivas. Se pesaron uno por uno, se sumergieron en freón y se volvieron a pesar. Si aumentasen, aunque solo fuera medio miligramo, era señal de que el encapsulado no era hermético. Todo el lote se devolvía al fabricante. La construcción de los ordenadores Apolo consumió unos 200.000 chips, el 60% de toda la producción de la época.
Pantalla y teclado de la consola principal del 'Apollo 13'. BRUCE M. YARORO / SMITHSONIAN IINSTITUTION
El ordenador no tendrá discos duros (aún muy en el futuro) ni pantalla ni ratón. Tan solo un teclado numérico con tres líneas de display y unas cuantas luces de alarma.Los astronautas se comunicarán con él tecleando número en una secuencia muy básica de “verbo” y “nombre”. Verbo es la acción a ejecutar; nombre, el parámetro que necesita. Los astronautas han de memorizar todos los códigos, aunque disponen de “chuletas” que les ayuden. Por ejemplo, para aterrizar en la Luna se utilizarán sucesivamente tres programas: El 63, que controla la secuencia de frenado, el 64 para la aproximación y el 66 para la toma de tierra.
El listado del programa que habrá de cargar en la máquina ocupa una pila de casi dos metros de papel. Está escrito en ensamblador pero, una vez traducido, es una larguísima secuencia de unos y ceros, en único lenguaje que entiende la máquina. Ese código se programa físicamente en forma de miles de núcleos de ferrita (unos anillos magnéticos de apenas un milímetro de diámetro) enhebrados en largos hilos de cobre: Si el hilo pasa a través del núcleo, es un uno; si no, un cero.
A todos los efectos, el software es, en realidad, hardware. Su construcción se encomienda a una serie de operarias provenientes de la industria textil, acostumbradas a trabajos repetitivos y de enorme precisión. Los astronautas se referirán afectuosamente a la LOL memory, de Little Old Lady. Cada una tarda en tejerse de dos a tres meses. Sin errores, puesto que corregirlo sería una pesadilla que implicaría deshacer buena parte del trenzado. Y no habrá repeticiones: cada vuelo tendrá su propia programación, distinta de los otros.
Una vez terminado y probado, los componentes se embeben en resina y los módulos se encajan entre topes de goma. Hay que protegerlos contra la corrosiva atmósfera de la nave (oxígeno puro) y las vibraciones del lanzamiento. Y, aunque se han puesto toda la atención en evitar errores, los ingenieros sospechan que ocultos en algún lugar de esa telaraña de cables siguen existiendo bugs. Quizás no aparezcan durante todo el vuelo. O quizás sí.
Para admiración de sus propios diseñadores, los ordenadores del Apolo se comportaron a la perfección durante todos los vuelos del programa. Su precisión en tareas de navegación rivalizaba con la de los ordenadores de Houston, pese a tener que realizar complejos cálculos matriciales y vectoriales. Y aunque ocurrieron fallos y anomalías, la programación era tan robusta que prácticamente nunca dejaron de funcionar. Si su capacidad se saturaba, iban descartando tareas no esenciales una a una. En el peor de los casos estaban diseñados para reiniciarse automáticamente en menos de un segundo, retornando las tareas pendientes en el punto donde las habían dejado.
Sí, ciertamente el ordenador del Apolo era mucho, mucho menos potente que el móvil que tenemos en nuestro bolsillo. La pregunta es, ¿confiaría usted su vida en su teléfono, en la esperanza de que aguante diez días sin quedarse colgado en uno u otro momento?
No hay comentarios:
Publicar un comentario