
Photo credit: NASA
2019年7月是阿波羅11號登月50周年。
關于20世紀人類這次最偉大沒有之一的演出,也許用任何短文紀念和評論都是可笑的。
所以我只是攫取了自己關注的兩個小角落,分享一下自己的好奇心。
一、
阿波羅計劃1961年開始的時候,集成電路(芯片)才剛剛發明兩三年,計算機還是重達幾百公斤充滿整個房間的龐然大物。
因為飛船速度極快,登月艙從月球起飛后還要精準地和繞月球飛了幾十圈的軌道艙對接,靠人駕駛是不太現實的,把計算機裝進飛船是當時科學家和工程師挑戰的“不可能任務”之一。
其實那時的集成電路里面才一兩個晶體管而已,現在手機的芯片比它多一億倍。即使為了減輕重量(最后只有32公斤),這個導航計算機還是用了30000個零件,花了2000人年的手工裝配起來。

飛船主要是慣性導航,六分儀、陀螺儀和加速計提供測量數據,還有通過望遠鏡確認星星的位置,電腦進行實時分析處理。
二、
這臺機器是人類最早的用硅芯片做的計算機。1963年為它采購的芯片占美國當年芯片總產量的60%。這種用邏輯電路組成的CPU是今天我們用的電腦的雛形。

所以,登月工程極大促進了半導體業的發展。今天全世界人們的電子化生活,應該說都和這個項目有很大關系。
當年還沒有我們今天用的這種半導體內存和硬盤,那么數據存在哪里呢?這是最有意思的部分。
導航計算機的程序有36,864個字組成,紡織女工們用繩子打結的方式表示0和1,存儲了這些程序。顯然,這種存儲是只讀的,不能改。優點也很顯著,就是很結實不會壞。

CPU處理需要把程序臨時調入內存,女工們在繩子上套上小鐵環,通過磁力變化來區別0和1。登月用的內存是2K,比今天手機內存小了一百萬倍。

三、
導航計算機是由麻省理工學院開發的。當年的程序也不是像今天的碼農這樣敲進去的,而都是在紙上手寫的。紙上寫完,再做成穿孔紙帶輸入大型計算機做驗證,最后成功了再給女工們去打結。
下圖是展示寫這些程序用了多少紙。全部是匯編語言和一些數學算法,總共花了1400人年。從這里看,現在的程序員應該感到無比幸福才對。

阿波羅導航計算機顯示了其無與倫比的可靠性。在后來的多次登月活動中,幾乎沒有出現任何問題。
登月的源代碼有在Github公布,網上也有不少該計算機的模擬器,有興趣的同學可以體會一下。

四、
最后,我們看一下登月用的相機:瑞典哈蘇。宇航員在月球上使用的是配備蔡司F5.6鏡頭的哈蘇數據相機,這個相機在-65°C到120°C都可以正常工作。

因為返回地球的重量越輕越好,宇航員拍完照片會把膠片盒取下來,然后把相機扔掉。五次登月活動總共有12臺哈蘇相機被遺棄在月球上。
最后放一張登月全過程示意圖: