Der Apollo Guidance Computer: Wie ein 4-Kilobyte-Rechner die Menschheit zum Mond brachte – Eine tiefe Analyse von Hardware und Software

von DerSchneider

Einleitung: Der unsichtbare Pilot im Raumschiff

Der Apollo Guidance Computer (AGC) ist einer der am meisten unterschätzten Helden der Raumfahrtgeschichte. Während die Namen Neil Armstrong, Buzz Aldrin und Michael Collins für immer mit der Mission Apollo 11 verbunden bleiben, arbeitete im Hintergrund ein kleines, unauffälliges Gerät, das die Navigation, Steuerung und letztlich die Landung auf dem Mond überhaupt erst möglich machte. Der AGC war nicht nur ein Bordcomputer – er war der erste echte Embedded Computer der Welt, der in Echtzeit mit Menschen interagierte, sicherheitskritische Entscheidungen traf und unter extremsten Bedingungen zuverlässig funktionierte. Dieser Artikel taucht tief in die Architektur, die Hardware-Implementierung und die revolutionäre Software des AGC ein und zeigt, warum dieses System auch über 50 Jahre später noch von Ingenieuren studiert wird.


1. Historische Rahmenbedingungen: Warum ein Computer unverzichtbar war

Die Apollo-Mission stellte Anforderungen, die mit den damaligen Mitteln der Navigation kaum zu bewältigen waren. Eine Rückkehr zur Erde aus einer Entfernung von 400.000 Kilometern erforderte Navigationsberechnungen, die innerhalb von Sekundenbruchteilen durchgeführt werden mussten. Manuelle Berechnungen mit Rechenschiebern – wie noch in den Mercury- und Gemini-Programmen teilweise praktiziert – waren für Apollo unmöglich. Die NASA benötigte einen Computer, der:

  • die Position des Raumschiffs in Echtzeit bestimmte (mithilfe von Sternsensoren und Trägheitsnavigation),
  • die Triebwerkszündungen für Bahnkorrekturen berechnete,
  • die Landefähre „Eagle“ autonom oder unterstützt steuern konnte,
  • die Kommunikation mit dem Bordradar und den Bodenstationen koordinierte,
  • und das alles bei einem Gewicht unter 35 kg und einem Stromverbrauch unter 100 Watt.

Die Entscheidung fiel auf einen neuartigen Ansatz: einen digitalen Computer, der auf integrierten Schaltkreisen basierte – ein damals riskanter, aber visionärer Schritt.


2. Hardware-Architektur im Detail: Jedes Byte war ein Luxus

2.1 Die Wahl der Logik: 3-Input-NOR-Gatter aus Silizium

Der AGC verwendete keine Mikroprozessoren im heutigen Sinne – solche gab es noch nicht. Stattdessen bestand der Rechner aus etwa 4.100 integrierten Schaltkreisen des Typs Fairchild 9L (auch bekannt als „flatpack“-ICs). Jeder dieser Chips enthielt ein einziges 3-Input-NOR-Gatter (oder zwei in einigen Varianten). Die gesamte Rechenlogik wurde aus diesen einfachen Gattern aufgebaut. Diese Designwahl hatte zwei entscheidende Vorteile:

  1. Einfache Prüfbarkeit: Ein einziger Gattertyp erleichterte die Qualitätssicherung erheblich.
  2. Strahlungsresistenz: Die einfache Struktur war weniger anfällig für Fehler durch kosmische Strahlung als komplexere Chips.

Die Taktfrequenz betrug 2,048 MHz, was im Vergleich zu modernen Prozessoren lächerlich langsam erscheint, aber für die damalige Zeit respektabel war. Der Takt wurde von einem Quarzoszillator abgeleitet, der mit der doppelten Frequenz (4,096 MHz) schwang und intern geteilt wurde.

2.2 Die Speicherhierarchie: RAM, ROM und die legendäre Core Rope Memory

Der AGC besaß zwei völlig unterschiedliche Speicherarten:

SpeichertypGrößeTechnologieEigenschaften
RAM (Erased Memory)2.048 Wörter (4.096 Byte)Magnetkernspeicher (Ferritkerne)flüchtig (bei Stromverlust Datenverlust), aber extrem robust
ROM (Fixed Memory)36.864 Wörter (73.728 Byte)Core Rope Memorynichtflüchtig, einmalig programmiert („genäht“), sehr strahlungsresistent

