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台哈苏相机被遗弃在月球上。
最后放一张登月全过程示意图: