关键要点
- 阿波罗导航计算机是第一台完全基于硅集成电路运行的计算机。
- 创造阿波罗导航计算机的软件实际上建立了软件工程作为一个独立领域。事实上,该项目中的主要软件工程师之一margaret hamilton被认为是“软件工程”这个词的创造者。
- 宇航员与阿波罗导航计算机互动的dsky(发音为“dis-kee”)是键盘和gui的早期版本。
- 与智能手机中的处理器相比,agc的处理器强大了数千倍,但它仍然能够使人类登上月球。
当我们想到阿波罗任务时,首先想到的是踏上月球的历史性一步,然而没有阿波罗导航计算机,这一切都是不可能的。阿波罗导航计算机是一台数字计算机,其导航系统用于在阿波罗任务期间指导航天器沿着指定路线飞行。它是在1961年至1966年在查尔斯·斯塔克·德拉珀的指导下建造的。
阿波罗导航计算机是一台小型计算机,使用数字技术,允许宇航员向其输入指令以进行航天器的导航。令人难以置信的是,它的操作系统能够安排任务,纠正错误,并运行一个充当模拟器的机器。
快速事实
- 创建时间
- 1961年至1966年
- 创造者
- 查尔斯·斯塔克“doc”德拉珀,埃尔登·c·霍尔,拉蒙·阿隆索,哈尔·兰宁和其他人
- 最初用途
- 帮助阿波罗11号任务的宇航员从地球导航到月球,然后从月球返回地球
- 成本
- 每台20万美元
继续阅读,探索阿波罗导航计算机的完整历史和重要性!
阿波罗导航计算机:历史
dsky是键盘的早期版本,宇航员用它与阿波罗导航计算机互动。
©nasa / dennis taylor,通过维基媒体公共领域,许可证
如今每个人都知道1969年7月16日至24日的阿波罗11号任务是“人类的一小步,人类的一大步”,但很少有人真正欣赏到整个行动的非凡技术复杂性。在任务的策划者和设计师们需要解决的最困难的问题之一是成功地导航到月球并成功返回地球。毕竟,当一个人从地球飞往月球时,当一人从月球飞回地球时,他们并不是瞄准一个静止的目标。
为了在向移动目标前进时正确定位自己,首先需要不断更新的信息流,您可以利用这些信息来调整和校准自己的移动。一旦您了解到各种标志性物体在您移动过程中相对于您的位置和速度的变化方式,您就需要使用牛顿运动定律计算您和目标的惯性运动、速度和加速度,并利用这些信息到达目标。在整个旅程中,这些计算需要持续进行和重复进行。
请记住,当您的最终目标距离您250,000英里时(比如月球距离地球的距离),所有这些都变得至关重要。即使在计算中出现微小的错误也可能导致灾难性后果。
当然,仅凭肉眼判断月球地标的大小和与您的飞船的距离是几乎不可能的。在旅程中的任何时间点稍微错误地判断这一点,您都可能偏离航线,撞上一片巨石区域,甚至可能完全错过月球。
然而,无论航天飞船的飞行员多么有能力、足智多谋和聪明,这样一个令人眼花缭乱的复杂任务对于无需技术帮助的人类头脑来说是无法完成的。为了到达月球,阿波罗11号宇航员需要数字计算机的技术帮助。
正是考虑到所有这些问题,阿波罗导航计算机才被创建出来。
阿波罗导航计算机:它是如何创建的
查尔斯·“道克”·德雷珀专门为太空任务创建了一台小型数字计算机。
不幸的是,还存在着另一个问题:20世纪50年代和60年代构建的电脑体积巨大。一个由巨大的真空管网络构建的计算机无法安装在宇宙飞船上,因为任何试图在火箭上放置这样的计算机都会占用其他关键任务设备的空间。为了把人送上月球,工程师必须找到一种方法使计算机大幅缩小。
这些挑战没有能够阻挡查尔斯·斯塔克·“道克”·德雷珀。他坚信所有这些问题都可以克服,而且他有决心和创新能力来完成这个项目。他与麻省理工学院仪器实验室的一组工程师合作(在1972年改名为查尔斯·斯塔克·德雷珀实验室以纪念德雷珀),最终成功创建了一台数字计算机,它可以执行所有必需的计算,但尺寸仅约为22x13x6英寸,重量只有约70磅。
许多重要的步骤逐渐导致了这一技术奇迹的发明。在1961年,当agc的工作开始时,大多数计算机仍然使用模拟技术。由于模拟计算机的内存、处理速度和准确结果的能力通常都很低,而且功耗非常高,很快就变得明显,模拟计算机行不通。团队必须采用数字计算机。
eldon c. hall,agc项目的首席设计师,想到了在计算机中使用集成电路的主意,并开始大力推动这个想法。霍尔知道,费尔德半导体从20世纪50年代末起就一直在生产集成电路,这是由公司的联合创始人罗伯特·诺伊斯在硅片上放置晶体管和其他电路元件制造的第一批微芯片。这些芯片不仅在当时提供了远远超过其他可用芯片的处理能力,而且它们非常小巧轻便,很大程度上解决了困扰agc设计团队的体积和重量问题。
下一个启示来自德拉珀在第二次世界大战和1950年代期间设计高射炮和导弹制导系统的工作。毕竟,如果计算机能够引导导弹到目标或追踪敌机的移动,它们也可以引导火箭到月球。作为概念的证明,德拉珀设计了一颗火星探测器。这引起了美国政府的注意,并使他和他在仪器实验室的团队赢得了设计agc的合同,该合同最终于1961年8月授予。
项目开始时,德拉珀不仅寻求了霍尔的帮助,还寻求了硬件工程师约翰·米勒的帮助,他负责设计agc的惯性测量单元,该单元将在太空中定位阿波罗11号航天器;拉蒙·阿隆索创建了agc的绳状存储器系统和宇航员输入计算机命令的dsky系统;艾伯特·霍普金斯是编写agc操作系统和输入输出代码的软件工程师。
哈尔·兰宁还被召来设计操作系统。拉尔夫·雷根和大卫·霍格也被聘请来设计导航系统,霍格负责构造陀螺仪装置,雷根负责监督操作。包括米尔特·特拉格瑟、玛格丽特·哈密尔顿、杰克·加尔曼和理查德·巴廷在内的许多其他工程师也在项目中扮演重要角色。
到1966年1月,agc的软件已经完成,使用agc进行测试飞行早在同年8月就已经开始。然而,阿波罗8号——1968年12月向月球发射载人航天器的任务——是对其实用性的第一次真正测试。当这个任务被证明取得了巨大成功时,许多之前对将控制权交给agc持怀疑态度的宇航员被其强大的功能所说服。
阿波罗导航计算机:工作原理
阿波罗导航计算机专为阿波罗任务而创建。
©the original uploader was grabert at german wikipedia., public domain, via wikimedia commons – 许可协议
要理解阿波罗导航计算机的工作原理,首先需要基本了解阿波罗11号任务(以及其他登月任务)的步骤。首先,土星v火箭从地球起飞并飞入太空。阿波罗航天器附着在火箭上,然后在太空中与火箭分离。航天器本身由服务模块、指令模块和登月舱组成。服务模块为航天器提供推进力。指令模块是宇航员在太空中的两段旅程中的居住地。
当机组接近月球时,登月舱将与指令舱分离。指令舱将继续环绕月球轨道,一名宇航员将留在指令舱内为返回地球做准备,而其他人将在登月舱上并实际登陆月球。由于登月舱和指令舱必须在太空中移动,它们各自需要携带agc的一个版本来辅助导航。
要理解agc的技术规格和操作模式,必须记住,它的许多特点要么是为了项目而完全发明的,要么是在不久前才发明的。核心绳索存储系统是一个非常近期的发明,dsky是专门为帮助宇航员使用计算机而创建的。dsky要求宇航员在接口中输入两位数的指令,其中一位数字代表“动词”,另一位代表“名词”。动词是计算机要执行的操作,名词是指将受到该操作影响的数据。航天器底部的dsky接口将向惯性测量单元传递信息,后者将使用六分仪来对齐航天器。
以下示意图说明了dsky接口的外观和每个部分的功能。
这个dsky接口示意图展示了它的外观和每个部分的功能。
实际的计算是通过三个输入nor门来完成的,这些门只有在两个二进制输入都为0时才会产生1的二进制输出,其他情况下产生的输出均为0。电流驱动器用于配置可擦除存储器,双极晶体管用于选择可擦除存储器。这个示意图说明了电路和逻辑门的工作方式:
软件代码使用汇编语言编写,并主要存储在机器的绳索存储器中。计算机的操作系统由hal laning设计,因为它能够按照时间表安排任务,实时纠正错误,并在需要时自动中断任务以执行其他任务,所以在当时是具有革命性意义的。更令人印象深刻的是,该系统可以运行一个作为某些操作模拟器的虚拟机。模拟器可以简化代码。借助这些虚拟伪指令,模拟器创建了一个更加用户友好的系统。
apollo导航计算机:历史意义
仅仅agc被用于将有人驾驶的航天器降落在月球并安全返回地球这个事实就足以确保其在历史上的地位。但是,这个重要事实并不能完全揭示整个故事。
在agc诞生之前,计算机是庞大的怪物,经常占据整个房间。如今,计算机和处理单元似乎总是随着时间变得越来越小——这是与摩尔定律密切相关的观察——对我们来说几乎是自然而然的,不会引起惊讶。然而,在20世纪60年代,情况远非如此。在阿波罗任务的物理限制下工作,agc工程师被迫建造一个比以往任何一台计算机都要小而强大的计算机。他们的成功为现在的智能手机、笔记本电脑、智能手表和门铃安全系统的趋势提供了巨大的推动力。
为了进一步强调这一点,阿波罗导航计算机在几个领域都是无可置疑的先驱。首先,它是第一台使用集成电路的飞行计算机。由于这台计算机是登月的不可或缺的一部分,它自然引起了对使用集成电路的极大兴趣,并最终开创了模拟计算向数字计算的过渡。因此,它对这一转变所带来的无法计算的好处负有责任。
第二,agc在必要的压力下开创了整个用户-计算机交互领域。通过 dsky,宇航员必须使用键盘将命令输入计算机。当它需要更多用户输入时,计算机会在屏幕上闪烁数字以吸引注意力。最终,我们今天珍视的关于人们如何使用计算机的一切,从道格拉斯·恩格尔巴特(douglas engelbart)在这个领域上的重要和创造性的想法,到键盘、鼠标、图形用户界面,甚至互联网本身,都可以追溯到这个根源。
最后,尽管人们喜欢大肆炒作这样一个事实,即仅凭原始规格来判断,agc的计算能力比如今的智能手机弱上许多倍,但这种简单化的否定完全忽略了agc在当时的创新性。例如,为agc工作的软件工程师不得不在许多领域开创新局面。这台计算机的源代码必须在并行运行多个进程之前就运行,而这个概念直到计算机的主流领域才出现。它还必须具有内建的错误检测和纠正系统,这个功能顺便一提,使阿波罗11号任务免遭了灾难。不仅编写的软件种类,而且编写的方式 – 协作,许多人在彼此的工作基础上构建 – 继续影响着软件开发至今。
简单地说,无法过分强调阿波罗导航计算机的历史重要性。