Ein Wort im AGC hatte 15 Datenbits plus ein Paritätsbit (ungerade Parität). Die Wortbreite von 15 Bit war ungewöhnlich – sie wurde gewählt, weil sie eine ausreichende Genauigkeit für Navigationsberechnungen bot (etwa 4,5 Dezimalstellen) und die Verwendung von zwei Wörtern für eine 30-Bit-Doppelpräzision erlaubte. Die Parität wurde von der Hardware automatisch geprüft; bei einem Paritätsfehler löste der Computer einen Interrupt aus.

Die Core Rope Memory – Ein technisches Wunderwerk

Das Festprogramm (ROM) wurde nicht wie heute auf einen Chip gebrannt, sondern von Hand in ein Geflecht aus Drähten und Ferritkernen eingewoben. Dazu wurde eine spezielle Webtechnik verwendet:

  • Jeder Kern stand für ein Bit einer Speicheradresse.
  • Für eine logische 1 wurde ein Draht durch den Kern geführt.
  • Für eine logische 0 wurde der Draht außen vorbei geführt.
  • Der gesamte Speicherblock bestand aus Hunderten von dünnen Kupferdrähten, die durch ein Gitter aus etwa 4.000 Ringen gefädelt wurden.

Die Herstellung war extrem aufwendig: Technikerinnen (vorwiegend Frauen mit feinmotorischer Erfahrung) arbeiteten monatelang unter Mikroskopen. Ein einziger Fehler im Fadenlauf bedeutete, dass die gesamte Speicherbank verworfen werden musste. Spätere Missionen (Apollo 14–17) verwendeten eine verbesserte Version mit etwa 70.000 Wörtern.

2.3 Die Recheneinheit (ALU) und das Registerfile

Der AGC war ein 18-Bit-Maschinenwort-Computer (15 Bit Daten + Parität + 2 weitere Steuerbits, die für Indexadressierung und indirekte Adressierung genutzt wurden). Die ALU konnte folgende Operationen in einem Taktzyklus durchführen:

  • Addition, Subtraktion
  • Bitweise UND, ODER, XOR
  • Schiebeoperationen (logisch und arithmetisch)
  • Vergleich (mit Setzen von Flags)

Die Register waren im Vergleich zu modernen CPUs winzig:

RegisterGrößeZweck
A (Akkumulator)16 BitHauptrechenregister (15 Daten + Parität)
Q (Quotient)16 BitZweites Rechenregister, speichert bei Division den Quotienten, sonst frei verwendbar
Z (Zähler)16 BitProgrammzähler (zeigt auf nächsten Befehl)
Bank-Register (BB, EB, etc.)3 BitAdressraum-Erweiterung (Bankumschaltung für RAM und ROM)

Der Adressraum war auf 12 Bit begrenzt (4.096 Adressen), daher mussten größere Speicherbereiche über Bankumschaltung (Bank Switching) angesprochen werden. Das bedeutete: Der AGC konnte niemals das gesamte ROM auf einmal adressieren; die Software musste explizit zwischen verschiedenen 4K-Blöcken umschalten – ein Vorgriff auf die späteren Speicherverwaltungstechniken.

2.4 Befehlssatz: Ein minimalistisches Wunder

Der AGC verstand nur 11 Basisbefehle (plus einige Varianten). Die Befehle waren alle ein Wort lang (15 Bit). Das Format sah wie folgt aus:

  • Bit 15–12: Opcode (4 Bit = max. 16 Befehle, tatsächlich 11 genutzt)
  • Bit 11–10: Modi (direkt, indirekt, indiziert, etc.)
  • Bit 9–0: Adresse oder Immediate-Wert

Die wichtigsten Befehle im Überblick:

BefehlOpcodeBeschreibung
TC (Transfer Control)1Sprungbefehl (subroutine call mit Rücksprungadresse in Q)
CCS (Count, Compare, Skip)5Überprüft den Akku-Wert: positiv, null, negativ; überspringt entsprechende Anzahl Wörter
AD (Add)2Addiert Speicherinhalt zu A
TS (Transfer to Storage)4Speichert A nach Speicher, löscht A nicht (anders als heute)
XCH (Exchange)7Tauscht A mit Speicherinhalt
INH (Inhibit)6Verhindert Unterbrechungen (Interrupt-Maskierung)

