Wer programmiert den Apollo Computer?

Diese Frage scheint eine sehr triviale zu sein. Doch es gab eine lange Diskussion als sie damals aufkam. Zur Erklärung muss man in die Zeit zurückblicken: Computer waren damals große Monster die in Schränken saßen, weitere Schränke nahmen Magnetplatten oder noch häufiger Magnetbandgeräte auf. Eingaben gab es auch per Lochstreifen, Lochkarte und als modernste Neuerung per Terminal (eine Schreibmaschine, bei ganz Modernen Rechnern sogar mit Monitor). Doch diese Technik war für Apollo zu groß. Apollo setzte zwar auch einen miniaturisierten Rechner ein, aber bei den Einschränkungen an Gewicht und Masse, war seine Leistung beschränkt. Technisch gesehen bestand der AGC (Apollo Guidance Computer) aus identischen Schaltungen: Jede Schaltung war ein NOR Gatter aus 3 Transistoren und 4 Widerständen. Etwa 5000 dieser Gatter bildeten dann die Logik des Computers. Der Speicher wurde unterteilt in einen zur Laufzeit beschreibbaren Speicher und einen Festwertspeicher unterteilt. Im letzteren wurde das Programm vor der Mission durch Verdrahtung fest abgelegt. Das wesentliche war, dass der vom MIR entwickelte Computer eine Spezialanfertigung für Apollo war, den es so nicht käuflich zu erwerben gab. Er war ausgelegt auf die Bedürfnisse der Mission: Die Verarbeitung von Prozessdaten und Berechnung von Navigationsinformationen und Steuerung des Antriebs.

Über die Programmierung gab es nun einen Streit. Das MIT wollte ihren Programmierer natürlich selbst programmieren. Auf der anderen Seite argumentierte die Industrie, welche die Raumschiffe baute, dass ihre Ingenieure viel mehr von dem Raumschiff verstehen, als die Programmierer vom MIT. Es wäre viel einfacher wenn die Ingenieure einfach das Programmieren lernen würden, anstatt den Programmieren die gesamte Technik mit ihren zahllosen Details zu vermitteln.

Aus der heutigen Zeit erscheint dies etwas befremdlich. Wir sind es gewohnt, das es Informatik als eigene Ingenieurswissenschaft gibt und Programmierer Hardware programmieren. Aber damals war diese Disziplin noch jung und vor allem war es eine Spezialanfertigung. Das unterscheidet den AGC von einem heute üblichen Mikrocontroller. Wert heute einen ARM Prozessor, einen Intel 8251 oder einen embedded Power-PC Prozessor einsetzt, der kann einen C-Compiler  einsetzen, ein Realzeit Betriebssystem nutzen und dazu linken. Diesen Komfort hatten die Programmierer des AGC nicht. Sie hatten nicht mal Assembler, also die Möglichkeit die Befehle durch einfach merkbare Abkürzungen zu ersetzen wie z.B. ADD, INC, MOV für Addieren, Erhöhen um 1 oder Laden von Werten aus dem Speicher. Alles wurde in Bits auf dem Papier codiert und dann direkt in den Festwertspeicher übertragen.

Auf dieser Ebene ist dann die Programmierung dann schon mehr eine Konstruktionstätigkeit und daher waren die Einwände auch berechtigt. Die Entscheidung war nicht einfach, doch zwei Argumente waren schließlich ausschlaggebend. Zum einen der exzellente Ruf des MIT auch in ingenieurstechnischen Belangen und zum zweiten das man die Hardware und Software als einen Gesamtkomplex ansah – Wenn das MIT auch die Software entwickelte, so war eine Fehlermöglichkeit ausgeschaltet, die entstehen konnte wenn die Software getrennt von der Hardware entwickelt wurde.

Mehr zum Apollo Guidance Computer finden Sie in meinem Aufsatz "Computer in der Raumfahrt Teil 1". Das Video passt zum heutigen Thema: "Fly me to the moon".

2 thoughts on “Wer programmiert den Apollo Computer?

  1. auch wie gut der Ruf des MIT ist
    ihre software hatte Macken
    gutes Beispiel Apollo 11 wo der LM Computer Error 1201 und 1202 gab
    und keiner in Kontrolle, noch nie von gehört hatte

    die Ursache war trivial , der Computer bekam zu viel Daten gleichzeitig
    weil Buzz Aldrin das Rendezvousradar eingeschalten hatte
    um in Notfall bei Rückkehr das CSM wieder zubinden.
    Aber das Landeradar und Rendezvousradar gleichzeitig in betreib sein könnte
    hatte man bei MIT nicht bedacht

    quelle: Edwin Aldrin Erzählung in BBC Dokumentation „Im Schatten des Mondes“
    einer beste über das Apollo Programm mit besten Filmmaterial der NASA
    http://en.wikipedia.org/wiki/In_the_Shadow_of_the_Moon

  2. Michel, das stimmt so nicht
    Die Computerfehler waren vorher bekannt und in den Mission Rules auch verankert worden. Es war schlicht und einfach bei dem damaligen Stand der Technik möglich, dass der Computer überlastet war und dann einen Fehler ausgab (heute würde man dies als „Warning“ einstufen. Er arbeitete aber trotzdem weiter und verwarf einfach die Radardaten die nicht missionskritisch waren.

    Gerade diese beiden Fehler wurden am 5.7.1969, 11 Tage vor dem Start bei einer Simulation des Mission Contoll Teams eingespeist, wobei diese zwar den Fehler erkannten aber falsch reagierten (Abort ausgelöst). Nach einer Standpredikt seitens der Simusups wurde am 6.7.1969 folgende Mission Rule aufgesetzt „Powered decent will be terminated for the following guidance system program alarms – 105, 214, 402, 430, 607, 1103, 1107, 1204, 1206, 1301, 1501 and 1502“

    1201 und 1202 fehlten. Als der Alarm auftrat sagte Chalie Duke Capcom „Its the same one we had in Training“ und sehr schnell bekamen die Astronauten aber das Okay den Abstieg fortzusetzen.

    Quelle Hanser:“Neil armstron first man“ S. 458-466
    Gene Kranz: „Failure is not an option“ S. 268-271, 289-290

    Vielleicht (da dies nicht der erste Kommeentar ist, bei dem die Hälfte der Tatsachen fehlt), suchst Du dir mal genauere Quellen. Von irgendwelchen TV Dokumentationen als quelle habe ich mich schon vor Jahren verabschiedet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.