50年前的那一天,全人類千百年來的夢想實現(xiàn)了,人類首次登上月球。阿波羅登月背后的功臣是30多萬名技術(shù)人員和14.5萬行計算機(jī)代碼,目前代碼已在GitHub開源。今天就跟我們一起回顧50年前的那個榮耀時刻。
時間:1969年7月21日02:56 UTC
地點:月球
阿姆斯特朗:我正在梯子下面。登月艙的踏板僅在表面凹陷約1、2英寸,盡管當(dāng)你靠近時表面看起來非常非常細(xì)膩,就像粉末一樣。
阿姆斯特朗:我將要踏上月球。
阿姆斯特朗:這是我個人的一小步,但卻是全人類的一大步。
阿姆斯特朗:表面很細(xì)而且是粉狀的,我可以用腳趾把它撿起來。
指揮中心:尼爾,這里是休斯頓。我們聽到了。
阿姆斯特朗:和我們的預(yù)期不同,四處走動似乎沒有什么困難。
奧爾德林:從我們這里看起來非常漂亮。
阿姆斯特朗:它有一種自己獨特的荒涼之美,很像美國的許多沙漠,但是有所不同,這里真的是十分漂亮。
1969年7月16日,巨大的“土星5號”火箭載著“阿波羅11號”飛船從美國肯尼迪航天中心點火升空,開始了人類首次登月的太空征程。
三位執(zhí)行此任務(wù)的宇航員分別為指令長尼爾·阿姆斯特朗(Neil Armstrong)和指令艙駕駛員邁克爾·科林斯(Michael Collins)以及登月艙駕駛員巴茲·奧爾德林(Buzz Aldrin)。
從左到右依次是:阿姆斯特朗、科林斯、奧爾德林
1969年7月20日,登月艙在月球表面成功著陸。1969年7月21日,阿姆斯特朗承載著全人類的夢想踏上月球表面,成為登月第一人。
50年前的這次成功登月實現(xiàn)了人類千百年來的夢想,也讓我們對月球有了更全面的認(rèn)知。此外,登月還促進(jìn)了航天技術(shù)和計算機(jī)的發(fā)展。
要知道阿波羅登月用的計算機(jī),主頻只有2MHz,RAM和ROM分別只有2K和36K。阿波羅計劃對計算機(jī)性能的要求,讓美國科學(xué)家們認(rèn)識到計算機(jī)的重要性。
所以憑借阿波羅計劃中的技術(shù)積累,美國大力發(fā)展微電子領(lǐng)域,20世紀(jì)70年代先后誕生了微電子處理器和微型計算機(jī)等。
50周年紀(jì)念:NASA公布阿波羅登月地點全景圖片
17日,為了紀(jì)念阿波羅登月50周年,NASA約翰遜航天中心(Johnson Space Center)的圖像專家們將阿波羅登月地點的圖像“拼接”在一起,并發(fā)布了47張登陸地點全景圖片。
“阿波羅”號宇航員拍攝的個人照片由NASA約翰遜分站的圖像專家沃倫·哈羅德(Warren Harold)整理,阿波羅17號宇航員哈里森·“杰克”·施密特(Harrison “Jack” Schmitt)是唯一一位在月球上行走的地質(zhì)學(xué)家,他證實了這些照片所代表的獨特視角的準(zhǔn)確性。
Schmitt表示:
月球上的陶勒斯-利特羅山谷是太陽系中最壯觀的自然景觀之一。
山谷的山壁被陽光燦爛地照亮,比大峽谷還要高,北面高達(dá)4800英尺,南面高達(dá)7000英尺。
與此同時,山峰的背景是黑色的,這與人類在地球的體驗/印象截然不同,形成了鮮明的對比。
阿波羅17號的全景圖也被轉(zhuǎn)換成一幅身臨其境的全景圖,可以在NASA約翰遜的Facebook賬戶上看到。
想要了解更多相關(guān)圖片,讀者可前往下方鏈接查看:
https://flic.kr/s/aHsjHYKZe3
阿波羅制導(dǎo)計算機(jī)(AGC)代碼開源,登GitHub熱榜第一
而就在今天,GitHub一個名叫“Apollo-11”的項目榮登今日趨勢榜第一,已獲33000+顆星。
項目地址:
https://github.com/chrislgarry/Apollo-11/blob/master/README.zh_cn.md
該項目是阿波羅11號制導(dǎo)計算機(jī)(AGC)中的指令模塊(Comanche055)和登月模塊(Luminary099)的原始代碼。
項目的電子化過程是由Virtual AGC和MIT Museum共同完成。
上世紀(jì)60年代,MIT一起實驗室的程序員們需要給登月計劃開發(fā)飛行控制軟件,但是當(dāng)時并沒有現(xiàn)在如此成熟的技術(shù),他們必須自己打造一套系統(tǒng)。
于是,他們提出了一種存儲計算機(jī)程序的新方法——線存儲器,并創(chuàng)造了一種特殊版本的匯編語言?,F(xiàn)在許多程序員聽到“匯編語言”都有可能瑟瑟發(fā)抖,而MIT的程序員為阿波羅制導(dǎo)計算機(jī)(AGC)編寫了許許多多這種晦澀難懂的代碼。
那么剛才說到的“許許多多”到底有多少行代碼呢?請看下圖。
阿波羅登月計劃軟件工程主管MargaretHamilton,及她身旁一大堆AGC代碼文件
AGC代碼其實早在2003年的時候由Ron Burkey上傳到了網(wǎng)絡(luò)。他根據(jù)MIT在網(wǎng)上發(fā)布的原始硬拷貝的掃描件進(jìn)行了轉(zhuǎn)錄。
雖然Burkey為此付出了許多,但對于當(dāng)今很多開發(fā)者來說,AGC代碼本身還是有些晦澀難懂。后來NASA的一位實習(xí)生Chris Garry將AGC代碼完整地上傳到了GitHub。
很快,這份資源在網(wǎng)絡(luò)上迅速傳開,但是讓人們感興趣的點卻更多的在于這份代碼的注釋——著實過于詼諧幽默了。
例如,在登月模塊(Luminary099)文件夾中,有一個名為BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc的文件,中文可以叫做“燃燒吧,寶貝,燃燒吧——控制點火程序”,從名字上來看就非常的有意思了。
文件地址:
https://github.com/chrislgarry/Apollo-11/blob/master/Luminary099/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc
在開頭的注釋中,這樣寫道:
“燃燒吧,寶貝,燃燒吧”可追溯到1965年的洛杉磯騷亂,當(dāng)時著名DJ、電臺所有者“偉大的蒙塔古”(Magnificent Montague)在打碟時使用了這句話。偉大的蒙塔古是上世紀(jì)50年代中期至60年代中期,在芝加哥、紐約和洛杉磯極富感召力的靈歌代表人物。
更多有趣的注釋,讀者可前往該項目自行探索:
https://github.com/chrislgarry/Apollo-11/tree/master/Luminary099
阿波羅11號的大腦:這是人類的勝利,也是機(jī)器的勝利
也許阿波羅11號登月任務(wù)中最具戲劇性的時刻是當(dāng)“鷹號”登月艙開始最后一次降落到月球表面時,飛船的電腦超載了!
1969年7月20日,尼爾·阿姆斯特朗在離月球表面幾英里的上空盤旋,尋找一個安全的落腳地來創(chuàng)造歷史。
把第一批人送到月球的燃料僅剩幾分鐘可用。在阿波羅11號狹窄的月球著陸器上,一個功率計突然失靈了。通訊開始淡入淡出。然后,警告開始閃爍:程序報警。程序報警。(Program alarm. Program alarm.)
機(jī)上的電腦一共發(fā)出了五次緊急信號,這是阿姆斯特朗和機(jī)組成員奧爾德林從未練習(xí)過的。
在那一刻,兩名宇航員的生命、30多萬名技術(shù)人員的努力、8年耗資250億美元的工作,以及一個國家的驕傲,都取決于幾行開創(chuàng)性的計算機(jī)代碼。
一份18英寸厚的打印文件顯示了控制阿波羅登月艙降落到月球的部分計算機(jī)代碼。圖:《華爾街日報》TONY LUONG
人類從來沒有在0和1的代碼上冒過這么大的風(fēng)險。然而,他們決定相信機(jī)器和代碼,最終,阿姆斯特朗和奧爾德林作為第一批登上月球的人收獲了榮耀。
“軟件拯救了任務(wù),”85歲的弗雷德·馬丁(Fred Martin)說,他負(fù)責(zé)了阿波羅制導(dǎo)程序開發(fā)的大部分內(nèi)容。
沒有阿波羅飛船上的電腦,就沒有登月,就沒有勝利的第一步,就沒有人類太空旅行的高潮。50年后來看,登月是人類的偉大勝利,也是機(jī)器的勝利,標(biāo)志著計算機(jī)歷史上最重要的15分鐘。
“他們把計算機(jī)放在這個雄心勃勃的項目的中心,”計算機(jī)歷史博物館軟件歷史中心主任David C. Brock說。“這是對這項技術(shù)的真正考驗,也是對每個人的信念和愿望的考驗?!?/p>
阿波羅11號登月艙“鷹號”在分離后,開始在計算機(jī)引導(dǎo)下降落到月球表面 來源:NASA
阿波羅制導(dǎo)計算機(jī)(AGC)是第一臺數(shù)字飛行計算機(jī)、是迄今為止最先進(jìn)的微型計算機(jī)、是第一臺使用硅芯片的計算機(jī),同時也是第一臺機(jī)組人員生命依賴于其功能的機(jī)載計算機(jī)。
今天,如果你將 NASA 使用的計算能力與任何常見設(shè)備進(jìn)行比較,都會覺得不可思議。比如,iPhone 的處理能力是 Apollo 11 計算機(jī)的 100,000 多倍;憑借 4GB 的 RAM,iPhone擁有超過Apollo 11 計算機(jī)100萬倍的內(nèi)存,而 512GB 的存儲空間則相當(dāng)于Apollo 11 計算機(jī)的700萬倍。
任何現(xiàn)代設(shè)備都具有比早期機(jī)器更大的原始計算能力,但是 Apollo 計算機(jī)非常強(qiáng)大,可靠,并且完成了它的任務(wù)。你無法用智能手機(jī)將宇宙飛船引導(dǎo)到月球上。
阿波羅制導(dǎo)計算機(jī)(AGC)
阿波羅制導(dǎo)計算機(jī)(AGC)和DSKY
阿波羅制導(dǎo)計算機(jī)由MIT儀器實驗室開發(fā),它的外表就像是一個由兩部分組成的黃銅手提箱,裝在航天器的命令模塊(CM)和月球模塊(LM)中,總長61×32×17 厘米、重 14 公斤。宇航員使用數(shù)字顯示器和稱為 DSKY 的鍵盤與 AGC 通信。
安裝在指揮艙控制面板上的AGC的顯示屏和鍵盤(DSKY)接口
命令模塊中的AGC有兩項主要工作。首先,它計算了到達(dá)月球的必要航線,由宇航員在飛行中使用的六分儀進(jìn)行天文測量校準(zhǔn),這個六分儀與航海中使用的六分儀沒有什么不同。他們會把月亮、地球或太陽排成一條直線,用另一條線確定恒星的位置。計算機(jī)將精確地測量這些角度并重新計算其位置。
其次,命令模塊控制了航天器的許多物理部件。AGC可以與航天器內(nèi)的150個不同設(shè)備進(jìn)行通信,這是一項極其復(fù)雜的任務(wù)。
第一臺使用集成電路的計算機(jī)
阿波羅制導(dǎo)計算機(jī)中的扁平封裝集成電路
最初的重點放在硬件上。MIT儀器實驗室的計算機(jī)設(shè)計師決定使用集成電路或硅 “芯片” 來構(gòu)建計算機(jī)。
Apollo 中使用的硅芯片內(nèi)部的微觀視圖
現(xiàn)在來看,這似乎是顯而易見的,因為今天我們在任何消費設(shè)備中享受著集成電路技術(shù)的成果。但是在 20 世紀(jì) 60 年代早期,當(dāng)做出這個決定時,硅芯片未經(jīng)測試,其可靠性是一個很大的未知數(shù)。
盡管有爭議,MIT儀器實驗室的工程師對他們的設(shè)計進(jìn)行了有力的辯護(hù),并說服了NASA。實驗室與發(fā)明集成電路的飛兆半導(dǎo)體公司密切合作,以確保可靠性。
芯片在嚴(yán)格的溫度,振動,污染等條件下進(jìn)行了測試。最終,命令模塊和月球模塊上的阿波羅制導(dǎo)計算機(jī)在任務(wù)期間沒有遇到過硬件故障。
“動詞”“名詞”編碼的交互設(shè)備
宇航員通過 DSKY 與 AGC 通信
宇航員通過DSKY與計算機(jī)通信,輸入數(shù)字,然后得到回復(fù)。用戶界面系統(tǒng)依賴于一系列的程序代碼,以及“動詞”和“名詞”代碼。動詞是計算機(jī)可以做的事情(如“78 UPDATE PRELAUNCH AZIMUTH”)。名詞是數(shù)值量或測量值(“33 TIME OF IGNITION”)。
阿波羅制導(dǎo)計算機(jī)中動詞和名詞的部分?jǐn)?shù)字代碼列表,打印在側(cè)板上供快速參考
“編織”的軟件
同時瑪格麗特·漢密爾頓 (Margaret Hamilton)領(lǐng)導(dǎo)軟件設(shè)計。當(dāng)人們認(rèn)識到軟件對于登月任務(wù)真正重要時,漢密爾頓的團(tuán)隊擴(kuò)大到了350人。他們編碼的系統(tǒng)非常先進(jìn)。
瑪格麗特·漢密爾頓領(lǐng)導(dǎo)350人的軟件團(tuán)隊
但它的大多數(shù) “軟件” 實際上都是硬連線的:程序是編織的,用微小的甜甜圈形狀的金屬 “核心” 像串珠一樣串在一組電線上,電線在圈外面代表0,電線穿過圈里面代表1。
一旦制作完成,就無法改變繩子內(nèi)部的單個位,因此對軟件的任何更改都需要重新編織一條全新的繩子,而且最后一刻的更改是不可能的。
早期版本的阿波羅制導(dǎo)計算機(jī),稱為AGC-3
47年了,人們?yōu)楹尾辉俚窃铝耍?/p>
1972年12月11日,阿波羅17號在月球表面著陸。這是人類最后一次載人登月,也是人類最后一次離開低地球軌道。40多年來,人們再未踏足月球的表面。在邁出了“人類的一大步”之后,我們?yōu)槭裁床辉俚窃铝耍?/p>
原因眾說紛紜,但一般認(rèn)為以下幾個因素是人類登月計劃沒有再次實施的重要原因。
首先就是太貴了。作為阿波羅計劃的主要實施者,NASA在該計劃上一共花費了240億美元,大約相當(dāng)于今天的1800億美元,在20世紀(jì)60年代中期,美蘇之間太空競賽達(dá)到最高潮時,NASA每年經(jīng)費占到美國聯(lián)邦總預(yù)算的4%以上,這在今天是完全不可想象的。在阿波羅計劃實施期間,總共雇用了約40萬人,與全美20000家公司、大學(xué)和政府機(jī)構(gòu)有著合作關(guān)系。
阿波羅計劃是美國歷史上和平時期最大規(guī)模的一次大動員。盡管美國宇航局是一個民用機(jī)構(gòu),但阿波羅計劃成功的實施,是因為它資金充足,而且實施的是半軍事化管理模式:除了一人之外,所有宇航員都是從空軍飛行員和海軍飛行員中精心挑選的; 許多行政人員都在二戰(zhàn)中在軍隊中服役。在美國現(xiàn)有體制下,這種高度集中、準(zhǔn)軍事化管理的動員模式很難長期維持。
在此期間,人類對航天探索的大方向也發(fā)生了重大變化,近地空間成為各大強(qiáng)國爭奪最激烈的新戰(zhàn)場,而且技術(shù)成本遠(yuǎn)遠(yuǎn)低于登月。在當(dāng)時的冷戰(zhàn)背景下,前蘇聯(lián)已經(jīng)在將準(zhǔn)備與美國打擂臺的登月飛船改裝成近地空間站,美國的太空戰(zhàn)略發(fā)生重大轉(zhuǎn)移,導(dǎo)致阿波羅18號-20號直接被砍掉。
最后,除了邁出了“人類的一大步”之外,月球很大程度上就是一片荒地,沒有發(fā)現(xiàn)有探索價值的跡象,同樣的事情,美國已經(jīng)前后做了6次,花了不少錢,虧本買賣也不能總做起來沒完。
總而言之就是,登月花錢太多,消耗太大,收益太少。另外,和你一直較勁的老對手已經(jīng)主動放棄了,找不到繼續(xù)登月的理由了。
千百前來,人類對月球的探索從未停止,以前如此,現(xiàn)在亦是如此。
人類下一次登月又將會是何時呢?
-
計算機(jī)
+關(guān)注
關(guān)注
19文章
7500瀏覽量
88032 -
航天
+關(guān)注
關(guān)注
0文章
160瀏覽量
16911
原文標(biāo)題:登月50周年 | 揭秘阿波羅11號大腦:人類的一大步,也是機(jī)器的一大步!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論