Besonders bemerkenswert ist der CCS-Befehl: Er konnte in einem einzigen Zyklus einen Wert testen und dann 1, 2 oder 3 Wörter überspringen – eine effiziente Methode für bedingte Verzweigungen, ohne dass man separate Vergleichsbefehle benötigte.

2.5 Stromversorgung, Kühlung und physischer Aufbau

Der AGC bestand aus mehreren Modulen (jeweils etwa 10×10 cm), die in einem Gehäuse aus Aluminium untergebracht waren. Die Gesamtabmessungen betrugen 61 × 31 × 17 cm. Das Gewicht lag je nach Ausführung (Kommandomodul vs. Mondlandefähre) zwischen 28 und 32 kg.

  • Stromverbrauch: Im Durchschnitt 55 Watt, maximal 70 Watt.
  • Spannungen: +4 V, +14 V, -14 V (aus dem Bordnetz der Apollo-Kapsel).
  • Kühlung: Passive Kühlung über Wärmeableitung an die Außenhülle; keine Lüfter (im Vakuum unwirksam). Die Komponenten waren für einen Betrieb von -40°C bis +85°C spezifiziert.
  • Strahlenschutz: Das Gehäuse bestand aus einer Magnesium-Legierung, die zusätzlich als Abschirmung gegen geladene Teilchen diente. Die integrierten Schaltkreise waren mit einer dicken Epoxidharz-Schicht vergossen.

3. Die Software: Margaret Hamiltons Meisterwerk

3.1 Das Betriebssystem: Echtzeit und prioritätsgesteuert

Der AGC war ein Echtzeitsystem mit harten Zeitvorgaben. Die Software – genannt Colossus (für das Kommandomodul) bzw. Luminary (für die Landefähre) – bestand aus etwa 14.500 Assemblerzeilen, die von Hand geschrieben und dann in den Core Rope Memory eingewoben wurden. Das Betriebssystem implementierte ein Multitasking mit zwei Arten von Aufgaben:

  • Periodische Jobs (z. B. alle 20 ms die Lageregelung aktualisieren)
  • Ereignisgesteuerte Jobs (z. B. Tastendruck des Astronauten oder Radarecho)

Ein zentrales Konzept war die Prioritätenverwaltung. Es gab 7 Prioritätsstufen, wobei Stufe 1 die höchste war (Notfall-Routinen) und Stufe 7 die niedrigste (Hintergrunddiagnosen). Ein Dispatcher (ein kleiner Kern des Betriebssystems) entschied, welcher Job als nächstes ausgeführt wurde.

Interrupts: Der AGC kannte 6 verschiedene Interrupt-Quellen:

InterruptQuellePriorität
DAP (Digitale Autopilot)Anforderung einer Steuerungsberechnung1 (höchste)
Uprupt (Uhrzeit-Interrupt)10 ms Takt (für Zeitmessung)2
Radar-InterruptRendezvous-Radar Daten verfügbar3
Tastatur-InterruptAstronaut hat eine Taste gedrückt4
P-Wort-InterruptTelemetrie-Daten an Bord5
DownruptBodenbefehl empfangen6

Während der Mondlandung war der DAP-Interrupt am aktivsten – er berechnete alle 20 ms die notwendigen Düsenzündungen basierend auf dem Lande-Radar.

3.2 Die berühmten Fehler 1201 und 1202: Ein detaillierter Blick

Am 20. Juli 1969, in 5.000 Fuß Höhe über der Mondoberfläche, löste der AGC die Fehlercodes 1201 und 1202 aus. Was genau bedeuteten sie?

  • 1201: „Executive overflow – no core sets available“ – Der Betriebssystemkern hatte zu viele aktive Jobs, um sie im RAM zu verwalten.
  • 1202: „Executive overflow – no VAC areas available“ – Die Variablenbereiche (VAC = Variable Area) waren aufgebraucht.

