1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

你手机的处理器快是快,但要探访冥王星重点不是这个

本帖由 漂亮的石头2015-07-20 发布。版面名称:知乎日报

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    486,304
    赞:
    46
    如何看待造访冥王星的「新视野」号使用的 CPU 为初代的 PS1 游戏机 CPU?

    [​IMG] 北极,Simple Gifts

    我认为媒体犯了个错误,New Horizons(日报注:即新视野号)上用的确实是与 PlayStation 上架构相似的 CPU,但二者差距是比较大的。

    新闻链接中称:

    这颗 MIPS R3000 CPU 和初代 Play Station 的型号是一致的 ,原型都是 Mongoose-V 芯片 。​

    这种说法有问题。Mongoose-V 是一款航天用的抗辐射 CPU,它确实是基于 MIPS R3000 实现的,但 Mongoose-V 和 PlayStation 则没有太大关系,只能说都用的是基于 MIPS R3000 的 CPU,但不能说都用的是 Mongoose-V,具体这三样东西的差别,可以参见:PlayStation (console)R3000Mongoose-V

    MIPS R3000 用过的设备其实还有很多,包括:

    DEC(日报注:Digital Equipment Corporation,美国 DEC 公司)的一种工作站,大概在上个世纪 70~80 年代左右,现在国内基本上看不到,都是老古董。

    Ardent(日报注:Ardent Computer Corporation,一家美国公司)的计算机,按分类应该属于小型机,也是跟上个世纪 80 年代的产品。

    其余的可以看 MIPS R3000 的英文词条,还有很多。因为它实在太古老的,我相信大多数人都没见过真机,就算是有真机,应该也很难跑起来了(举个例子:有多少人见过汉卡?)。

    所以,就我个人来看,New Horizons 上用的这个 CPU 跟 PS 的联系不算太大,况且 MIPS R3000 还有其它别的应用,并非专门为了 PS 而设计,只能说是 PS 恰好用了 MIPS R3000 而已。而且二者性能参数差别很大。(准确的说 MIPS R3000 应该算是一种架构名字,类似如今的 Haswell、P4、A53 等等)

    关于航天器硬件配置的问题,知乎上有很多,我自己回答过的就有好几个:

    太空计算机为什么性能都特别低?

    怎么评价我国太空计算机配置?

    神舟飞船上的计算机使用什么操作系统,为什么是自研发不是 Linux?

    为什么好奇号的计算机系统只用到了核心频率最高为 200MHZ 的处理器,256M 内存?

    航天器上的电子设备最重要的就是可靠性,其余的都是次要的。航天器的计算机不追求高速度,不使用最新的产品,只是使用上市并测试很久的设备,以保证可靠性。

    由于太空中没有大气层保护,会有各种宇宙射线、高能粒子干扰,所以航天器的 CPU 设计时的重要一环是要抗干扰,抗干扰的方式包括:

    1. 给 CPU 加上抗辐射封装;

    2. 使用 SRAM(日报注:Static Random Access Memory,静态随机存取存储器)而不是 DRAM(日报注:Dynamic Random Access Memory,动态随机存取存储器),现在用的 DDR(日报注:Double Data Rate双倍速率同步动态随机存储器)就属于后者因为它需要频繁刷新、并且使用电容而更容易出错;

    3. 使用带校验功能的内存;

    并且在航天器的硬件设计方面,一般都采用冗余备份或者多 CPU 仲裁(三个核心运行相同的内容,当结果不一致时三取二)。New Horizons 上采用的方案是冗余备份,New Horizons 上有两套计算机系统,一套用于飞行控制,另一套用户数据处理,每套系统里都各自有备份机,所以实际上是四套计算机系统(参见:New Horizons)。

    考虑到稳定性的需要,航天器计算机的配置基本上是够用就行,因为高频、高集成度带来的复杂度提升会影响计算机的可靠性,所以航天器的 CPU 配置都非常低:

    卡西尼 - 惠更斯探测器:土星探测器,并释放登陆装置到土卫六上,这个探测器的控制计算机是MIL-STD-1750A,这个计算机的 CPU 是一个主频在 1MHz 到 10MHz 之间的 16 位处理。

    阿波罗计划:计算机系统是Apollo Guidance Computer,16 位,主频 2MHz,包含一个 2K 的 RAM 和 36K 的 ROM

    哈勃望远镜:DF-224,主频 1.25MHz,32K 内存,在 1999 年换上了 25MHz 的 486CPU

    好奇号:IBM RAD6000,256M 内存,2G 的 Flash 外存,CPU 计算能力能达到 400MIPS,算是目前航天器里的顶级配置。

    天宫一号:详细资料没有公开,可以推测是一款 SPARC 架构的处理器,公布的信息有:主频 10MHz,2M 内存。

    可能有人会有疑问说这么差的性能够用吗?实际上如果一台计算机没有图形界面,只做飞行控制处理的话,其性能要求很低,目前个人电脑的性能很大一块都被图形占用了。航天器的操作系统一般规模都在几十 KB 到几百 KB 左右,上 1MB 的都算很巨大的,所以这种配置足够了。虽然探测器也需要拍照,但图形处理的负担并不重,因为更大的瓶颈在数据传输,像 New Horizons 这么远的探测器,传输带宽应该是 KB 甚至不到 1KB,所以处理器的这边的负担并不大。类似的,现在随便一款新上市的笔记本,装上 DOS 跑起来都是非常快的。

    有句话这么说的:

    你手机的计算能力,已经超越了 NASA 1969 年拥有的计算能力的总和。NASA 用那些计算能力发射人上了月球,而你用更强的计算能力发射愤怒的小鸟去砸猪。​

    这句话说的基本正确,现代民用处理器的性能确实非常高,当年 NASA 的总计算能力可能都赶不上一个 i7,但我们用的 i7 不能放到太空中使用,一方面是抗干扰能力不强,另一方面太空中温差是非常大(嫦娥三号就需要面对昼夜 300 度的温差),民用设备无法正常工作。当然了,把 i7 放在地面上当服务器还是足够用的,那时候地面服务器的 CPU 性能也十分落后,当年的大型机的性能赶不上现在的手机,甚至有些高端的计算器都比不上。

    最后总结一下:

    航天器的计算机配置普遍偏低。即使在十年前,New Horizons 上的配置也是很低的,远远低于当时的民用设备(2005 年台式机 CPU 主频大概在 2GHz 左右),这是处于可靠性的考虑;

    PS 和 New Horizons 只是恰好用了相似架构的处理器,但二者有本质区别,同样是 ARM 的处理器,各家实现的都不完全一样。所以 PS 上的处理器拆下来也不可能放到航天器上使用,没有必要盲目崇拜 PS,媒体有一定炒作的嫌疑。

    查看知乎原文
     
正在加载...