论文部分内容阅读
北京时间2013年12月14日21时12分,“嫦娥三号”月球探测器成功落月。在国内掀起一股航天热的同时,航天迷们又开始在心中进行各种YY。看到“嫦娥”和萌“玉兔”发回的照片,除7心潮澎湃之外,你是不是也很好奇,月球探测器里的计算机究竟是啥样的呢?
网络上曾经流行过这样一个段子:你的手机运算能力相当于“阿波罗”登月时美国宇航局NASA所有计算机运算能力的总和。但NASA把人类发射到了月球,你却发射小鸟去砸猪。
客观地说,这个段子说得挺在理,不信请听数据说话:
美国首次登月是在1969年,当年的超级计算机运算能力约为1.2MFLOPS(Million Floating-point Operations perSecond,每秒106次浮点运算),也就是每秒能计算1.2×106次浮点操作。而现在的智能手机,以土豪金iPhone5s为例,其GPU(负责绘图的处理器)计算能力能达至166.4GFLOPS(Giqa Floatinq—pointoperations per Second:每秒1O9次浮点运算),相当于每秒能计算1.664×1011次浮点操作。计算能力超前者十万倍。
另一方面,“阿波罗”号飞船的计算机更弱,CPU主频只有2.048MHz,这是什么概念呢?悄悄透露下,家用的带科学计算功能的计算器主频大概在1~20MHz之间。由此可见当年的航天器计算机也不过如此。
硬件要求
虽然有了上面的对比,但毕竟那是跟四十多年前的计算机做比较,现在的航天器计算机肯定已经进步了好大一截。那么对于我们关心的主角——“嫦娥三号”的计算机系统性能究竟怎么样呢?十分遗憾,由于中国国家宇航局CNSA还没有公布“嫦娥三号”的具体硬件配置,所以我们对它的计算机系统还不得而知,不过如果你是一个航天迷,如果你身边正好有一位“程序猿”,那么不妨通过对比NASA的“好奇号”火星探测器做一个大胆的猜测:
“好奇号”的主机CPU主频约为100~200MHz,每秒钟能执行指令约3500万个。内存为256MB,并有一个2GB的外部存储器。那么我们国家的“嫦娥”和“玉兔”的计算机配置也许与“好奇号”差不多。
这个数字比起当年“阿波罗”号飞船2MHz的主频确实有了很大的提升,但是似乎仍然很慢,那么为什么航天器不用好一点的CPU和大一点的内存、硬盘呢?要知道家用电脑CPU的主频都已经进入上GHz的时代,每秒钟执行的指令数也超过了10亿条了。当然,航天工程师们肯定是希望航天器的计算机能更牛一点,但之所以用这么低的配置肯定是有原因的。
原因之一:极端温度。
家用电脑都有风扇来帮助散热,如果温度太高的话,CPU会报警并强制关机。智能手机如果玩”愤怒的小鸟”太久的话,同样也会“发烧”。但这个温度无论如何都不会超过100℃。而太空中就完全不一样了,以月球表面为例,月球的白天,在太阳照射的地方,温度最高能达到120℃以上,到了晚上,没有太阳照射的地方温度能降到-100℃左右。更糟的是太空中是真空环境,要靠风扇散热那自然是不可能实现的,所以大多数情况下航天器的计算机必须保证能在如此巨大温差的环境下正常工作。
因此航天器计算机的芯片集成度就不能太高,集成度越高,就越容易被高温损坏,所以航天器计算机看上去弱弱的。
原因之二:宇宙射线和带电粒子。
当我们悠闲惬意地躺在床上,玩着手机或者抱着笔记本电脑上网的时候,不会感觉到任何来自太空的射线和粒子。因为地球表面稠密的大气层阻挡了射线并保护着各种生物。同时地球磁场把各种带电粒子沿着地球磁力线集中到南北极,当带电粒子撞击大气层中的原子和分子的时候,形成了美丽的极光,防止这些粒子产生更大的破坏。
在太空中的航天器可就没有这把保护伞了,大多数航天器要直接面对这些射线和粒子。这些粒子穿透芯片的时候会产生电磁干扰,如果粒子的能量很高,产生的干扰就会很大。我们知道计算机里使用二进制系统,通常情况下用高电压表示1,低电压表示0,带电粒子的强大能量会把某些O变成1,把1变成0,这种错误叫做位翻转。如果恰好出错的是一个重要的指令,那么航天器将可能出现严重故障。
为了防止这类错误,航天器除了把重要元件加上一些防辐射保护之外,还会将重要的数据进行多个备份,比如航天器的计算机系统里,可能会用多个内存组成一个阵列,把一个数据保存多份,一旦中间某一环节出现错误,就能及时纠正。所以航天器的内存看上去才会那么小。
原因之三:发射时的加速度和震动。
家用的电子设备通常经不起太严重的碰撞或者震动,尤其是硬盘这种带有机械结构的设备。可是火箭发射的时候加速度通常有几个g的大小(g是重力加速度),并且伴随着强烈的震动,因此航天器就不能用硬盘来储存数据了。
航天器一般情况下都使用类似U盘的外部存储器,这种存储器是由闪存(flash memory)组成,并且对比一般U盘具有一定纠错能力——这在太空中是十分必要的。
经此分析,试想在“嫦娥三号”计算机上玩“愤怒的小鸟”的同学可能要失望而归了。
软件系统
那么这么低配置的计算机,它的软件究竟会是什么样的呢?Wi ndows肯定是指望不上了,要知道一个Windows7的安装光盘容量比航天器的外部存储器容量还大。那么会是Linux吗?用的是哪个发行版本呢?Ubuntu?
我们先来了解,Linux是一种可裁剪的开源操作系统,对于航天器来说确实是一个很好的选择,但Ubuntu这种家用的版本对航天器不可行,任何带有图形界面的系统都会显得太庞大。
航天器上比较常见的操作系统是一款名为VxWorks的操作系统,这个操作系统的特点是稳定可靠,并且非常小,虽然没有图形界面但控制功能强大。VxWorks系统最小可以只有100KB左右,一个手机操作系统通常要上百MB,一个Windows操作系统通常要几个GB。对于航天器的低配置硬件来说,操作系统还是要小一点才好,毕竟存储器是很珍贵的,得留下更多的空间给航天器保存各种数据使用。
通过以往的资料我们还可以知道,航天器的计算机系统的基本要求是:低配置、可靠稳定、抗干扰,能在极端环境下运行,软件系统短小精悍,相信令国人为之骄傲的“嫦娥三号”探测器也是如此。
网络上曾经流行过这样一个段子:你的手机运算能力相当于“阿波罗”登月时美国宇航局NASA所有计算机运算能力的总和。但NASA把人类发射到了月球,你却发射小鸟去砸猪。
客观地说,这个段子说得挺在理,不信请听数据说话:
美国首次登月是在1969年,当年的超级计算机运算能力约为1.2MFLOPS(Million Floating-point Operations perSecond,每秒106次浮点运算),也就是每秒能计算1.2×106次浮点操作。而现在的智能手机,以土豪金iPhone5s为例,其GPU(负责绘图的处理器)计算能力能达至166.4GFLOPS(Giqa Floatinq—pointoperations per Second:每秒1O9次浮点运算),相当于每秒能计算1.664×1011次浮点操作。计算能力超前者十万倍。
另一方面,“阿波罗”号飞船的计算机更弱,CPU主频只有2.048MHz,这是什么概念呢?悄悄透露下,家用的带科学计算功能的计算器主频大概在1~20MHz之间。由此可见当年的航天器计算机也不过如此。
硬件要求
虽然有了上面的对比,但毕竟那是跟四十多年前的计算机做比较,现在的航天器计算机肯定已经进步了好大一截。那么对于我们关心的主角——“嫦娥三号”的计算机系统性能究竟怎么样呢?十分遗憾,由于中国国家宇航局CNSA还没有公布“嫦娥三号”的具体硬件配置,所以我们对它的计算机系统还不得而知,不过如果你是一个航天迷,如果你身边正好有一位“程序猿”,那么不妨通过对比NASA的“好奇号”火星探测器做一个大胆的猜测:
“好奇号”的主机CPU主频约为100~200MHz,每秒钟能执行指令约3500万个。内存为256MB,并有一个2GB的外部存储器。那么我们国家的“嫦娥”和“玉兔”的计算机配置也许与“好奇号”差不多。
这个数字比起当年“阿波罗”号飞船2MHz的主频确实有了很大的提升,但是似乎仍然很慢,那么为什么航天器不用好一点的CPU和大一点的内存、硬盘呢?要知道家用电脑CPU的主频都已经进入上GHz的时代,每秒钟执行的指令数也超过了10亿条了。当然,航天工程师们肯定是希望航天器的计算机能更牛一点,但之所以用这么低的配置肯定是有原因的。
原因之一:极端温度。
家用电脑都有风扇来帮助散热,如果温度太高的话,CPU会报警并强制关机。智能手机如果玩”愤怒的小鸟”太久的话,同样也会“发烧”。但这个温度无论如何都不会超过100℃。而太空中就完全不一样了,以月球表面为例,月球的白天,在太阳照射的地方,温度最高能达到120℃以上,到了晚上,没有太阳照射的地方温度能降到-100℃左右。更糟的是太空中是真空环境,要靠风扇散热那自然是不可能实现的,所以大多数情况下航天器的计算机必须保证能在如此巨大温差的环境下正常工作。
因此航天器计算机的芯片集成度就不能太高,集成度越高,就越容易被高温损坏,所以航天器计算机看上去弱弱的。
原因之二:宇宙射线和带电粒子。
当我们悠闲惬意地躺在床上,玩着手机或者抱着笔记本电脑上网的时候,不会感觉到任何来自太空的射线和粒子。因为地球表面稠密的大气层阻挡了射线并保护着各种生物。同时地球磁场把各种带电粒子沿着地球磁力线集中到南北极,当带电粒子撞击大气层中的原子和分子的时候,形成了美丽的极光,防止这些粒子产生更大的破坏。
在太空中的航天器可就没有这把保护伞了,大多数航天器要直接面对这些射线和粒子。这些粒子穿透芯片的时候会产生电磁干扰,如果粒子的能量很高,产生的干扰就会很大。我们知道计算机里使用二进制系统,通常情况下用高电压表示1,低电压表示0,带电粒子的强大能量会把某些O变成1,把1变成0,这种错误叫做位翻转。如果恰好出错的是一个重要的指令,那么航天器将可能出现严重故障。
为了防止这类错误,航天器除了把重要元件加上一些防辐射保护之外,还会将重要的数据进行多个备份,比如航天器的计算机系统里,可能会用多个内存组成一个阵列,把一个数据保存多份,一旦中间某一环节出现错误,就能及时纠正。所以航天器的内存看上去才会那么小。
原因之三:发射时的加速度和震动。
家用的电子设备通常经不起太严重的碰撞或者震动,尤其是硬盘这种带有机械结构的设备。可是火箭发射的时候加速度通常有几个g的大小(g是重力加速度),并且伴随着强烈的震动,因此航天器就不能用硬盘来储存数据了。
航天器一般情况下都使用类似U盘的外部存储器,这种存储器是由闪存(flash memory)组成,并且对比一般U盘具有一定纠错能力——这在太空中是十分必要的。
经此分析,试想在“嫦娥三号”计算机上玩“愤怒的小鸟”的同学可能要失望而归了。
软件系统
那么这么低配置的计算机,它的软件究竟会是什么样的呢?Wi ndows肯定是指望不上了,要知道一个Windows7的安装光盘容量比航天器的外部存储器容量还大。那么会是Linux吗?用的是哪个发行版本呢?Ubuntu?
我们先来了解,Linux是一种可裁剪的开源操作系统,对于航天器来说确实是一个很好的选择,但Ubuntu这种家用的版本对航天器不可行,任何带有图形界面的系统都会显得太庞大。
航天器上比较常见的操作系统是一款名为VxWorks的操作系统,这个操作系统的特点是稳定可靠,并且非常小,虽然没有图形界面但控制功能强大。VxWorks系统最小可以只有100KB左右,一个手机操作系统通常要上百MB,一个Windows操作系统通常要几个GB。对于航天器的低配置硬件来说,操作系统还是要小一点才好,毕竟存储器是很珍贵的,得留下更多的空间给航天器保存各种数据使用。
通过以往的资料我们还可以知道,航天器的计算机系统的基本要求是:低配置、可靠稳定、抗干扰,能在极端环境下运行,软件系统短小精悍,相信令国人为之骄傲的“嫦娥三号”探测器也是如此。