Ursache war, wie erwähnt, ein übereifriges Rendezvous-Radar, das einen Datenstrom von etwa 100 Messwerten pro Sekunde lieferte, obwohl es eigentlich gar nicht benötigt wurde (die Landefähre befand sich im Landeanflug, nicht im Rendezvous). Das Betriebssystem reagierte, indem es weniger wichtige Jobs (z. B. die Aktualisierung der Anzeige für den Astronauten) abbrach und die Fehler flags setzte. Es gab jedoch ein kritisches Detail: Die Überlastung hatte keine Auswirkung auf die Navigations- und Steuerungsberechnungen, weil diese mit höchster Priorität liefen.

Der junge Flugdirektor Steve Bales und der Computer-Experte Jack Garman (der einen detaillierten Fehlerkatalog auswendig gelernt hatte) wussten: „Error 1202 bedeutet, dass der Computer beschäftigt ist, aber die kritischen Tasks werden nicht fallen gelassen.“ Sie gaben grünes Licht für die Fortsetzung der Landung – eine Entscheidung, die heute als Meisterstück des Risikomanagements gilt.

3.3 Die Programmiersprache: AGC-Assembler („Poop“)

Die Software wurde in einer speziellen Assemblersprache geschrieben, die am MIT als AGC-Assembler bezeichnet wurde, von den Programmierern liebevoll „Poop“ (ihr internes Kürzel für „Assembly Language for Apollo“) genannt. Ein typischer Befehl sah so aus:

assembly

          AD     RATE      # Addiert den Wert von RATE zum Akku
          TS     DELTA     # Speichert das Ergebnis nach DELTA
          CCS    DELTA     # Prüft, ob DELTA positiv, null oder negativ ist
          TC     POSITIV   # Springt, wenn positiv
          TC     NEGATIV   # Springt, wenn negativ (nach Überspringen)

Die Syntax war extrem kompakt, da jeder Befehl ein einzelnes Wort belegte. Besonders knifflig war das Bank Switching: Die Programmierer mussten selbst sicherstellen, dass sie das richtige ROM-Bank-Register setzten, bevor sie eine Routine außerhalb der aktuellen 4K-Bank aufriefen.

3.4 Margaret Hamiltons Beiträge: Das Konzept der „Asynchronen Jobs“

Margaret Hamilton erkannte früh, dass ein reiner Batch-orientierter Ansatz (wie er damals in Großrechnern üblich war) für Apollo nicht ausreichte. Sie entwickelte das Konzept der „asynchronen Jobs mit Zeitfenstern“. Jede Aufgabe bekam ein festes Zeitbudget zugewiesen. Überschritt sie dieses Budget, wurde sie abgebrochen – genau das geschah während der Mondlandung. Dieses Priority-Interrupt-System war eines der ersten seiner Art.

Außerdem führte Hamilton Watchdog-Timer ein: Ein Hardware-Timer musste regelmäßig von der Software zurückgesetzt werden. Wenn der Timer ablief (weil die Software hing), löste er einen Hardware-Reset aus. Diese Technik ist heute in jedem sicherheitskritischen System Standard (z. B. in Airbags, ABS-Bremsen).

3.5 Die Simulation und Tests

Vor dem Flug wurde der AGC mit einem Simulator getestet, der auf einem IBM 360-Großrechner lief. Das Team um Hamilton baute eine Hardware-in-the-Loop-Simulation, bei der der echte AGC mit einem simulierten Raumschiff verbunden wurde. Tausende von Testläufen simulierten alle möglichen Fehler – von defekten Gyroskopen bis hin zu plötzlichen Stromausfällen. Das war in den 1960ern revolutionär.


4. Unterschiede zwischen Kommandomodul (CM) und Landefähre (LM)

Der AGC war nicht identisch für beide Fahrzeuge. Die Unterschiede:

MerkmalKommandomodul (Colossus)Mondlandefähre (Luminary)
ROM-Größe36.864 Wörter36.864 Wörter (Apollo 11), später mehr
Besondere HardwareDSKY (Anzeige-Tastatur) im CMZwei DSKYs (einer für den Piloten, einer für den Kommandanten)
Software-SchwerpunktWiedereintritt in Erdatmosphäre, BahnberechnungenLandung, Start von der Mondoberfläche, Rendezvous
Radar-IntegrationKein Lande-RadarLande-Radar mit Höhen- und Geschwindigkeitsdaten
Notfall-Modus„Return-to-Earth“ -Routine„Abort“ -Routine (sofortiger Start von der Oberfläche)

