¿Cuántas computadoras estuvieron realmente involucradas en el programa Apollo? Tal vez tenían algunos de esos para calcular cosas como balística de las naves espaciales, pero ¿qué más?

Puede considerar esto como la Parte 2 de la diversión de Harun Šiljak con las computadoras cohete (la Parte 1 es la respuesta del Usuario de Quora a ¿Qué se usó en lugar de software a bordo en aviones y cohetes viejos?)

Me centraré solo en el hardware y el software del cohete Saturn V. Las imágenes y los números están tomados de los manuales y notas de IBM y la NASA.

El tema central de esta respuesta es Launch Computer Digital Computer (LVDC), la computadora digital en la Unidad de Instrumentación del cohete Saturno V.

Si desea conocer los números, aquí tiene: la frecuencia de trabajo era de alrededor de 2 MHz, el error de cálculo estaba debajo de [matemática] 2 ^ {- 23} [/ matemática], el código de programación tenía 18 palabras de código (10 para aritmética, 6 para control de programa, 1 para entrada / salida y 1 para almacenamiento).

La memoria estaba cambiando de misión en misión, a medida que crecían sus necesidades: al principio, eran dos módulos con ubicaciones de 4,095 × 28 bits, pero luego crecieron a 4 módulos, y luego a 6 y 8. Volveré a que luego


En esta figura, puede observar un hecho confuso de que tiene el LVDC y una computadora de control en el mismo sistema. ¿Qué es, en nombre de Saturno, Control Computer?

Es una computadora analógica, similar a la que has visto en la Parte 1 de nuestra historia en el V-2. Convierte las señales de LVDC (en realidad, de LVDA, el adaptador de datos de entrada / salida de la computadora) y los datos de giroscopios en comandos adecuados para los actuadores. No permita que CC lo distraiga, no es tan importante para una mayor discusión, ya que desea saber más sobre la parte digital.

LVDC tenía cuatro partes de operación:

  • Pago previo al lanzamiento
  • Navegación y cálculos de guía
  • Secuenciación de vehículos
  • Comprobación orbital

y podría funcionar en modo simplex y dúplex. El modo dúplex se basó en el uso de dos ubicaciones de memoria que almacenaban el mismo valor por razones de seguridad (redundancia). Simplex usó solo uno, por lo que no era pesado en la memoria, pero era menos confiable. La comprobación previa al proceso se realizó utilizando simplex, por ejemplo, otras operaciones se basaron en dúplex. La memoria para las rutinas de pago previo al lanzamiento se utilizó más tarde durante el vuelo para los datos de telemetría.

Además, el sistema utilizaba una redundancia modular triple: cada sección lógica tenía tres partes idénticas que funcionaban en paralelo, y en caso de desacuerdo con sus resultados, el resultado correcto se determinaba en una votación.

Entonces, ¿qué hizo realmente que requería más memoria?

Pago previo al lanzamiento

Antes del lanzamiento, LVDC se verificó a sí mismo, sus entradas, sensores, puso a cero las salidas, verificó los procedimientos de interrupción e inicializó las variables de vuelo.

Navegación y cálculos de guía

LVDC tenía ecuaciones de movimiento programadas en su interior, con constantes predefinidas y entradas de acelerómetros para proporcionar la salida de control conducida a la computadora de control.

Secuenciación de vehículos

Se proporcionaron ocho bases de tiempo para eventos de vuelo particulares en el sistema para realizar la secuenciación correctamente, con el control asumido por el LVDC.

Comprobación orbital

La estimación de IBM en un momento fue que necesita 2 módulos de memoria solo para la comprobación y evaluación del hardware en el caso de las versiones avanzadas de Saturn. Esto se hizo más pequeño más adelante.

Comando de radio

LVDC también recibió comandos y datos desde el suelo a través del comando de radio.

Ahora, a medida que toda la veleta de Saturno crecía de generación en generación, requería más y más memoria. La potencia informática, medida en velocidad y precisión, era lo suficientemente buena, pero la memoria era un factor limitante.

