当前位置: 华文问答 > 科学

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

2015-06-08科学

承蒙各位谬赞,我的这个答案目前排在前面了。

需要说明的是, 这个答案只回答了影响星载芯片设计的一种因素 ,并不全面。还得查阅相关资料(如总剂量辐射效应、单粒子闩锁、单粒子瞬变、散热、震动、高低温循环、功耗、等等等等)。

---------------密--------封-------线---------------------------

说一个典型的影响因素: 单粒子翻转

单粒子翻转(SEU,Single-Event Upsets),是在空间环境下存在着大量高能带电粒子,计算机中的电子元器件受到地球磁场、宇宙射线等照射,引起电位状态的跳变,「0」变成「1」,或者「1」变成「0」。

太空探索早期人们已经注意到了这个问题

在地球表面,有磁场和大气层的保护,能够到达地面的高能粒子很少,一般来说对计算机的影响不大。在计算机设计中,并不需要考虑这种特殊场景。常规的硬件纠错机制配合操作系统,足以应付偶然的计算错误。实在改不过来,大不了蓝个屏,喊个「李姐万岁」也就过去了。

李姐万岁

在太空中情况就大不一样了,单粒子翻转发生的概率大得多。

1995年2月8日发射升空的实践四号卫星上搭载的两台用于单粒子事件测量的监测装置,在入轨后的19天内共发生了65次翻转。

卫星设计师可不想回答「卫星主控计算机蓝屏是一种什么样的体验」,没人够得着卫星的Reset按钮。核心程序跑飞了,不一定有挽救的机会。

看看中国航天曾经踩过的坑:

风云一号B星于1990年9月3日成功发射,……运行仅仅两个月后,11月初就遭遇了太阳耀斑发射的高能粒子流,发生了 单粒子事件 ,造成姿态控制计算机程序混乱,无法控制卫星姿态,导致卫星在空间翻转。好在这次事件后计算机程序得到了及时的纠正,卫星恢复了正常运行。1991年2月14日卫星的计算机再一次出现单粒子事件,卫星姿态再次出现异常,这次故障未能及时发现。当发现卫星姿态异常时,卫星上携带的气体已喷完,姿态完全失控,无法拍到云图,本来卫星的设计寿命是要运行一年,但是不到半年卫星就无法工作了。

事后的原因分析是在元器件选用和软件设计上留下了未进行抗辐射加固的漏洞,计算机电路芯片在空间高能粒子轰击下容易产生单粒子翻转问题,随时会引发计算机工作失常,姿控系统故障。

动辄上亿镁的设备,性能达到设计指标就行,可靠性才是最重要的。

提高可靠性的方法也很简单粗暴,就是加冗余、加校验。典型的技术是三模冗余( TMR)、纠错码(ECC)等,代价当然是性能的下降。具体的方法,知乎上已经有很专业的回答了,请移步

除此之外,提升计算性能的先进制程,可能受到单粒子影响更大。而且随着位单元在较小的制程节点中靠得越来越近,单粒子翻转可能会不止一位,这对校验算法提出了更大的挑战。

https://pdfs.semanticscholar.org/3f85/a7d6c9f3f928b7399e40a33897ff42321d77.pdf

所以,星上的计算机芯片性能可能真不如你手机里面的那块。

======================

最后说明一点:计算性能是和任务需求匹配的,工程上还要在成本、风险、先进性上取得平衡。从趋势来看,未来星上计算越来越多,比如空天信息智能服务、软件定义卫星、通导遥一体化,在轨机器学习,星上计算能力必然是要提升的,很快这个问题就会不成立了。