{"id":3246,"date":"2026-05-08T08:41:48","date_gmt":"2026-05-08T06:41:48","guid":{"rendered":"https:\/\/g7itchme.wordpress.com\/?p=3246"},"modified":"2026-05-08T08:41:48","modified_gmt":"2026-05-08T06:41:48","slug":"der-apollo-guidance-computer-wie-ein-4-kilobyte-rechner-die-menschheit-zum-mond-brachte-eine-tiefe-analyse-von-hardware-und-software","status":"publish","type":"post","link":"https:\/\/technodidact.de\/en\/der-apollo-guidance-computer-wie-ein-4-kilobyte-rechner-die-menschheit-zum-mond-brachte-eine-tiefe-analyse-von-hardware-und-software\/","title":{"rendered":"Der Apollo Guidance Computer: Wie ein 4-Kilobyte-Rechner die Menschheit zum Mond brachte \u2013 Eine tiefe Analyse von Hardware und Software"},"content":{"rendered":"<p class=\"wp-block-paragraph\">von DerSchneider<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einleitung: Der unsichtbare Pilot im Raumschiff<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Apollo Guidance Computer (AGC) ist einer der am meisten untersch\u00e4tzten Helden der Raumfahrtgeschichte. W\u00e4hrend die Namen Neil Armstrong, Buzz Aldrin und Michael Collins f\u00fcr immer mit der Mission Apollo 11 verbunden bleiben, arbeitete im Hintergrund ein kleines, unauff\u00e4lliges Ger\u00e4t, das die Navigation, Steuerung und letztlich die Landung auf dem Mond \u00fcberhaupt erst m\u00f6glich machte. Der AGC war nicht nur ein Bordcomputer \u2013 er war der erste echte Embedded Computer der Welt, der in Echtzeit mit Menschen interagierte, sicherheitskritische Entscheidungen traf und unter extremsten Bedingungen zuverl\u00e4ssig funktionierte. Dieser Artikel taucht tief in die Architektur, die Hardware-Implementierung und die revolution\u00e4re Software des AGC ein und zeigt, warum dieses System auch \u00fcber 50 Jahre sp\u00e4ter noch von Ingenieuren studiert wird.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">1. Historische Rahmenbedingungen: Warum ein Computer unverzichtbar war<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Apollo-Mission stellte Anforderungen, die mit den damaligen Mitteln der Navigation kaum zu bew\u00e4ltigen waren. Eine R\u00fcckkehr zur Erde aus einer Entfernung von 400.000 Kilometern erforderte Navigationsberechnungen, die innerhalb von Sekundenbruchteilen durchgef\u00fchrt werden mussten. Manuelle Berechnungen mit Rechenschiebern \u2013 wie noch in den Mercury- und Gemini-Programmen teilweise praktiziert \u2013 waren f\u00fcr Apollo unm\u00f6glich. Die NASA ben\u00f6tigte einen Computer, der:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>die Position des Raumschiffs in Echtzeit bestimmte<\/strong>\u00a0(mithilfe von Sternsensoren und Tr\u00e4gheitsnavigation),<\/li>\n\n\n\n<li><strong>die Triebwerksz\u00fcndungen f\u00fcr Bahnkorrekturen berechnete<\/strong>,<\/li>\n\n\n\n<li><strong>die Landef\u00e4hre \u201eEagle\u201c autonom oder unterst\u00fctzt steuern konnte<\/strong>,<\/li>\n\n\n\n<li><strong>die Kommunikation mit dem Bordradar und den Bodenstationen koordinierte<\/strong>,<\/li>\n\n\n\n<li><strong>und das alles bei einem Gewicht unter 35 kg und einem Stromverbrauch unter 100 Watt.<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Die Entscheidung fiel auf einen neuartigen Ansatz: einen digitalen Computer, der auf integrierten Schaltkreisen basierte \u2013 ein damals riskanter, aber vision\u00e4rer Schritt.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">2. Hardware-Architektur im Detail: Jedes Byte war ein Luxus<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 Die Wahl der Logik: 3-Input-NOR-Gatter aus Silizium<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der AGC verwendete keine Mikroprozessoren im heutigen Sinne \u2013 solche gab es noch nicht. Stattdessen bestand der Rechner aus etwa 4.100&nbsp;<strong>integrierten Schaltkreisen<\/strong>&nbsp;des Typs&nbsp;<strong>Fairchild 9L<\/strong>&nbsp;(auch bekannt als &#8222;flatpack&#8220;-ICs). Jeder dieser Chips enthielt ein einziges&nbsp;<strong>3-Input-NOR-Gatter<\/strong>&nbsp;(oder zwei in einigen Varianten). Die gesamte Rechenlogik wurde aus diesen einfachen Gattern aufgebaut. Diese Designwahl hatte zwei entscheidende Vorteile:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Einfache Pr\u00fcfbarkeit:<\/strong>\u00a0Ein einziger Gattertyp erleichterte die Qualit\u00e4tssicherung erheblich.<\/li>\n\n\n\n<li><strong>Strahlungsresistenz:<\/strong>\u00a0Die einfache Struktur war weniger anf\u00e4llig f\u00fcr Fehler durch kosmische Strahlung als komplexere Chips.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Die Taktfrequenz betrug&nbsp;<strong>2,048 MHz<\/strong>, was im Vergleich zu modernen Prozessoren l\u00e4cherlich langsam erscheint, aber f\u00fcr 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.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 Die Speicherhierarchie: RAM, ROM und die legend\u00e4re Core Rope Memory<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der AGC besa\u00df zwei v\u00f6llig unterschiedliche Speicherarten:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Speichertyp<\/th><th class=\"has-text-align-left\" data-align=\"left\">Gr\u00f6\u00dfe<\/th><th class=\"has-text-align-left\" data-align=\"left\">Technologie<\/th><th class=\"has-text-align-left\" data-align=\"left\">Eigenschaften<\/th><\/tr><\/thead><tbody><tr><td><strong>RAM<\/strong>&nbsp;(Erased Memory)<\/td><td>2.048 W\u00f6rter (4.096 Byte)<\/td><td>Magnetkernspeicher (Ferritkerne)<\/td><td>fl\u00fcchtig (bei Stromverlust Datenverlust), aber extrem robust<\/td><\/tr><tr><td><strong>ROM<\/strong>&nbsp;(Fixed Memory)<\/td><td>36.864 W\u00f6rter (73.728 Byte)<\/td><td>Core Rope Memory<\/td><td>nichtfl\u00fcchtig, einmalig programmiert (\u201egen\u00e4ht\u201c), sehr strahlungsresistent<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Wort im AGC hatte&nbsp;<strong>15 Datenbits plus ein Parit\u00e4tsbit<\/strong>&nbsp;(ungerade Parit\u00e4t). Die Wortbreite von 15 Bit war ungew\u00f6hnlich \u2013 sie wurde gew\u00e4hlt, weil sie eine ausreichende Genauigkeit f\u00fcr Navigationsberechnungen bot (etwa 4,5 Dezimalstellen) und die Verwendung von zwei W\u00f6rtern f\u00fcr eine 30-Bit-Doppelpr\u00e4zision erlaubte. Die Parit\u00e4t wurde von der Hardware automatisch gepr\u00fcft; bei einem Parit\u00e4tsfehler l\u00f6ste der Computer einen Interrupt aus.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Die Core Rope Memory \u2013 Ein technisches Wunderwerk<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Das Festprogramm (ROM) wurde nicht wie heute auf einen Chip gebrannt, sondern von Hand in ein Geflecht aus Dr\u00e4hten und Ferritkernen eingewoben. Dazu wurde eine spezielle Webtechnik verwendet:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jeder Kern stand f\u00fcr ein Bit einer Speicheradresse.<\/li>\n\n\n\n<li>F\u00fcr eine logische\u00a0<strong>1<\/strong>\u00a0wurde ein Draht\u00a0<em>durch<\/em>\u00a0den Kern gef\u00fchrt.<\/li>\n\n\n\n<li>F\u00fcr eine logische\u00a0<strong>0<\/strong>\u00a0wurde der Draht\u00a0<em>au\u00dfen vorbei<\/em>\u00a0gef\u00fchrt.<\/li>\n\n\n\n<li>Der gesamte Speicherblock bestand aus Hunderten von d\u00fcnnen Kupferdr\u00e4hten, die durch ein Gitter aus etwa 4.000 Ringen gef\u00e4delt wurden.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00e4tere Missionen (Apollo 14\u201317) verwendeten eine verbesserte Version mit etwa 70.000 W\u00f6rtern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 Die Recheneinheit (ALU) und das Registerfile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der AGC war ein&nbsp;<strong>18-Bit-Maschinenwort-Computer<\/strong>&nbsp;(15 Bit Daten + Parit\u00e4t + 2 weitere Steuerbits, die f\u00fcr Indexadressierung und indirekte Adressierung genutzt wurden). Die ALU konnte folgende Operationen in einem Taktzyklus durchf\u00fchren:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Addition, Subtraktion<\/li>\n\n\n\n<li>Bitweise UND, ODER, XOR<\/li>\n\n\n\n<li>Schiebeoperationen (logisch und arithmetisch)<\/li>\n\n\n\n<li>Vergleich (mit Setzen von Flags)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Die Register waren im Vergleich zu modernen CPUs winzig:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Register<\/th><th class=\"has-text-align-left\" data-align=\"left\">Gr\u00f6\u00dfe<\/th><th class=\"has-text-align-left\" data-align=\"left\">Zweck<\/th><\/tr><\/thead><tbody><tr><td><strong>A<\/strong>&nbsp;(Akkumulator)<\/td><td>16 Bit<\/td><td>Hauptrechenregister (15 Daten + Parit\u00e4t)<\/td><\/tr><tr><td><strong>Q<\/strong>&nbsp;(Quotient)<\/td><td>16 Bit<\/td><td>Zweites Rechenregister, speichert bei Division den Quotienten, sonst frei verwendbar<\/td><\/tr><tr><td><strong>Z<\/strong>&nbsp;(Z\u00e4hler)<\/td><td>16 Bit<\/td><td>Programmz\u00e4hler (zeigt auf n\u00e4chsten Befehl)<\/td><\/tr><tr><td><strong>Bank-Register<\/strong>&nbsp;(BB, EB, etc.)<\/td><td>3 Bit<\/td><td>Adressraum-Erweiterung (Bankumschaltung f\u00fcr RAM und ROM)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Der Adressraum war auf 12 Bit begrenzt (4.096 Adressen), daher mussten gr\u00f6\u00dfere Speicherbereiche \u00fcber&nbsp;<strong>Bankumschaltung<\/strong>&nbsp;(Bank Switching) angesprochen werden. Das bedeutete: Der AGC konnte niemals das gesamte ROM auf einmal adressieren; die Software musste explizit zwischen verschiedenen 4K-Bl\u00f6cken umschalten \u2013 ein Vorgriff auf die sp\u00e4teren Speicherverwaltungstechniken.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 Befehlssatz: Ein minimalistisches Wunder<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der AGC verstand nur&nbsp;<strong>11 Basisbefehle<\/strong>&nbsp;(plus einige Varianten). Die Befehle waren alle ein Wort lang (15 Bit). Das Format sah wie folgt aus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bit 15\u201312: Opcode (4 Bit = max. 16 Befehle, tats\u00e4chlich 11 genutzt)<\/li>\n\n\n\n<li>Bit 11\u201310: Modi (direkt, indirekt, indiziert, etc.)<\/li>\n\n\n\n<li>Bit 9\u20130: Adresse oder Immediate-Wert<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Die wichtigsten Befehle im \u00dcberblick:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Befehl<\/th><th class=\"has-text-align-left\" data-align=\"left\">Opcode<\/th><th class=\"has-text-align-left\" data-align=\"left\">Beschreibung<\/th><\/tr><\/thead><tbody><tr><td><strong>TC<\/strong>&nbsp;(Transfer Control)<\/td><td>1<\/td><td>Sprungbefehl (subroutine call mit R\u00fccksprungadresse in Q)<\/td><\/tr><tr><td><strong>CCS<\/strong>&nbsp;(Count, Compare, Skip)<\/td><td>5<\/td><td>\u00dcberpr\u00fcft den Akku-Wert: positiv, null, negativ; \u00fcberspringt entsprechende Anzahl W\u00f6rter<\/td><\/tr><tr><td><strong>AD<\/strong>&nbsp;(Add)<\/td><td>2<\/td><td>Addiert Speicherinhalt zu A<\/td><\/tr><tr><td><strong>TS<\/strong>&nbsp;(Transfer to Storage)<\/td><td>4<\/td><td>Speichert A nach Speicher, l\u00f6scht A nicht (anders als heute)<\/td><\/tr><tr><td><strong>XCH<\/strong>&nbsp;(Exchange)<\/td><td>7<\/td><td>Tauscht A mit Speicherinhalt<\/td><\/tr><tr><td><strong>INH<\/strong>&nbsp;(Inhibit)<\/td><td>6<\/td><td>Verhindert Unterbrechungen (Interrupt-Maskierung)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Besonders bemerkenswert ist der&nbsp;<strong>CCS<\/strong>-Befehl: Er konnte in einem einzigen Zyklus einen Wert testen und dann 1, 2 oder 3 W\u00f6rter \u00fcberspringen \u2013 eine effiziente Methode f\u00fcr bedingte Verzweigungen, ohne dass man separate Vergleichsbefehle ben\u00f6tigte.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.5 Stromversorgung, K\u00fchlung und physischer Aufbau<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der AGC bestand aus mehreren&nbsp;<strong>Modulen<\/strong>&nbsp;(jeweils etwa 10\u00d710 cm), die in einem Geh\u00e4use aus Aluminium untergebracht waren. Die Gesamtabmessungen betrugen 61 \u00d7 31 \u00d7 17 cm. Das Gewicht lag je nach Ausf\u00fchrung (Kommandomodul vs. Mondlandef\u00e4hre) zwischen 28 und 32 kg.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stromverbrauch:<\/strong>\u00a0Im Durchschnitt 55 Watt, maximal 70 Watt.<\/li>\n\n\n\n<li><strong>Spannungen:<\/strong>\u00a0+4 V, +14 V, -14 V (aus dem Bordnetz der Apollo-Kapsel).<\/li>\n\n\n\n<li><strong>K\u00fchlung:<\/strong>\u00a0Passive K\u00fchlung \u00fcber W\u00e4rmeableitung an die Au\u00dfenh\u00fclle; keine L\u00fcfter (im Vakuum unwirksam). Die Komponenten waren f\u00fcr einen Betrieb von -40\u00b0C bis +85\u00b0C spezifiziert.<\/li>\n\n\n\n<li><strong>Strahlenschutz:<\/strong>\u00a0Das Geh\u00e4use bestand aus einer Magnesium-Legierung, die zus\u00e4tzlich als Abschirmung gegen geladene Teilchen diente. Die integrierten Schaltkreise waren mit einer dicken Epoxidharz-Schicht vergossen.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Die Software: Margaret Hamiltons Meisterwerk<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Das Betriebssystem: Echtzeit und priorit\u00e4tsgesteuert<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der AGC war ein&nbsp;<strong>Echtzeitsystem<\/strong>&nbsp;mit harten Zeitvorgaben. Die Software \u2013 genannt&nbsp;<strong>Colossus<\/strong>&nbsp;(f\u00fcr das Kommandomodul) bzw.&nbsp;<strong>Luminary<\/strong>&nbsp;(f\u00fcr die Landef\u00e4hre) \u2013 bestand aus etwa 14.500 Assemblerzeilen, die von Hand geschrieben und dann in den Core Rope Memory eingewoben wurden. Das Betriebssystem implementierte ein&nbsp;<strong>Multitasking<\/strong>&nbsp;mit zwei Arten von Aufgaben:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Periodische Jobs<\/strong>\u00a0(z. B. alle 20 ms die Lageregelung aktualisieren)<\/li>\n\n\n\n<li><strong>Ereignisgesteuerte Jobs<\/strong>\u00a0(z. B. Tastendruck des Astronauten oder Radarecho)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ein zentrales Konzept war die&nbsp;<strong>Priorit\u00e4tenverwaltung<\/strong>. Es gab 7 Priorit\u00e4tsstufen, wobei Stufe 1 die h\u00f6chste war (Notfall-Routinen) und Stufe 7 die niedrigste (Hintergrunddiagnosen). Ein&nbsp;<strong>Dispatcher<\/strong>&nbsp;(ein kleiner Kern des Betriebssystems) entschied, welcher Job als n\u00e4chstes ausgef\u00fchrt wurde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Interrupts:<\/strong>&nbsp;Der AGC kannte 6 verschiedene Interrupt-Quellen:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Interrupt<\/th><th class=\"has-text-align-left\" data-align=\"left\">Quelle<\/th><th class=\"has-text-align-left\" data-align=\"left\">Priorit\u00e4t<\/th><\/tr><\/thead><tbody><tr><td>DAP (Digitale Autopilot)<\/td><td>Anforderung einer Steuerungsberechnung<\/td><td>1 (h\u00f6chste)<\/td><\/tr><tr><td>Uprupt (Uhrzeit-Interrupt)<\/td><td>10 ms Takt (f\u00fcr Zeitmessung)<\/td><td>2<\/td><\/tr><tr><td>Radar-Interrupt<\/td><td>Rendezvous-Radar Daten verf\u00fcgbar<\/td><td>3<\/td><\/tr><tr><td>Tastatur-Interrupt<\/td><td>Astronaut hat eine Taste gedr\u00fcckt<\/td><td>4<\/td><\/tr><tr><td>P-Wort-Interrupt<\/td><td>Telemetrie-Daten an Bord<\/td><td>5<\/td><\/tr><tr><td>Downrupt<\/td><td>Bodenbefehl empfangen<\/td><td>6<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">W\u00e4hrend der Mondlandung war der DAP-Interrupt am aktivsten \u2013 er berechnete alle 20 ms die notwendigen D\u00fcsenz\u00fcndungen basierend auf dem Lande-Radar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 Die ber\u00fchmten Fehler 1201 und 1202: Ein detaillierter Blick<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Am 20. Juli 1969, in 5.000 Fu\u00df H\u00f6he \u00fcber der Mondoberfl\u00e4che, l\u00f6ste der AGC die Fehlercodes&nbsp;<strong>1201<\/strong>&nbsp;und&nbsp;<strong>1202<\/strong>&nbsp;aus. Was genau bedeuteten sie?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>1201:<\/strong>\u00a0&#8222;Executive overflow &#8211; no core sets available&#8220; \u2013 Der Betriebssystemkern hatte zu viele aktive Jobs, um sie im RAM zu verwalten.<\/li>\n\n\n\n<li><strong>1202:<\/strong>\u00a0&#8222;Executive overflow &#8211; no VAC areas available&#8220; \u2013 Die Variablenbereiche (VAC = Variable Area) waren aufgebraucht.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ursache war, wie erw\u00e4hnt, ein \u00fcbereifriges Rendezvous-Radar, das einen Datenstrom von etwa 100 Messwerten pro Sekunde lieferte, obwohl es eigentlich gar nicht ben\u00f6tigt wurde (die Landef\u00e4hre befand sich im Landeanflug, nicht im Rendezvous). Das Betriebssystem reagierte, indem es weniger wichtige Jobs (z. B. die Aktualisierung der Anzeige f\u00fcr den Astronauten) abbrach und die Fehler flags setzte. Es gab jedoch ein kritisches Detail:&nbsp;<strong>Die \u00dcberlastung hatte keine Auswirkung auf die Navigations- und Steuerungsberechnungen<\/strong>, weil diese mit h\u00f6chster Priorit\u00e4t liefen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der junge Flugdirektor Steve Bales und der Computer-Experte Jack Garman (der einen detaillierten Fehlerkatalog auswendig gelernt hatte) wussten: &#8222;Error 1202 bedeutet, dass der Computer besch\u00e4ftigt ist, aber die kritischen Tasks werden nicht fallen gelassen.&#8220; Sie gaben gr\u00fcnes Licht f\u00fcr die Fortsetzung der Landung \u2013 eine Entscheidung, die heute als Meisterst\u00fcck des Risikomanagements gilt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 Die Programmiersprache: AGC-Assembler (\u201ePoop\u201c)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Software wurde in einer speziellen Assemblersprache geschrieben, die am MIT als&nbsp;<strong>AGC-Assembler<\/strong>&nbsp;bezeichnet wurde, von den Programmierern liebevoll&nbsp;<strong>&#8222;Poop&#8220;<\/strong>&nbsp;(ihr internes K\u00fcrzel f\u00fcr &#8222;Assembly Language for Apollo&#8220;) genannt. Ein typischer Befehl sah so aus:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">assembly<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">          AD     RATE      # Addiert den Wert von RATE zum Akku\n          TS     DELTA     # Speichert das Ergebnis nach DELTA\n          CCS    DELTA     # Pr\u00fcft, ob DELTA positiv, null oder negativ ist\n          TC     POSITIV   # Springt, wenn positiv\n          TC     NEGATIV   # Springt, wenn negativ (nach \u00dcberspringen)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Syntax war extrem kompakt, da jeder Befehl ein einzelnes Wort belegte. Besonders knifflig war das&nbsp;<strong>Bank Switching<\/strong>: Die Programmierer mussten selbst sicherstellen, dass sie das richtige ROM-Bank-Register setzten, bevor sie eine Routine au\u00dferhalb der aktuellen 4K-Bank aufriefen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.4 Margaret Hamiltons Beitr\u00e4ge: Das Konzept der \u201eAsynchronen Jobs\u201c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Margaret Hamilton erkannte fr\u00fch, dass ein reiner Batch-orientierter Ansatz (wie er damals in Gro\u00dfrechnern \u00fcblich war) f\u00fcr Apollo nicht ausreichte. Sie entwickelte das Konzept der&nbsp;<strong>&#8222;asynchronen Jobs mit Zeitfenstern&#8220;<\/strong>. Jede Aufgabe bekam ein festes Zeitbudget zugewiesen. \u00dcberschritt sie dieses Budget, wurde sie abgebrochen \u2013 genau das geschah w\u00e4hrend der Mondlandung. Dieses&nbsp;<strong>Priority-Interrupt-System<\/strong>&nbsp;war eines der ersten seiner Art.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Au\u00dferdem f\u00fchrte Hamilton&nbsp;<strong>Watchdog-Timer<\/strong>&nbsp;ein: Ein Hardware-Timer musste regelm\u00e4\u00dfig von der Software zur\u00fcckgesetzt werden. Wenn der Timer ablief (weil die Software hing), l\u00f6ste er einen Hardware-Reset aus. Diese Technik ist heute in jedem sicherheitskritischen System Standard (z. B. in Airbags, ABS-Bremsen).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.5 Die Simulation und Tests<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vor dem Flug wurde der AGC mit einem&nbsp;<strong>Simulator<\/strong>&nbsp;getestet, der auf einem IBM 360-Gro\u00dfrechner 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\u00e4ufen simulierten alle m\u00f6glichen Fehler \u2013 von defekten Gyroskopen bis hin zu pl\u00f6tzlichen Stromausf\u00e4llen. Das war in den 1960ern revolution\u00e4r.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Unterschiede zwischen Kommandomodul (CM) und Landef\u00e4hre (LM)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der AGC war nicht identisch f\u00fcr beide Fahrzeuge. Die Unterschiede:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Merkmal<\/th><th class=\"has-text-align-left\" data-align=\"left\">Kommandomodul (Colossus)<\/th><th class=\"has-text-align-left\" data-align=\"left\">Mondlandef\u00e4hre (Luminary)<\/th><\/tr><\/thead><tbody><tr><td><strong>ROM-Gr\u00f6\u00dfe<\/strong><\/td><td>36.864 W\u00f6rter<\/td><td>36.864 W\u00f6rter (Apollo 11), sp\u00e4ter mehr<\/td><\/tr><tr><td><strong>Besondere Hardware<\/strong><\/td><td>DSKY (Anzeige-Tastatur) im CM<\/td><td>Zwei DSKYs (einer f\u00fcr den Piloten, einer f\u00fcr den Kommandanten)<\/td><\/tr><tr><td><strong>Software-Schwerpunkt<\/strong><\/td><td>Wiedereintritt in Erdatmosph\u00e4re, Bahnberechnungen<\/td><td>Landung, Start von der Mondoberfl\u00e4che, Rendezvous<\/td><\/tr><tr><td><strong>Radar-Integration<\/strong><\/td><td>Kein Lande-Radar<\/td><td>Lande-Radar mit H\u00f6hen- und Geschwindigkeitsdaten<\/td><\/tr><tr><td><strong>Notfall-Modus<\/strong><\/td><td>&#8222;Return-to-Earth&#8220; -Routine<\/td><td>&#8222;Abort&#8220; -Routine (sofortiger Start von der Oberfl\u00e4che)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die DSKY (Display and Keyboard) war die Benutzerschnittstelle: eine numerische Tastatur mit 19 Tasten und ein gr\u00fcn leuchtendes Sieben-Segment-Display (Elektrolumineszenz). Die Astronauten mussten Hunderte von Nummern-Codes auswendig lernen, um bestimmte Programme zu starten.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Verm\u00e4chtnis: Was der AGC f\u00fcr die moderne Technik bedeutet<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Apollo Guidance Computer war nicht nur ein Produkt seiner Zeit, sondern ein Wegbereiter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Integrierte Schaltkreise<\/strong>\u00a0\u2013 Die Massenproduktion f\u00fcr Apollo trieb die Preise so weit nach unten, dass ICs bald in Konsumg\u00fctern eingesetzt wurden.<\/li>\n\n\n\n<li><strong>Embedded Echtzeitsysteme<\/strong>\u00a0\u2013 Der AGC zeigte, dass Computer auch au\u00dferhalb von klimatisierten R\u00e4umen zuverl\u00e4ssig arbeiten k\u00f6nnen. Dies ebnete den Weg f\u00fcr Mikrocontroller in Autos, Waschmaschinen und Herzschrittmachern.<\/li>\n\n\n\n<li><strong>Software Engineering<\/strong>\u00a0\u2013 Margaret Hamilton pr\u00e4gte den Begriff und die Methoden. Heute lehrt man, dass Software genauso ingenieurm\u00e4\u00dfig entwickelt werden muss wie Hardware.<\/li>\n\n\n\n<li><strong>Redundanz und Fehlertoleranz<\/strong>\u00a0\u2013 Der AGC hatte keine vollst\u00e4ndige Redundanz (nur einen einzigen Computer), aber die Software war so robust, dass sie einzelne Ausf\u00e4lle kompensieren konnte. Das Konzept des\u00a0<strong>graceful degradation<\/strong>\u00a0(langsamer Leistungsabfall statt Totalausfall) wurde hier erstmals gro\u00dffl\u00e4chig umgesetzt.<\/li>\n\n\n\n<li><strong>Benutzerschnittstellen f\u00fcr Nicht-Informatiker<\/strong>\u00a0\u2013 Die DSKY war ein fr\u00fches Beispiel einer Mensch-Maschine-Schnittstelle, die von Laien (den Astronauten) bedient werden musste. Die heutigen Touchscreens in Flugzeugen und Autos haben ihre Urv\u00e4ter im Apollo-Programm.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Fazit: Mehr als nur ein Computer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00f6lf Menschen sicher zum Mond und zur\u00fcck zu bringen \u2013 ohne einen einzigen softwarebedingten Totalausfall. Die Kombination aus durchdachter Hardwarearchitektur, rigoroser Miniaturisierung, strahlungsresistentem Speicher und einem bahnbrechenden Echtzeitbetriebssystem ist auch heute noch bewundernswert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie das n\u00e4chste Mal auf Ihr Smartphone schauen, denken Sie daran: Die Rechenleistung in Ihrer Tasche \u00fcbersteigt die des AGC um den Faktor eine Million. Aber der AGC hatte etwas, das viele moderne Ger\u00e4te nicht haben: absolute Zuverl\u00e4ssigkeit unter unm\u00f6glichen Bedingungen. Er war der erste digitale Astronaut \u2013 und er hat seinen Job perfekt gemacht.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Quellen<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Hall, Eldon C.<\/strong>\u00a0<em>Journey to the Moon: The History of the Apollo Guidance Computer<\/em>. AIAA, 1996.<\/li>\n\n\n\n<li><strong>Mindell, David A.<\/strong>\u00a0<em>Digital Apollo: Human and Machine in Spaceflight<\/em>. MIT Press, 2008.<\/li>\n\n\n\n<li><strong>O&#8217;Brien, Frank.<\/strong>\u00a0<em>The Apollo Guidance Computer: Architecture and Operation<\/em>. Springer, 2010.<\/li>\n\n\n\n<li><strong>Tomiak, Greg.<\/strong>\u00a0&#8222;Apollo Guidance Computer: The first computer to fly in space.&#8220;\u00a0<em>IEEE Spectrum<\/em>, 20. Juli 2019.<\/li>\n\n\n\n<li><strong>Hamilton, Margaret.<\/strong>\u00a0&#8222;The software that took humans to the moon.&#8220;\u00a0<em>MIT Technology Review<\/em>, 13. Oktober 2019.<\/li>\n\n\n\n<li><strong>&#8222;Apollo Guidance Computer (AGC)&#8220;<\/strong>\u00a0\u2013 Dokumentation des MIT Instrumentation Laboratory, 1969 (online archiviert bei\u00a0<a href=\"https:\/\/bitsavers.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">bitsavers.org<\/a>).<\/li>\n\n\n\n<li><strong>&#8222;Core rope memory&#8220;<\/strong>\u00a0\u2013 Technische Beschreibung im\u00a0<em>Computer History Museum<\/em>\u00a0(Mountain View, CA).<\/li>\n\n\n\n<li><strong>NASA Apollo Mission Reports (Apollo 11 Technical Crew Debriefing)<\/strong>\u00a0\u2013 1969, NASA Archives.<\/li>\n\n\n\n<li><strong>&#8222;Apollo Guidance Computer&#8220;<\/strong>\u00a0\u2013 Wikipedia, Die freie Enzyklop\u00e4die (abgerufen 2026).<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>von DerSchneider Einleitung: Der unsichtbare Pilot im Raumschiff Der Apollo Guidance Computer (AGC) ist einer der am meisten untersch\u00e4tzten Helden der Raumfahrtgeschichte. W\u00e4hrend die Namen Neil Armstrong, Buzz Aldrin und Michael Collins f\u00fcr immer mit der Mission Apollo 11 verbunden bleiben, arbeitete im Hintergrund ein kleines, unauff\u00e4lliges Ger\u00e4t, das die Navigation, Steuerung und letztlich die [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,32],"tags":[262,485,1288,1882,2066,4330,4682],"class_list":["post-3246","post","type-post","status-publish","format-standard","hentry","category-im-ruckspiegel","category-techarchaologie","tag-agc","tag-apollo-guidance-computer","tag-core-rope-memory","tag-echtzeitsystem","tag-embedded-systems","tag-margaret-hamilton","tag-mondlandung-apollo-11"],"_links":{"self":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/posts\/3246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/comments?post=3246"}],"version-history":[{"count":0,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/posts\/3246\/revisions"}],"wp:attachment":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/media?parent=3246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/categories?post=3246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/tags?post=3246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}