Aquí hay un artículo interesante sobre las diversas computadoras que se utilizaron en el programa Apollo. Había muchos de ellos, y gran parte de lo que ahora pensamos como ingeniería de software provino de los vastos esfuerzos involucrados en su programación.

Apolo 11: las computadoras que ponen al hombre en la luna

Uno de mis favoritos era el Apollo Guidance Computer, que tenía varios programas para controlar diferentes tipos de operaciones de vuelo: su programa “P64” gestionaba el procedimiento para aterrizar en la superficie lunar. Estas eran computadoras “modernas” de máquinas de Turing de programas almacenados (en comparación con computadoras analógicas o dispositivos de cálculo mecánico), aunque usaban productos electrónicos muy diferentes a las computadoras modernas.

Más información sobre la computadora de vuelo: las computadoras de a bordo Apollo.

Los astronautas también sabían cómo usar sextantes y otros instrumentos de navegación tradicionales, y los usaron en algunas ocasiones, particularmente el Apolo 13, cuando no tenían suficiente batería para ejecutar la computadora de vuelo y tuvieron que manejar un par de quemaduras usando el manual controles.

Estoy seguro de que algunos veteranos de la NASA tendrán más información interesante …

El programa Apollo tenía instalaciones informáticas de última generación para el día, lo cual es quizás un punto más importante para entender.

La computadora de guía Apollo incorporada no tenía mucha más potencia de cómputo que una calculadora de bolsillo, solo una memoria de aproximadamente 64 kB y un procesador con velocidad de reloj de menos de 0.1 MHz.

Pero fue construido para satisfacer requisitos especiales de peso, potencia y durabilidad. Tenía que volar a la luna, no podía perder sus programas durante el vuelo y tenía que ser tolerante a la radiación. También tenía que tener un sistema operativo en tiempo real y ejecutar múltiples programas.

Ciertamente, se estaba utilizando más de un mainframe en el Centro de Vuelo Espacial Goddard y también en Houston. Creo que utilizaron el IBM System 360/75 al menos al principio; no sé en detalle cuánto actualizaron a medida que salieron nuevos modelos.

Miles de empleados de IBM trabajaron en el proyecto, y la cantidad total de código escrito para el proyecto Apollo probablemente ascendió a varios megabytes en total. Es pequeño para los estándares actuales, solo un poco más grande que las versiones anteriores del kernel de Linux.

Pero este fue un proyecto de software y hardware a gran escala para el día.

Creo que sigue siendo cierto, incluso sumando todo, que cualquier teléfono celular de última generación tiene muchísimo más poder de cómputo sin procesar que todo lo que tenía la NASA combinada.

Pero entonces, realmente no tratarías de volar a la luna usando solo tu iPhone …

Me pidieron que respondiera esto durante el proceso de un error de escritura del script (todavía estamos depurando).

No puedo dar cuenta de la cantidad de computadoras contratistas (North American Aviation (probablemente Downey; hice una pasantía en LAX en la División B-1)), así como las computadoras de la NASA, pero aquellas como la IBM 360/75 (mi primera máquina , y ejecutar HASP, también) se usaron en grupos de 3 en caso de que una máquina fallara. Entonces, JSC tenía al menos 3. El MCCC de JPL (MC ^ 3) también tenía 3 y 3 Univacs (máquinas de 36 bits). ¿El Surveyor y el Orbitador Lunar eran parte del programa Apollo, incluso si la gente no volaba sobre ellos?

Así que había varias docenas de computadoras en distintos momentos. Esto también representa una gran cantidad de equipaje de software de la NASA.

La NASA solía tener oficinas especiales (Oficinas ADP) que representaban el uso de computadoras en la agencia. No más. Probablemente todavía quedaban algunas máquinas IBM de la serie 7000 de 36 bits.

Creo que había algo menos de 200 AGC (módulos de comando, módulos lunares, entrenador del módulo lunar (Flying Bedstand), simuladores para CM y LM y diagnóstico AGC). Eldon Hall lo sabría.