Redaktörens anmärkning: Den här artikeln är en del av en serie som reflekterar över Apollo 11-uppdraget 50 år senare.
Om det inte hade funnits några datorer ombord på Apollo-rymdfarkosterna hade det inte blivit någon månlandning, inget triumfatoriskt första steg eller någon höjdpunkt för människans rymdfärd. En pilot skulle aldrig ha kunnat navigera vägen till månen, som om ett rymdskepp bara vore ett mer kraftfullt flygplan. De beräkningar som krävdes för att göra justeringar under flygning och komplexiteten hos styrningen av dragkraften översteg den mänskliga kapaciteten.
Apollo Guidance Computer, i båda dess skepnader – den ena ombord på den centrala rymdfarkosten och den andra på månmodulen – var en triumf av ingenjörskonst. Datorer hade varit stora som rum och fyllda med vakuumrör, och även om Apollo-datorn, med sina 70 pund, inte var exakt miniatyr än, inledde den ”övergången mellan människor som skryter om hur stora deras datorer är … och skryter om hur små deras datorer är”, skämtade en gång MIT:s historiker inom flyg- och rymdteknik och datateknik, David Mindell, i en föreläsning.
De trender som denna dator förutspådde fortsatte att utvecklas, exponentiellt, i flera decennier: Från stor till liten, från vakuumrör till kisel, från hårdvara till mjukvara. Om man nu jämför den datorkraft som NASA använde med vilken vanlig apparat som helst, från en klocka till ett gratulationskort till en mikrovågsugn, får man teknisk svindel. Michio Kaku, fysiker och populär författare, uttryckte det så här: ”I dag har din mobiltelefon mer datorkraft än hela NASA 1969, när man placerade två astronauter på månen.”
Men dessa bara-så-så-sägner döljer den verkliga kraften hos Apollodatorn. Naturligtvis har alla samtida enheter mycket större rå beräkningskapacitet än den tidiga maskinen, men Apollodatorn var anmärkningsvärt kapabel, pålitlig och klarade av den uppgift som den fick. Du kan faktiskt inte styra ett rymdskepp till månen med en smart dörrklocka.
Mer i den här serien
Läs:
För att förstå hur viktigt Apollo-systemet var och varför dess lilla mängd rå processorkraft är irrelevant, behöver man bara lyssna på OG-datorprogrammeraren och frivillige NASA-historikern Frank O’Brien, som har tillbringat sitt liv med att kärleksfullt beskriva funktionerna i Apollo Guidance Computer. O’Briens far var pilot, så Frank blev ett militärbarn. Han var intresserad av datorer från tidig ålder, och när en av hans pappas gamla vänner steg i graderna på NASA kom han i besittning av de tekniska manualer som styrde datorns funktion.
”När jag var 13 år gammal fick jag en låda i julklapp, ungefär en meter på en sida, som vägde en miljon pund”, berättade O’Brien för mig. ”Jag öppnade den och den innehöll alla tekniska manualer på Apollo. Det fanns massor av barn som tittade på Playboys; jag läste om styrdatorer.”
Sedan dess har han tillbringat otaliga timmar med att lära sig exakt hur dessa maskiner fungerade. Redan som tonåring kunde han flyga NASA:s Apollo-simulator. Som vuxen, efter att ha tagit en examen i datavetenskap och arbetat länge som programmerare på ett företag, skrev han boken The Apollo Guidance Computer, en hyllning till maskinen.
Apollo Guidance Computer i kommandomodulen hade två huvuduppgifter. För det första beräknade den den nödvändiga kursen till månen, kalibrerad av astronomiska mätningar som astronauterna gjorde under flygningen, med en sextant som inte är olik den som används av oceaniska navigatörer. De skulle ställa in månen, jorden eller solen i ett sikte och fastställa en stjärnas position med det andra. Datorn skulle exakt mäta dessa vinklar och räkna om sin position. För det andra kontrollerade den rymdfarkostens många fysiska komponenter. AGC kunde kommunicera med 150 olika enheter i rymdfarkosten – en enormt komplicerad uppgift. ”Den har dussintals drivraketer och alla typer av gränssnitt och en styrplattform och sextanten”, säger O’Brien. ”Man börjar räkna ihop alla dessa saker och säger: ”Heliga cannoli”. Detta är verkligen kapabelt.”
MIT Instrumentation Laboratory, som utformade systemet, byggde det ovanpå det arbete som de hade gjort för det styrda missilsystemet Polaris, som används för att avfyra kärnvapen från amerikanska ubåtar. Apollo-datorns hårdvara var, som Mindell har noterat, ganska välkänd ”i världen av militär flygelektronik”.
Byggandet av den dominerade projektet till en början – laboratoriet underskattade kraftigt komplexiteten i den mjukvarutekniska uppgiften. Under flera år efteråt, långt in på 1970-talet, använde programmerarna fortfarande hålkort för att koda. Men behovet av att ha Apollo-astronauter och NASA-ingenjörer ”med på noterna”, som fattade beslut, krävde en annan typ av programvara. Det måste finnas ett gränssnitt. Flera operationer måste köras samtidigt.
Läs: Den första fokuseringen på hårdvara låste in vad O’Brien kallade en ”primitiv arkitektur” och öppnade samtidigt utrymme för Margaret Hamilton, en kvinna i det mycket manliga Apolloprogrammet, att leda programvarudesignen. När det stod klart att det verkligen var i programvaran som uppdraget skulle ske expanderade Hamiltons team till 350 personer när det var som störst. Systemet de byggde var anmärkningsvärt avancerat.
För att maximera den inbyggda arkitekturen kom Hamilton och hennes kollegor på vad de kallade ”The Interpreter” – vi skulle nu kalla det ett virtualiseringsschema. Det gjorde det möjligt för dem att köra fem till sju virtuella maskiner samtidigt på två kilobyte minne. Det var fruktansvärt långsamt, men ”nu har du alla möjligheter du någonsin drömt om, i mjukvara”, sade O’Brien.
Astronauterna kommunicerade med datorn genom DSKY, en förkortning för ”display och tangentbord”. De slog in siffror och fick svar. Det är inte lätt att beskriva användargränssnittssystemet, men det byggde på en rad programkoder samt koder för ”verb” och ”substantiv”. Verben var saker som datorn kunde göra (”78 UPDATE PRELAUNCH AZIMUTH”). Substantiv var numeriska kvantiteter eller mått (”33 TIME OF IGNITION”). Det var långt ifrån enkelheten att peka och klicka.
Det mesta av systemets minne hade vävts in, bokstavligen, i repminnet, men en del kunde skrivas, både av astronauterna och på distans från Mission Control. Den kanske mest briljanta programvarutekniska bedriften var den programvara som utformades av J. Halcombe Laning och som prioriterade systemets beräkningsuppgifter.
Detta visade sig vara ett framsteg som räddade uppdraget för Apollo 11. När månlandningsmodulen gick ner började buller från en av dess radarsystem att ge dåliga data till systemet. Styrdatorn förstod att den hade ett problem, men kunde fortsätta att fungera under hela nedstigningen, dumpa den dåliga informationen och fortsätta sina viktigare operationer, vilket räddade uppdraget.
Den populära berättelsen om detta ögonblick – på den tiden och än i dag – går ut på att datorn hade problem och att Neil Armstrong, genom att ta över den ”manuella” kontrollen, styrde rymdfarkosten till månens yta. Människor gjorde det! Datorer kan inte mäta sig med oss!
Men månlandaren var ett system som styrdes med hjälp av tråd. Alla kommandon som Armstrong gav måste gå via datorn. Så det är nog mer korrekt att säga att när Armstrong landade på månen sa han till datorn var han skulle landa. Det fanns ingen användbar manuell kontroll; den verkliga triumfen var flexibiliteten i interaktionen mellan människa och dator.
Historiker som Mindell, som har modellerat nedstigningen sekund för sekund, tror inte särskilt mycket på nödvändigheten av Armstrongs handlingar. Han behövde fortfarande datorn för att styra farkosten. ”Om den hade varit inställd på automatisk landning skulle den ha kommit ner hur som helst, med mindre buller och bång, men kanske mitt i ett fält av stenblock”, konstaterade Mindell. Berättelsen om människans överlägsenhet var nästan en perfekt omvändning av verkligheten.
Med tanke på allt detta är det kanske inte förvånande att O’Brien tar illa vid sig av tanken att en mikrovågsugn eller en miniräknare skulle kunna anses vara ”lika kraftfull” som Apollo-datorn.
”Hur definierar man kraft?” O’Brien frågar. ”Det är bra att säga: ’Den här maskinen är så kraftfull’. Vad menar du med det?”
För honom handlar det inte om det råa antalet transistorer, utan om att maskinen passar uppdraget. Kapacitet, inte kraft. ”Vi var tvungna att ta oss till månen, ta oss ner och ta oss tillbaka autonomt. De uppnådde sina mål att vara exakta efter en kvarts miljon miles, att träffa ett mål inom 500 till 600 fot och en tiondels fot per sekund”, sade O’Brien. ”Och du säger: ’Min klocka är mer kraftfull’. Nej, det är den inte.”
Lärdomen är kanske enkel: Om din telefon är så mycket kraftfullare än de datorer som satte mänskligheten på månen, varför stirrar du då bara på Instagram hela dagen? Beräkning är ett medel, inte ett mål.