Die DSKY (Display and Keyboard) war die Benutzerschnittstelle: eine numerische Tastatur mit 19 Tasten und ein grün leuchtendes Sieben-Segment-Display (Elektrolumineszenz). Die Astronauten mussten Hunderte von Nummern-Codes auswendig lernen, um bestimmte Programme zu starten.


5. Vermächtnis: Was der AGC für die moderne Technik bedeutet

Der Apollo Guidance Computer war nicht nur ein Produkt seiner Zeit, sondern ein Wegbereiter:

  • Integrierte Schaltkreise – Die Massenproduktion für Apollo trieb die Preise so weit nach unten, dass ICs bald in Konsumgütern eingesetzt wurden.
  • Embedded Echtzeitsysteme – Der AGC zeigte, dass Computer auch außerhalb von klimatisierten Räumen zuverlässig arbeiten können. Dies ebnete den Weg für Mikrocontroller in Autos, Waschmaschinen und Herzschrittmachern.
  • Software Engineering – Margaret Hamilton prägte den Begriff und die Methoden. Heute lehrt man, dass Software genauso ingenieurmäßig entwickelt werden muss wie Hardware.
  • Redundanz und Fehlertoleranz – Der AGC hatte keine vollständige Redundanz (nur einen einzigen Computer), aber die Software war so robust, dass sie einzelne Ausfälle kompensieren konnte. Das Konzept des graceful degradation (langsamer Leistungsabfall statt Totalausfall) wurde hier erstmals großflächig umgesetzt.
  • Benutzerschnittstellen für Nicht-Informatiker – Die DSKY war ein frühes Beispiel einer Mensch-Maschine-Schnittstelle, die von Laien (den Astronauten) bedient werden musste. Die heutigen Touchscreens in Flugzeugen und Autos haben ihre Urväter im Apollo-Programm.

6. Fazit: Mehr als nur ein Computer

Der Apollo Guidance Computer war mit seinen 4 Kilobyte RAM und 72 Kilobyte ROM ein Zwerg im Vergleich zu einem heutigen Smartphone (das mehrere Gigabyte RAM und Terabyte Speicher hat). Dennoch gelang es diesem Rechner, zwölf Menschen sicher zum Mond und zurück zu bringen – ohne einen einzigen softwarebedingten Totalausfall. Die Kombination aus durchdachter Hardwarearchitektur, rigoroser Miniaturisierung, strahlungsresistentem Speicher und einem bahnbrechenden Echtzeitbetriebssystem ist auch heute noch bewundernswert.

Wenn Sie das nächste Mal auf Ihr Smartphone schauen, denken Sie daran: Die Rechenleistung in Ihrer Tasche übersteigt die des AGC um den Faktor eine Million. Aber der AGC hatte etwas, das viele moderne Geräte nicht haben: absolute Zuverlässigkeit unter unmöglichen Bedingungen. Er war der erste digitale Astronaut – und er hat seinen Job perfekt gemacht.


Quellen

  • Hall, Eldon C. Journey to the Moon: The History of the Apollo Guidance Computer. AIAA, 1996.
  • Mindell, David A. Digital Apollo: Human and Machine in Spaceflight. MIT Press, 2008.
  • O’Brien, Frank. The Apollo Guidance Computer: Architecture and Operation. Springer, 2010.
  • Tomiak, Greg. „Apollo Guidance Computer: The first computer to fly in space.“ IEEE Spectrum, 20. Juli 2019.
  • Hamilton, Margaret. „The software that took humans to the moon.“ MIT Technology Review, 13. Oktober 2019.
  • „Apollo Guidance Computer (AGC)“ – Dokumentation des MIT Instrumentation Laboratory, 1969 (online archiviert bei bitsavers.org).
  • „Core rope memory“ – Technische Beschreibung im Computer History Museum (Mountain View, CA).
  • NASA Apollo Mission Reports (Apollo 11 Technical Crew Debriefing) – 1969, NASA Archives.
  • „Apollo Guidance Computer“ – Wikipedia, Die freie Enzyklopädie (abgerufen 2026).

Kommentar abschicken