揭秘阿波羅11號大腦:人類的一大步,也是機器的一大步

2021-01-15 界面新聞

文 | 新智元

50年前的那一天,全人類千百年來的夢想實現了,人類首次登上月球。阿波羅登月背後的功臣是30多萬名技術人員和14.5萬行計算機代碼,目前代碼已在GitHub開源。今天就跟我們一起回顧50年前的那個榮耀時刻。

時間:1969年7月21日02:56 UTC

地點:月球

阿姆斯特朗:我正在梯子下面。登月艙的踏板僅在表面凹陷約1、2英寸,儘管當你靠近時表面看起來非常非常細膩,就像粉末一樣。

阿姆斯特朗:我將要踏上月球。

阿姆斯特朗:這是我個人的一小步,但卻是全人類的一大步。

阿姆斯特朗:表面很細而且是粉狀的,我可以用腳趾把它撿起來。

指揮中心:尼爾,這裡是休斯頓。我們聽到了。

阿姆斯特朗:和我們的預期不同,四處走動似乎沒有什麼困難。

奧爾德林:從我們這裡看起來非常漂亮。

阿姆斯特朗:它有一種自己獨特的荒涼之美,很像美國的許多沙漠,但是有所不同,這裡真的是十分漂亮。

1969年7月16日,巨大的「土星5號」火箭載著「阿波羅11號」飛船從美國甘迺迪航天中心點火升空,開始了人類首次登月的太空徵程。

三位執行此任務的太空人分別為指令長尼爾·阿姆斯特朗(Neil Armstrong)和指令艙駕駛員麥可·科林斯(Michael Collins)以及登月艙駕駛員巴茲·奧爾德林(Buzz Aldrin)。

從左到右依次是:阿姆斯特朗、科林斯、奧爾德林

1969年7月20日,登月艙在月球表面成功著陸。1969年7月21日,阿姆斯特朗承載著全人類的夢想踏上月球表面,成為登月第一人。

50年前的這次成功登月實現了人類千百年來的夢想,也讓我們對月球有了更全面的認知。此外,登月還促進了航天技術和計算機的發展。

要知道阿波羅登月用的計算機,主頻只有2MHz,RAM和ROM分別只有2K和36K。阿波羅計劃對計算機性能的要求,讓美國科學家們認識到計算機的重要性。

所以憑藉阿波羅計劃中的技術積累,美國大力發展微電子領域,20世紀70年代先後誕生了微電子處理器和微型計算機等。

50周年紀念:NASA公布阿波羅登月地點全景圖片

17日,為了紀念阿波羅登月50周年,NASA詹森航天中心(Johnson Space Center)的圖像專家們將阿波羅登月地點的圖像「拼接」在一起,並發布了47張登陸地點全景圖片。

「阿波羅」號太空人拍攝的個人照片由NASA詹森分站的圖像專家沃倫·哈羅德(Warren Harold)整理,阿波羅17號太空人哈裡森·「傑克」·施密特(Harrison 「Jack」 Schmitt)是唯一一位在月球上行走的地質學家,他證實了這些照片所代表的獨特視角的準確性。

Schmitt表示:

月球上的陶勒斯-利特羅山谷是太陽系中最壯觀的自然景觀之一。

山谷的山壁被陽光燦爛地照亮,比大峽谷還要高,北面高達4800英尺,南面高達7000英尺。

與此同時,山峰的背景是黑色的,這與人類在地球的體驗/印象截然不同,形成了鮮明的對比。

阿波羅17號的全景圖也被轉換成一幅身臨其境的全景圖,可以在NASA詹森的Facebook帳戶上看到。

阿波羅制導計算機(AGC)代碼開源,登GitHub熱第一

而就在今天,GitHub一個名叫「Apollo-11」的項目榮登今日趨勢榜第一,已獲33000+顆星。

該項目是阿波羅11號制導計算機(AGC)中的指令模塊(Comanche055)和登月模塊(Luminary099)的原始代碼。

項目的電子化過程是由Virtual AGC和MIT Museum共同完成。

上世紀60年代,MIT一起實驗室的程式設計師們需要給登月計劃開發飛行控制軟體,但是當時並沒有現在如此成熟的技術,他們必須自己打造一套系統。

於是,他們提出了一種存儲電腦程式的新方法——線存儲器,並創造了一種特殊版本的彙編語言。現在許多程式設計師聽到「彙編語言」都有可能瑟瑟發抖,而MIT的程式設計師為阿波羅制導計算機(AGC)編寫了許許多多這種晦澀難懂的代碼。

那麼剛才說到的「許許多多」到底有多少行代碼呢?請看下圖。

阿波羅登月計劃軟體工程主管MargaretHamilton,及她身旁一大堆AGC代碼文件

AGC代碼其實早在2003年的時候由Ron Burkey上傳到了網絡。他根據MIT在網上發布的原始硬拷貝的掃描件進行了轉錄。

雖然Burkey為此付出了許多,但對於當今很多開發者來說,AGC代碼本身還是有些晦澀難懂。後來NASA的一位實習生Chris Garry將AGC代碼完整地上傳到了GitHub。

很快,這份資源在網絡上迅速傳開,但是讓人們感興趣的點卻更多的在於這份代碼的注釋——著實過於詼諧幽默了。

例如,在登月模塊(Luminary099)文件夾中,有一個名為BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc的文件,中文可以叫做「燃燒吧,寶貝,燃燒吧——控制點火程序」,從名字上來看就非常的有意思了。

在開頭的注釋中,這樣寫道:

「燃燒吧,寶貝,燃燒吧」可追溯到1965年的洛杉磯騷亂,當時著名DJ、電臺所有者「偉大的蒙塔古」(Magnificent Montague)在打碟時使用了這句話。偉大的蒙塔古是上世紀50年代中期至60年代中期,在芝加哥、紐約和洛杉磯極富感召力的靈歌代表人物。

阿波羅11號的大腦:這是人類的勝利,也是機器的勝利

也許阿波羅11號登月任務中最具戲劇性的時刻是當「鷹號」登月艙開始最後一次降落到月球表面時,飛船的電腦超載了!

1969年7月20日,尼爾·阿姆斯特朗在離月球表面幾英裡的上空盤旋,尋找一個安全的落腳地來創造歷史。

把第一批人送到月球的燃料僅剩幾分鐘可用。在阿波羅11號狹窄的月球著陸器上,一個功率計突然失靈了。通訊開始淡入淡出。然後,警告開始閃爍:程序報警。程序報警。(Program alarm. Program alarm.)

機上的電腦一共發出了五次緊急信號,這是阿姆斯特朗和機組成員奧爾德林從未練習過的。

在那一刻,兩名太空人的生命、30多萬名技術人員的努力、8年耗資250億美元的工作,以及一個國家的驕傲,都取決於幾行開創性的計算機代碼。

一份18英寸厚的列印文件顯示了控制阿波羅登月艙降落到月球的部分計算機代碼。圖:《華爾街日報》TONY LUONG

人類從來沒有在0和1的代碼上冒過這麼大的風險。然而,他們決定相信機器和代碼,最終,阿姆斯特朗和奧爾德林作為第一批登上月球的人收穫了榮耀。

「軟體拯救了任務,」85歲的弗雷德·馬丁(Fred Martin)說,他負責了阿波羅制導程序開發的大部分內容。

沒有阿波羅飛船上的電腦,就沒有登月,就沒有勝利的第一步,就沒有人類太空旅行的高潮。50年後來看,登月是人類的偉大勝利,也是機器的勝利,標誌著計算機歷史上最重要的15分鐘。

「他們把計算機放在這個雄心勃勃的項目的中心,」計算機歷史博物館軟體歷史中心主任David C. Brock說。「這是對這項技術的真正考驗,也是對每個人的信念和願望的考驗。」

阿波羅11號登月艙「鷹號」在分離後,開始在計算機引導下降落到月球表面 來源:NASA

