【0】前言

处理器一般分为商业级、工业级、军用级以及宇航级等多个标准,随着要求的提高,并不是说性能就会越强,而是应对苛刻环境的能力逐步提升。

从性能方面来说,常规商业级(英特尔、AMD这些)处理器的表现最为出色,但它们也最“娇贵”,不抗辐射,怕极温,周边配套元件也有同样的毛病。宇航级CPU需要兼顾一整套系统都要能在太空的恶劣环境(各种高能射线、高低温)中保持稳定运行数年甚至数十年,所以在此前提背景下还要追求超高的性能,几乎是天方夜谭。

【1】1962~1966年——“双子星”号飞船(Gemini Spacecraft)

▲ “双子星”号宇宙飞船作为NASA(美国宇航局/下同)第二个载人航天计划“双子星”的重要组成之一,“双子座”制导计算机的处理器参数也比较明确,CPU是一颗RTL级离散型IC,运行频率为7.143KHz,存储容量为19.5KB(未明确内存/外存)。

【2】1961~1972年——“阿波罗”号飞船(Apollo spacecraft)

▲ “阿波罗”号宇宙飞船作为NASA第三个载人航天计划“阿波罗”的重要组成之一,其计算机配置更像是“双子星”的升级版,CPU同样是一颗RTL级离散型IC,运行频率提高至2.048MHz,内存容量为4KB(RAM),存储器容量为73.73KB(ROM)。

【3】1972年——先驱者(Pioneer)10号&11号

先驱者10号是NASA于1972年3月2日发射的一艘航天飞行器。它是第一艘越过小行星带的飞行器、第一艘近距离观测木星的飞行器,并于1973年12月3日发回了第一组木星的近距离拍摄的图像,于2003年1月发回最后一组信息后失联。1983年6月13日,先驱者10号越过海王星轨道,之后探测器按惯性驶向68光年外的“毕宿五”恒星,预计需要200万年。先驱者11号于1973年4月5日以类似的轨迹发射,目标是银河系中心。

▲先驱者10号/11号采用逻辑晶体管离散型定制处理器,这类CPU是由许多芯片(指令集功能)组合实现的,具体参数未公布。早期有猜测是英特尔的4004,但之后被否定了。

【4】1975年——“海盗号”火星探测器(VikingProgram)

“海盗号”是NASA的火星项目之一,包括两个无人空间探测任务:海盗1号和海盗2号。每艘航天器均包括轨道器和着陆器:轨道器主要在火星轨道工作,负责发回图像用于着陆点选择。着陆器与轨道器分离,进入火星大气在选定的着陆点软着陆,着陆器部署后,轨道器在轨道上继续成像和完成其他科学任务。

“海盗号”轨道器采用通用电气的18位串行处理器计算机,每秒可以执行25000条指令。“海盗号”着陆器采用两台“霍尼韦尔HDC-402”计算机,具备制导、控制和排序等多维功能,拥有18K/24位电镀金属丝存储器,处理器信息不详。

▲ “海盗号”计算机系统中采用不同形式封装的处理器形态(左/中/右)。这类处理器能用金肯定就不会用其他金属。

【5】1977年——旅行者1号(Voyager 1)

“旅行者1号”是由NASA研制的一艘无人外太阳系空间探测器,重815千克,于1977年9月5日发射,截至2020年7月仍正常运作。它曾到访过木星及土星,是提供其卫星高清晰照片的第一艘航天器。它的主要任务在1979年经过木星系统、1980年经过土星系统之后,结束于1980年11月20日。2012年8月25日,“旅行者1号”成为第一个穿越太阳圈并进入星际介质的宇宙飞船。该飞行器预计将于2025年与地球失联,成为星际中的“流浪探测器”。

▲ “旅行者”携带的“金唱片”,上面记录了地球的影像与声音(部分节选)。

★ 左:商店中的女人;

★ 中:人类的进食形态;

★ 右:牛顿的《自然哲学的数学原理》第三卷《论宇宙的系统》第6页。

“旅行者1号”使用了3套计算机子系统组成的综合计算机体系,与 “海盗”号轨道飞行器相似度很高,仅仅在部分环节进行了加强,比如在CPU和存储器之间插入一个混合缓冲接口电路单元,该单元可以拦截指令以增加索引寻址能力(以牺牲其他指令为代价),并加速使用空闲周期的指令。在数据计算子系统中使用的第三台计算机采用一种新的定制4位CMOS微处理器,拥有128个寄存器和16位存储器。它每秒大约运行80000条指令。网传的英特尔4004处理器显然也不正确。

