Sie haben wahrscheinlich inzwischen gehört – und vielleicht sogar selbst wiederholt wir haben es sicherlich – dass das Telefon in Ihrer Tasche oder sogar ein einfacher Taschenrechner leistungsfähiger ist als der Computer, als während des Apollo-Programms der NASA Astronauten auf dem Mond gelandet sind.
Har har, der Apollo Guidance Computer war ein solcher Dinosaurier, den er nur hatte32.768 Bit Random Access Memory und nur 72 KB Read-Only Memory. Nun, eine Ampel hat heutzutage wahrscheinlich mehr Onboard-Speicher als das Raumschiff, das mitgebracht hatzwei Astronauten zur Mondoberfläche im Jahr 1969 und brachte sie dann sicher zur Erde zurück.
Okay, aber was ist mit der Rechenleistung? Der Apollo Guidance Computer ist sicherlich beeindruckender, wenn man bedenkt, wie schnell er all das verarbeitet – oh, warte, eslief mit nur 0,043 MHz. Das ist nicht einmal ein kleiner Hintergrundprozess auf einem modernen Computer. Ihr Laptop im Ruhezustand durchläuft wahrscheinlich Informationen schneller, als der Apollo Guidance Computer auf Hochtouren war.
Ehrlich gesagt, es ist erstaunlich, dass die Apollo-Missionen überhaupt in Gang gekommen sind und sich nicht nur vor lauter Verlegenheit auf der Startrampe in die Luft gejagt haben.
Nach den Spezifikationen natürlich der Apollo Guidance Computerwar Ziemlich leicht. Ein modernes iPhone hat schätzungsweise 100.000-mal mehr Rechenleistung. Seine gesamte Speicherkapazität ist ein Bruchteil des Cache-Speichers, der selbst in den preisbewusstesten Computerprozessoren heute zu finden ist.
Über den Apollo Guidance Computer zu spotten ist, als würde man für Goliath Wurzeln schlagen, denn David ist ein Schwächling, der sich unmöglich mit einem solchen Riesen vergleichen kann. Wir wissen, wie das für Goliath endete.
Die Verspottung des Apollo Guidance Computers zeigt kein Verständnis der modernen Rechenleistung, sondern offenbart ein grundlegendes Missverständnis der unglaublichen Leistung der Ingenieure und Informatiker, die eine unmögliche Herausforderung gemeistert haben – Astronauten zum Mond zu fliegen und sie sicher zurückzubringenzur Erde in nur einem Jahrzehnt und ausgehend von einem im Wesentlichen stehenden Stillstand im Jahr 1960.
Die Ingenieure und Wissenschaftler, die dies geschafft haben, haben die Technologie erfunden, die sie im Flug mit einer Präzision zum Mond bringen würde, die fast keinen Spielraum für Fehler ließ. Die NASA-Ingenieure mussten es beim ersten Mal richtig machenund dafür haben sie den Apollo Guidance Computer entwickelt.
Dieser Kampf um die größte technische Herausforderung, die sich die Menschheit je gestellt hat, sowohl aus Hardware- als auch aus Softwaresicht, ist eine der unglaublichsten Einfallsleistungen, die jemals vollbracht wurden, und es ist an der Zeit, dass alle diese Tatsache erkennen.
Du fährst mit dem Computer, den du hast, zum Mond, nicht mit dem, den du willst
Ohne Frage, wenn Sie Margaret Hamilton und die anderen Software-Ingenieure, die dafür verantwortlich sind, Apollo-Astronauten zum Mond und zurück zu bringen, gefragt hätten, hätten sie gerne mehr Computerressourcen gehabt, um die Arbeit zu erledigen.
Das taten sie jedoch nicht, weil moderne Computer noch in den Kinderschuhen steckten und weil man einfach nicht mehr Computer in das Kommandomodul oder die Mondlandefähre passen konnte, die beide so eng genug passten und warenbereits unsere technologische Kapazität von dem, was Sie in den Weltraum schießen können.Raketengleichung war in den 1960er Jahren ein Tyrann wie heute.
Stattdessen mussten die NASA-Ingenieure sowohl auf der Hardware- als auch auf der Software-Seite herausfinden, wie man aus den begrenzten verfügbaren Ressourcen den größtmöglichen Nutzen ziehen konnte.
Dies beinhaltete das Umschreiben unseres Wissens über Informatik, die Umkonfigurierung einer Maschine, die ein einzelnes umständliches Programm von Anfang bis Ende ausführen sollte, in eine Maschine, die winzige, diskrete "Jobs" effektiv parallel ausführen konnte, etwas, das in "Mainstream"-Computer seit vielen Jahren.
Außerdem war der Apollo Guidance Computer in der Lage, einen Systemfehler zu erkennen und einen Job effektiv neu zu starten, um den Fehler zu beheben, während er genau dort weitermachte, wo er aufgehört hatteoder Microsoft Word bietet an, die Datei, an der Sie gearbeitet haben, erneut zu öffnen, als das Programm auf einen Fehler gestoßen ist und neu gestartet werden musste.
Dieses Feature, das seiner Zeit um Jahrzehnte voraus war, rettete die Apollo-11-Mission buchstäblich, da die überwältigende Anzahl von Variablen während der Landung des Eagle-Moduls auf dem Mond den Apollo Guidance Computer zwang, während des Abstiegs viele Male neu zu starten – aber,es konnte genau dort weitermachen, wo es aufgehört hatte und das Modul an die Oberfläche führen.
Die Schnittstelle für den Apollo Guidance Computer, bekannt als DSKY reimt sich auf Whisky, war kaum mehr als ein Zehner-Ziffernblock mit ein paar Funktionstasten, die für ein gutes Maß eingefügt wurden. Es musste auch die behandschuhte Hand eines Astronauten aufnehmen, also war ein Präzisionseingabegerät draußen.
Gut, dachten sich die Ingenieure, wir machen es einfach und implementieren eine Befehlsschnittstelle, die aus einem "Verb-Substantiv"-Paar besteht, das durch numerische Codes eingegeben wird, die verschiedene Befehle und Informationen darstellen. Das Befehlsmodul hatte sogar einen Spickzettel unter dem ausgedrucktDSKY-Schnittstelle von Apollo Guidance Computer, auf die Astronauten bei Bedarf zugreifen können.
Hatte es iPhone-Eleganz in seiner Mensch-Computer-Schnittstelle? Kaum. Hat es funktioniert? Brillant.
Der Apollo Guidance Computer könnte überleben, wo Ihr iPhone nicht könnte
Lass mich dir etwas darüber erzählen Kernseilspeicher. Diese kleine Innovation, bei der Informationsbits durch Drahtfäden dargestellt werden, die sich in Magnetkerne ein- und ausweben, ist der ultimative Nur-Lese-Speicher.
Digitale Bits werden nicht durch Einsen oder Nullen dargestellt, die in den fungiblen Speicherbänken eines Computers gespeichert sind, sondern dadurch, ob sich ein Draht durch einen magnetisierten Ring 1 oder um ihn herum schlängelt 0.
Warum ist das wichtig? Nun, während der Apollo-Missionen könnte die unglaublich raue Umgebung des Weltraums, einschließlich einer lächerlichen Menge an Strahlung, möglicherweise die Schaltkreise eines Computers im Befehlsmodul eines Apollo-Raumschiffs zerstören und die Fähigkeiten eines Leitcomputers zerstörenFunktionieren.
Dies hätte die Apollo-Astronauten im Weltraum im Wesentlichen dazu gebracht, allein zu sterben, ohne die Kapsel zu bergen, geschweige denn rechtzeitig einzugreifen, um ihr Leben zu retten.
Wie haben die NASA-Ingenieure dieses Problem verhindert? Indem sie die gesamte Software, die zum Ausführen des Apollo Guidance Computers erforderlich ist, in tatsächliche physische Hardware verwandelt haben, die könnte nicht scheitern.Solange der Apollo Guidance Computer mit Strom versorgt wurde, würde der Computer dank dieser neuartigen Innovation jegliche Software in seinem festen, schreibgeschützten Speicher ausführen.
Beschränkung:die größte Inspiration für Innovation, die es gibt
Die Anforderung, dass Softwarecode für den Apollo Guidance Computer buchstäblich fest im System verankert ist, bedeutete, dass "kleine alte Damen" in einer Raytheon-Fabrik die von Margaret Hamilton und ihrem Team von 350 Programmierern geschriebene Software tatsächlich in physische Speichermodule einweben mussten.
Dies bedeutete, dass Hamilton und ihr Programmierteam die für den Apollo Guidance Computer benötigte Software viele Monate vor der Markteinführung fertigstellen mussten, um genügend Zeit zu haben, die Kernseil-Speichermodule herzustellen und angemessen zu testen.
Vor Apollo war die Softwareprogrammierung nicht annähernd der systematisierte Prozess, der sie heute ist und im Gegensatz zu heutigen Programmierern, die eine App voller Fehler programmieren und veröffentlichen können, um die Probleme später mit einem Software-Update zu beheben, Hamilton und ihr Teamhatte diesen Luxus nicht.
"Obwohl der gesunde Menschenverstand anzeigt, dass es vorteilhaft ist, etwas so Komplexes und Wichtiges wie Software lange vor einer Mission fertigzustellen, damit es in Simulatoren verwendet und auf verschiedene andere Weise getestet werden kann, ist Software selten entweder pünktlich oder perfekt."ein offizielle Geschichte der NASA-Computer liest.
"Zum Glück für das Apollo-Programm übte die Beschaffenheit des Kernseils einen erheblichen Druck auf die Programmierer des MIT aus, es gleich beim ersten Mal richtig zu machen."
Hamiltons Lösung für dieses Problem war revolutionär: Behandeln Sie die Softwareentwicklung mit der gleichen Strenge wie ein Problem des Hardware-Engineerings und prägten sogar den Begriff "Software-Engineering", um zu verdeutlichen, dass ihre Arbeit genauso sein musstepräzise wie die Arbeit, die in die Raketen steckte, die Astronauten ins All flog.
Für NASA-Ingenieure war es nicht genug zu sagen, dass irgendwo im Apollo-Befehlsmodul ein Widget war wahrscheinlich stark genug, um dem dynamischen Druck standzuhalten, der mit dem Abheben aus der Anziehungskraft der Erde und dem Fliegen zum Mond einhergeht. Sie mussten wissen, dass es so war.
Die Mathematiker, die Rechenschieber und Kalkül verwendeten, um den Kurs der Apollo-Missionen zur sicheren Landung auf dem Mond zu bestimmen, konnten ihn nicht mit ihren Zahlen beflügeln, sie mussten die Präzision haben, die der Moment von ihnen verlangte.
Hamiltons gesamter Ansatz bei der Programmierung des Apollo Guidance Computer war, dass ein Programm nicht fehlschlagen konnte, und wenn dies nicht möglich war, musste dieser mögliche Fehler berücksichtigt und ein Programm geschrieben werden, um alles zu korrigieren, was im Flug fehlschlug.
Entscheidenderweise rettete dies die Landung der Apollo-11-Mondlandefähre, als sie sich der Mondoberfläche näherte. Als sich das Modul der Oberfläche näherte, nahmen seine Sensoren weit mehr Daten auf, als der Leitcomputer verarbeiten konnte. Wie sich herausstellte, war die Apollo11 Besatzungs-Checkliste für die Landung hatte sie die Rendezvous-Radarschalter falsch, der viele Fremddaten in die CPU schickte und sie verstopfte.
Obwohl Hamilton und ihr Team dieses genaue Szenario nicht vorhergesehen haben – wenn sie es getan hätten, hätten sie den Apollo Guidance Computer anders programmiert, um dies zu berücksichtigen – haben sie das vorhergesehen wieDies könnte passieren, obwohl es unmöglich war, genau vorherzusagen, was passieren könnte, und Code zu schreiben, um es zu beheben.
Also programmierten sie eine Form der Fehlerkorrektur, die erkannte, wenn ein kritischer Job, wie das Landesequenzprogramm, überfordert war und andere Jobs, die nicht so wichtig waren, automatisch depriorisierte, um Ressourcen für den kritischeren Job freizugeben.
Letztendlich war dieser Mangel an verfügbarem Speicher – einer der größten Kritikpunkte moderner Kritiker am Apollo Guidance Computer – der treibende Anstoß für Hamiltons Programmierer, spezifischen Code zu schreiben, um allgemeine Probleme zu lösen und Wege für den Apollo zu entwickelnFührungscomputer, um zu entscheiden, wie ein Problem selbst behoben werden kann, das er nicht vorhersagen konnte, oder Code zu schreiben, um ihn im Voraus zu korrigieren.
Nur der Apollo Guidance Computer war tatsächlich auf dem Mond – mehrmals
Sagen Sie, was Sie über den Apollo Guidance Computer sagen wollen, aber bei all dem Getöse über moderne Computer hat es nur ein Computer in der Geschichte der Menschheit tatsächlich zum Mond geschafft und ist sicher zur Erde zurückgekehrt.
Sicher, dein iPhone hat viel mehr Speicher- und Verarbeitungsressourcen als der Apollo Guidance Computer, aber es ist immer noch in deiner Hand oder in deiner Tasche – und abgesehen von der Box, in der es geliefert wurde, oder auf einem Schreibtisch, der an ein Ladegerät angeschlossen ist,das ist wahrscheinlich so weit, wie es jemals gehen wird.
Wann hat Ihr iPhone oder der Grafikrechner, den Sie für Ihren Vorkalkulationskurs verwendet haben, das letzte Mal ein bemanntes Raumschiff im Meer der Ruhe berührt? Das dachte ich mir. Der Apollo Guidance Computer war nicht nur in anderen Welten, sondernwar das Werkzeug, das die Menschen zunächst dorthin brachte, und brachte sie sicher zur Erde zurück.
Er tat dies, weil er einen einzigen Zweck hatte, den er erreichen musste, und er tat genau das, und nur das, bis an die Grenzen seiner Kapazität und sogar darüber hinaus. Er hat mehr getan als jeder andere Computer in der Geschichte der Menschheit und er hat es getanAlso auf die magerste Diät von Gedächtnis und Verarbeitungskapazität. Es gab keinen Spielraum für Fehler und keinen Raum für Aufblähungen.
Der Apollo Guidance Computer war wahrscheinlich der schlankste und effizienteste Computer, den Menschen je gebaut haben, und er brachte die Menschheit nicht nur zum Mond und zurück, sondern zwang auch die Menschen, die daran arbeiteten, sich der Herausforderung zu stellenes.
Kein anderer Computer in der Geschichte kann das Gleiche sagen, und daher ist es an der Zeit, dass wir ihm alle den Respekt entgegenbringen, den er verdient.