阿波羅制導計算機(AGC)是第一臺數字飛行計算機、是迄今為止最先進的微型計算機、是第一臺使用矽晶片的計算機,同時也是第一臺機組人員生命依賴於其功能的機載計算機。

今天,如果你將 NASA 使用的計算能力與任何常見設備進行比較,都會覺得不可思議。比如,iPhone 的處理能力是 Apollo 11 計算機的 100,000 多倍;憑藉 4GB 的 RAM,iPhone擁有超過Apollo 11 計算機100萬倍的內存,而 512GB 的存儲空間則相當於Apollo 11 計算機的700萬倍。

任何現代設備都具有比早期機器更大的原始計算能力,但是 Apollo 計算機非常強大,可靠,並且完成了它的任務。你無法用智慧型手機將宇宙飛船引導到月球上。

阿波羅制導計算機(AGC)和DSKY

阿波羅制導計算機由MIT儀器實驗室開發,它的外表就像是一個由兩部分組成的黃銅手提箱,裝在太空飛行器的命令模塊(CM)和月球模塊(LM)中,總長61×32×17 釐米、重 14 公斤。太空人使用數字顯示器和稱為 DSKY 的鍵盤與 AGC 通信。

安裝在指揮艙控制面板上的AGC的顯示屏和鍵盤(DSKY)接口

命令模塊中的AGC有兩項主要工作。首先,它計算了到達月球的必要航線,由太空人在飛行中使用的六分儀進行天文測量校準,這個六分儀與航海中使用的六分儀沒有什麼不同。他們會把月亮、地球或太陽排成一條直線,用另一條線確定恆星的位置。計算機將精確地測量這些角度並重新計算其位置。

其次,命令模塊控制了太空飛行器的許多物理部件。AGC可以與太空飛行器內的150個不同設備進行通信,這是一項極其複雜的任務。

阿波羅制導計算機中的扁平封裝集成電路

最初的重點放在硬體上。MIT儀器實驗室的計算機設計師決定使用集成電路或矽 「晶片」 來構建計算機。

Apollo 中使用的矽晶片內部的微觀視圖

現在來看,這似乎是顯而易見的,因為今天我們在任何消費設備中享受著集成電路技術的成果。但是在 20 世紀 60 年代早期,當做出這個決定時,矽晶片未經測試,其可靠性是一個很大的未知數。

儘管有爭議,MIT儀器實驗室的工程師對他們的設計進行了有力的辯護,並說服了NASA。實驗室與發明集成電路的飛兆半導體公司密切合作,以確保可靠性。

晶片在嚴格的溫度,振動,汙染等條件下進行了測試。最終,命令模塊和月球模塊上的阿波羅制導計算機在任務期間沒有遇到過硬體故障。

太空人通過 DSKY 與 AGC 通信

太空人通過DSKY與計算機通信,輸入數字,然後得到回覆。用戶界面系統依賴於一系列的程序代碼,以及「動詞」和「名詞」代碼。動詞是計算機可以做的事情(如「78 UPDATE PRELAUNCH AZIMUTH」)。名詞是數值量或測量值(「33 TIME OF IGNITION」)。

阿波羅制導計算機中動詞和名詞的部分數字代碼列表,列印在側板上供快速參考

同時瑪格麗特·漢密爾頓 (Margaret Hamilton)領導軟體設計。當人們認識到軟體對於登月任務真正重要時,漢密爾頓的團隊擴大到了350人。他們編碼的系統非常先進。

瑪格麗特·漢密爾頓領導350人的軟體團隊

但它的大多數 「軟體」 實際上都是硬連線的:程序是編織的,用微小的甜甜圈形狀的金屬 「核心」 像串珠一樣串在一組電線上,電線在圈外面代表0,電線穿過圈裡面代表1。

一旦製作完成,就無法改變繩子內部的單個位,因此對軟體的任何更改都需要重新編織一條全新的繩子,而且最後一刻的更改是不可能的。

早期版本的阿波羅制導計算機,稱為AGC-3

47年了,人們為何不再登月了?

1972年12月11日,阿波羅17號在月球表面著陸。這是人類最後一次載人登月,也是人類最後一次離開低地球軌道。40多年來,人們再未踏足月球的表面。在邁出了「人類的一大步」之後,我們為什麼不再登月了?

原因眾說紛紜,但一般認為以下幾個因素是人類登月計劃沒有再次實施的重要原因。

首先就是太貴了。作為阿波羅計劃的主要實施者,NASA在該計劃上一共花費了240億美元,大約相當於今天的1800億美元,在20世紀60年代中期,美蘇之間太空競賽達到最高潮時,NASA每年經費佔到美國聯邦總預算的4%以上,這在今天是完全不可想像的。在阿波羅計劃實施期間,總共僱用了約40萬人,與全美20000家公司、大學和政府機構有著合作關係。

阿波羅計劃是美國歷史上和平時期最大規模的一次大動員。儘管美國宇航局是一個民用機構,但阿波羅計劃成功的實施,是因為它資金充足,而且實施的是半軍事化管理模式:除了一人之外,所有太空人都是從空軍飛行員和海軍飛行員中精心挑選的; 許多行政人員都在二戰中在軍隊中服役。在美國現有體制下,這種高度集中、準軍事化管理的動員模式很難長期維持。

在此期間,人類對航天探索的大方向也發生了重大變化,近地空間成為各大強國爭奪最激烈的新戰場,而且技術成本遠遠低於登月。在當時的冷戰背景下,前蘇聯已經在將準備與美國打擂臺的登月飛船改裝成近地空間站,美國的太空戰略發生重大轉移,導致阿波羅18號-20號直接被砍掉。

最後,除了邁出了「人類的一大步」之外,月球很大程度上就是一片荒地,沒有發現有探索價值的跡象,同樣的事情,美國已經前後做了6次,花了不少錢,虧本買賣也不能總做起來沒完。

總而言之就是,登月花錢太多,消耗太大,收益太少。另外,和你一直較勁的老對手已經主動放棄了,找不到繼續登月的理由了。

千百前來,人類對月球的探索從未停止,以前如此,現在亦是如此。

人類下一次登月又將會是何時呢?

相關焦點

  • 阿姆斯特朗的腳印還在月球,為何「人類的一大步」會存在幾十萬年
    1969年7月16號,隨著一聲巨響,在巨大的土星五號推動下,阿姆斯特朗,奧爾德林和柯林斯三名太空人奔向了月球,開始了人類的第一次傳奇之旅。在經過了長達五天的飛行後,1969年7月21號,太空人阿姆斯特朗乘坐阿波羅11號登陸月球,在月球靜海基地著陸,這是人類史上首次踏足地球以外的星球。而阿姆斯特朗也由此成為了人類史上第一個踏足地外星球的存在。
  • 人類的一大步:一本記錄阿波羅11號登月的手冊
    50年前,1969年的7月21日,人類第一次登上月球,阿波羅11號的這一刻完全可以勝任「歷史性的時刻」這樣的形容詞。尼爾.阿姆斯特朗的身影被反射在巴茲.奧爾德林的頭盔上。 「在那個時刻,我們相信人類能夠團結一致,朝著一個共同的目標不斷前進,記錄阿波羅11號任務的所有圖像和聲音,就代表了這種希望。」
  • 阿波羅11號升空!人類首次載人登月獲得圓滿成功
    阿波羅11號是第一艘成功登月的載人飛船。由指揮官尼爾·阿姆斯特朗和登月艙飛行員巴茲·奧爾德林組成的美國機組,於世界標準時間(UTC)1969年7月20日20:17乘坐阿波羅登月艙降落在月球表面。阿波羅11號於6月16日13:32被位於佛羅裡達梅裡特島的甘迺迪發射中心的土星五號火箭發射,這是NASA阿波羅計劃的第五次載人飛行項目。阿波羅飛船分為三部分:一個指揮室(CM),配有三個太空人的倉位,這也是唯一會返回地球的部分。一個供給室(SM),為指揮室提供推動力、電力、氧氣和水。
  • 【登月50周年】 人類不僅邁出了一大步,還在月球吃了第一餐!
    資料來源/ Vision Christian Media、http://www.cbn.com、基督教論壇報  等編輯排版 /隨手君(ID:suishouchuanfuyinjun)「這是我的一小步,卻是人類的一大步。」
  • 「嫦娥」一小步代表中國航天一大步
    這是中國航天史上一次滿載而歸的科學探索,也是人類太空探索中一段智慧與勇氣兼備的華彩樂章。「嫦娥」一小步,代表中國航天一大步。作為中國複雜度最高、技術跨度最大的航天系統工程,嫦娥五號接過嫦娥四號的探月「接力棒」,闖過地月轉移、近月制動、環月飛行、月面著陸、自動採樣、月面起飛、月軌交會對接、再入返回等多重難關,實現了我國航天史上多個「首次」,收穫了研究月球乃至太陽系行星的寶貴科學樣品。
  • 阿波羅11號不為人知的幾大趣聞解密
    國外媒體通過圖文揭秘了阿波羅11號登月任務的一些趣事。尼爾-阿姆斯特朗是否說錯了「臺詞」?
  • 從「深藍」到「阿爾法狗」, 人工智慧發展的一大步
    計算機的勝利   超越人類的思維限制,創造出一種能夠自我學習、自我進步的超級大腦,一直是人類的終極夢想。5月11日,深藍以3.5比2.5的比分贏得了第六場比賽。   對於這場勝利,「深藍」設計者許峰雄認為,這主要是依靠「深藍」強大的計算能力窮舉所有路數來選擇最佳策略:「深藍」靠硬算可以預判12步,卡斯帕羅夫可以預判10步。
  • 阿波羅1-17號大盤點
    說起阿波羅計劃,我們首先想到的便是阿波羅11號所成功完成的載人登月任務,而知名度僅次於阿波羅11號的,應該就是阿波羅1號,原因就在於阿波羅1號是個悲劇,1967年1月27日,阿波羅1號在發射排練測試中,由於操作失誤,電火花導致了充滿純氧的指令艙著火,而這個艙門偏偏是向內開啟的,但熱空氣所產生的巨大壓力,使艙內的三名太空人根本無法打開艙門,最終三名太空人全部犧牲,阿波羅計劃也被暫時叫停。
  • 阿波羅11號金牌、登月錄像 | 雙雙逾RMB 1,000萬成交
    「阿波羅11號」登月之時,三位太空人各自帶了一枚金牌一同升空,以茲紀念。三枚金牌設計相同,正面是「阿波羅11號」的任務徽章,背面則是任務日期以及三位太空人的姓氏。▲ 金牌的「阿波羅11號」徽章是初版設計,右面是最終版本美國太空人帶金牌升空的習俗,始於「阿波羅7號」任務。
  • 6個月終於等到你,入手歐米茄阿波羅11號50周年紀念版
    @mumu魏: 等了六個月的歐米茄阿波羅11號50周年紀念版,終於到貨啦!從手錶到表盒,細節設計讓人愛不釋手!讓我們穿越到50年前, 1969年7月20日下午4時17分43秒(休斯頓時間),Apollo 11 登月艙穩穩落在月球表面。
  • 揭秘阿波羅18號的驚天秘密:阿姆斯特朗受外星人脅迫(圖文)
    進入公眾號可查看全部歷史消息!「我的一小步,人類的一大步。」人們對於這句話應當是特別的熟悉,這是阿姆斯特朗登上月球時說的一句話。至今,對於他登上月球的事跡一直存在著各種爭議。有人推測過,阿姆斯特朗在月球時可能是受到外星人的脅迫。而另外一些資料也顯示,月球存在著生命,且存在著可怕的東西。那麼,阿波羅18號到底有什麼驚天的秘密呢?
  • 阿波羅11號,除了登月第一人,你還記得誰?
    1969年7月20日註定是傳奇的一天,因為它見證了人類歷史上第一次大型非神話式的登月活動——阿波羅11號將人類送到了月球上。
  • 登月50年特別篇-阿波羅計劃背後的女程式設計師
    這是有史以來人類第一次踏上外星球,雖然已過去整整50年,但那句「我的一小步,人類的一大步」的經典獨白,仍然迴蕩在每個人心中。(阿波羅11號登月照片)可正是這樣一個具有跨時代裡程碑意義的阿波羅計劃,卻曾兩度因為程序問題差點機毀人亡。幸運的是,有一位女程式設計師臨危受命、挺身而出,拯救了這兩場浩劫。可以說沒有她,就沒有阿姆斯特朗的成功登月。
  • 50年前,人類在月球上邁出了一小步|Zoom
    此時,他的腳已經踏在了月球靜海鬆軟的表面——這是第一個踏上月球的人類。隨後,他的搭檔小埃德溫·E·奧爾德林也踏上了這片土地。藉助阿波羅11號,人類首次登月成功。阿波羅11號發射於1969年7月16日,於7月20日下午4時17分43秒(休斯頓時間)登月。阿姆斯特朗從打開登月艙到踏上月球的過程被攝像機記錄了下來,讓全世界見證了人類的這一大步。
  • 為了去到更遠的深空……從阿波羅1號到阿波羅11號經歷了什麼?
    起飛後大約三個半小時—— 阿波羅11號終於擺脫了地心引力,指令艙將登月艙從土星5號火箭的頂部分離出來,土星5號完成了它的使命。開始著陸準備—— 阿波羅11號正在慢慢向月球靠近,尼爾·阿姆斯特朗看向窗外,月球近在咫尺。 「然而在最後關頭,我們突然發現一個問題——他們要降落的地方並不理想。」
  • 阿波羅11號登月是否是個驚天騙局?幾十年來,人們是這樣爭論的
    1969年7月16日,巨大的「土星5號」火箭載著「阿波羅11號」飛船從美國卡納維拉爾角甘迺迪航天中心點火升空,開始了人類首次登月的太空徵程。美國太空人尼爾•阿姆斯特朗、巴茲.奧爾德林、麥可•柯林斯駕駛著阿波羅11號宇宙飛船跨過38萬公裡的徵程到達了月球表面。
  • 阿波羅登月從頭到尾都是一個騙局嗎?
    來源 | Catia科技迷1969年,美國人發射的阿波羅11號載人飛船順利抵達月球,而作為第一個登上月球的地球人——阿姆斯特朗表示
  • 美國阿波羅計劃和蘇聯的「聯盟」登月計劃
    不過,美國仍然是地球上第一個也是唯一一個讓太空人登上月球的國家。美國阿波羅計劃美國在1960年代開始的「阿波羅」登月計劃,當時耗資250億美元,共有40萬人參加。1969年7月20日,美國阿波羅11號飛船降落在月球,太空人尼爾·阿姆斯特朗(Neil Armstrong)在月球表面踩下印記。這是人類首次成功登月,阿姆斯特朗也留下了那句名言:「這是我的一小步,卻是人類的一大步」。
  • 登月50周年:「人類的一大步」到底是壯舉還是騙局?
    星系花園·巨蟹月·宇航寫在登月紀念日:關於50年前的「人類的那
  • 新民快評丨嫦娥五號一小步,或是全人類一大步
    美國阿波羅計劃帶回的土壤,距今30億年到40億年,堪稱「金華火腿」。而嫦娥五號帶回的月壤,位於月球風暴洋北側的呂姆克山脈,距今10億年至20億年前,堪稱「小鮮肉」。 換句話說,十多億年前,月球上到底發生了什麼,當時月球和地球的關係如何?當時的太陽系是什麼樣的?在中國這次帶回的月壤中,藏著無窮盡的秘密。