【6】1989年——“伽利略”木星探测器

伽利略”木星探测器是1989年从“亚特兰蒂斯”号航天飞机上发射的,是美国航天局第一个直接专用探测木星的航天器。也是美国宇航局发射的最成功的探测器之一。它于1989年升空,1995年12月进入环木星轨道。它旅行了28亿英里,它的终结日期比原来预计的晚了六年。“伽利略”号绕木星飞行了34圈,观测结果大大增进了人们对木星和四颗伽利略卫星的了解。

▲ “伽利略”号采用的RCA CDP 1802处理器,该处理器应用在“伽利略”号的数据和命令控制子系统中(外形仅供示意)。

为什么说“外形仅供示意”呢?因为这只是常规版本的RCA-1802,显然无法适用于宇宙的高能辐射环境,因此“伽利略”号真正采用的1802处理器应用了一种叫“Silicon on Sapphire(SOS)”的蓝宝石上硅薄膜技术,具体形态不得而知,但我们还是找到了NASA早年的电路板照片。

▲ “伽利略”号采用的数据和命令控制子系统的电路板。“伽利略”号一共使用了6颗1802处理器,2颗应用于高阶模块,4颗应用于低阶模块。即使有电路板照片,似乎也不知道1802具体的方位在哪儿。电路板共集成176KB的内存。

【7】1989~2011年——航天飞机(SpaceShuttle)

(哥伦比亚号/28、挑战者号/10、发现号/39、亚特兰蒂斯号/33、奋进号/25)

▲ “航天飞机”(系列)也是NASA推出的可供往返重复使用的低地球轨道航天器系统。从1981年到2011年,五个完整的航天飞机轨道飞行器从佛罗里达州的肯尼迪航天中心(KSC)发射升空,共执行了135次任务。执行任务发射了许多卫星、行星际探测器以及哈勃太空望远镜(HST)。

▲ “航天飞机”(系列)由于属于“低地球轨道航天器系统”,因此对配件要求没有那么苛刻,此时相对常见的英特尔处理器登场了!这一系列采用了IBM的APA-101S计算机系统,每部航天飞机配置5台(4台标准工作用机/1台为备份用机),处理器直截了当用了英特尔的8086系列处理器(早期),这些计算机的功能主要是在驾驶舱中显示信息和数据。后续被更新至英特尔的80386系列处理器。

▲ 英特尔于2014年在社交网站上发布动态,“你知道吗?@NASA 曾在航天飞机项目中使用英特尔8086处理器,直到该项目于2011年终止”。

★ 此8086、80386并非市面上烂大街的那些古董,虽然参数差不多,但都是航空航天军工级设计的产品,除了美国本土外,其他国家一般是很难见到的。

【8】1990年——哈勃太空望远镜(HubbleSpace Telescope)

▲ 全世界最著名的太空望远镜——哈勃。

▲ 哈勃望远镜使用了一套叫DF-224的计算机系统,初次执行任务时搭载了一颗15MHz的80386处理器,目前已经更新至25MHz的英特尔80486(截至2020年7月)。

【9】1998年——国际空间站(InternationalSpace Station)

▲ 国际空间站用的CPU也只是一个英特尔的80386SX,主频20MHz,同时还附带一颗80387协处理器。稳定耐用就好,能起到关键的控制、数据采集及基本处理就行,各种复杂计算那都是地面控制中心做的事儿。

▲ 这是一颗早年面向消费级市场的80386SX-20MHz处理器及其相对应的主板。

▲ 这是国际空间站采用的80386SX-20MHz处理器及其对应的主板、内存系统,全部镀金处理,可以稳定用上几十年。

★ 现在你应该知道了各种科幻片里面炫酷的宇宙飞船、飞行器的操控台用的是啥CPU了吧?一般都是80386、80486之类的老古董。

★ 最后,解答一下为什么这些高精尖的设备依然执着于使用如此低性能、老旧的计算平台:

(1)飞行器本身并不需要多少处理能力,它们只需要完成最简单的指令下达及响应作用即可,复杂的轨道计算、主信息处理可以交给地面控制中心;

(2)由于航天器的研发周期非常长,所以硬件用十几年、几十年前的非常正常;

(3)需要尽可能低能耗、低需求且辐射、高温耐受度高,稳定、耐用非常关键,“旅行者1号”、“伽利略探测器”之所以都使用了CMOS处理器,其实NASA并不乐意,但这几乎是当时唯一的选择;

(4)既有的成熟方案直接套用省时省力省经费。