1962年7月10日,带有第一颗商业电信卫星的Tor火箭从卡纳维拉尔角的发射场发射升空。 Telstar-1是航天新时代的曙光,它表明太空可以为人类带来真正的利益。 该装置一直在等待美好的未来,但是在一天前,位于太平洋沙漠部分的约翰逊环礁上空的海星总理原子弹爆炸了。 爆炸摧毁了位于一千零五千公里处的夏威夷的三百盏路灯,还产生了大量自由电子,这些电子被地球磁场吸收到人造辐射带中。 每次Telsat-1穿过该传送带时,先进的晶体管填充物都会辐射出一定剂量,到1962年11月,它已停止工作。 保护空间电子设备免受辐射的历史始于对这一事件后果的研究。
幸运的是,它们开始相当快地参与高空核爆炸,但是即使没有它们,也没有足够的工作,而且现代卫星对可靠性和耐用性的要求也越来越高。 不可能谈论所有事情,但是我将尝试简要介绍来自不同国家的空间微处理器的过去和现在。 为什么是微处理器? 它们中的大多数是关于它们的信息,非专业人员可以更好地理解它们。 本文的篇幅很长,因此我将其分为两个部分:以美国和欧洲为例的早期历史(削减)和以俄罗斯为例的现代历史(
此处 )。 走吧
游戏规则
让我们从术语和定义开始。 “微处理器”是指设计用于运行程序的高度集成的微电路或一组微电路。 第一个流行的单芯片微处理器是1971年发布的四位Intel 4004,这是美国人登上月球之后的,因此,按照这种定义,英勇的太空探索时代的机载计算机就从画面中消失了,只给我们留下了无聊的“精力”。 但是,关于英雄时代的机载计算机(包括哈布雷)的文章很多。
在这里 ,
在这里和
那里 。 通常,它们是为特定任务而设计的,具有某种命令系统,并且位深度为13位,然后是17位,然后是21位-通常,请勿尝试在家中重复该操作。 统一始于登月竞赛结束后削减预算,并同时部署了各种卫星群。 结果,几乎所有有关方面都发现了无论结果如何都使用了有限数量的通用芯片。
第二个重点是信息的可用性。 太空工业从未特别开放。 第一颗卫星是宇航员进入月球或GLONASS星座中的卫星数目,这是一个简单易懂的广告,但很难夸耀Sputnik-3无线电发射器设计的消费者特点。 从上方加上传统的近战保密机制,我们知道RAD750处理器“其中有150多个”,并且只有十几颗卫星在上面。 七十年代撰写的专业科学出版物的典型引文如下:
“还构建并测试了抗辐射的32位PMOS / SOS移位寄存器; 关于俄罗斯卫星和微电路的开放数据(当然,我当然只使用开放数据),我什至不想开始。 现有的面包屑通常是通过监督进入互联网的。 科学出版物为我们节省了一些时间-特别是如果您知道自己要寻找的东西。 IEEE在线数据库只是电子历史学家的仓库。 有了苏联和俄罗斯科学期刊和会议的档案,情况比外国的情况要糟糕得多,但也不是没有希望。 出版物的不足之处在于,通过它们很难跟踪微电路及其应用之间的连接,但是可以找到有关微电路设计的有趣信息。 总计:本文并非假装是完整的,而是一系列示例,通过这些示例,人们可以跟踪开发并介绍用于太空应用的微处理器和微控制器的当前状态。
要达成共识的第三件事-我不会比较流动站与iPhone的处理器性能。 这样做有一些乐趣,但是性能上的差异并非来自美好的生活,它有客观的原因:漫长的开发周期,其他可靠性要求,冗长的认证和测试,从芯片制造技术到卫星组装的一切。 当然,太空开发人员总是希望获得最大的计算能力-处理机载信息,节省无线电信道的带宽-但通常其他优先事项更为重要。 这就是为什么从完成开发到首次试飞可以用十年的时间,因此每个人都喜欢已经实现的解决方案–它们的麻烦要少得多。 结果,空间微电路的空间寿命可以达到30到40年,甚至可以在前一个电路的第一次飞行之前就开始进行新一代的开发,而现在90年代开发的处理器仍在启动。 我将立即注意到,航天器的设计正变得越来越复杂,现在船上可能有数十台计算机具有非常不同的要求:您需要全天候处理图像阵列并每小时轮询两个传感器。
第四,非常简短地提醒了外层空间的辐射效应。 这里有一个中等长度的提醒,但
这里却很长。
全剂量辐射
的影响与电介质中以及电介质与半导体之间的界面处电荷的积累有关; 我们主要对MOS晶体管的栅极氧化物和侧面绝缘感兴趣。 这些影响表现为晶体管阈值电压的偏移(对于p沟道,绝对值的增加,对于n沟道,通常会减小,但是稍后您会看到细微差别),电荷载流子迁移率的下降(电路速度的降低)和n沟道晶体管的泄漏(一个晶体管的漏极和源极之间以及不同晶体管之间),导致静态功耗的增加。
单效应是由于以下事实:当单个带电粒子进入晶体管时,该粒子的部分能量转移到微电路的材料上,并在其中形成自由电子-空穴对。 这些对中的一些在微电路中被电场隔开,并且它“看到”一个短电流脉冲,该脉冲由外部粒子“产生”。 此外,此电流脉冲可能会更改存储在存储单元中的值,进入逻辑元件的输入或发生完全灾难性的事情,例如突破晶体管的栅极或打开寄生晶闸管结构并产生带电源的局部接地故障。
位移的影响是由于这样一个事实,即进入的粒子不仅可以创建电子-空穴对,而且还可以直接与物质的原子相互作用,从而将它们从晶格的正确位置敲除。 对于普通的晶体管,这样的局部缺陷并不可怕,但是它们会严重损坏光电器件,二维半导体和纳米级晶体管。
仍然存在
剂量率效应 ,但是它们主要用于非商业用途,因此我不再赘述。
初始阶段-美国的例子
我无法可靠地确定哪个微处理器是飞船上的第一个微处理器,这一事实是可以预见的。 仅在著名的科学任务中才可以使用公共数据,并且通常将其放到最可靠和经过验证的位置上,也就是说,可以在便宜的卫星上预先悄悄地得出。 众所周知,Viking和Voyager车载计算机是在离散逻辑上组装的,但是正是在它们之上,才开始进行组件的标准化和重用。 Voyager的有趣之处在于它是第一款使用半导体存储器而非磁芯的设备。 此外,它是易失性CMOS SRAM,也就是说,如果掉电,其中的信息将被擦除。 工程师如何设法说服管理层承担此类风险? 首先,如果没有新的存储器,则无法应用快速的CMOS逻辑。 在太空中,CMOS技术远非偶然:尽管CMOS电路比双极性模拟电路慢,并且对静电放电更敏感,但它们可以承受极端温度,噪声敏感度低并且消耗的功率极少,通常这是板载有短缺。 其次,作为电源的备用,RTG输出的电压直接带到内存中,有理由认为,如果发电机发生故障,则内存问题将不再重要。
图1.带Voyager的带有半导体存储器的电路板。
首创-RCA 1802
我发现的最早的航天器不是中等集成度的微电路,而是单片微处理器(8位RCA 1802)是1979年10月30日发射的Magsat卫星。 鉴于第一批商业RCA 1802于1975年发布,这意味着它们比商店货架更早投放NASA-通常,这是硅谷成立初期的正常做法。
作为那个时代的一个小例子,我将引用EE King的一篇文章,“总剂量对1802微处理器的影响”,IEEE Transactions on Nuclear Science,1977年。该文章比较了辐射剂量对四种1802变体的影响:两个商业样品,一个实验样品生产于蓝宝石(SPS)上的硅基板,以及通过特殊工艺设计的一种样品,旨在提高耐辐射性。
图2.两种类型的晶体管的阈值电压在辐射剂量的影响下的偏移。 C1和C2是商用芯片,S是SPS上的芯片,X是特殊样本。
从图中可以看出,商业样品和KNS芯片都处于相当小的辐射剂量(8-15 crad(Si)),n沟道晶体管的阈值变得小于零,并且逻辑电路只是简单地停止开关。 同时,通过特殊的技术工艺,可以实现大于1 Mrad(Si)的电阻,即大于两个数量级。 我再次指出,这一年只是1977年,并且已经开发和生产了特殊芯片。 但是,所描述的RCA 1802很可能是第一个信号,因为在开发下一代大型NASA设备-伽利略(Galileo)的参与者的回忆中,我发现了一个故事,即在1977年选择控制电子体系结构时,1802是唯一可负担得起的抗辐射单片微处理器。
重要的是要注意,他们当时已经尝试使用太空中最常见的芯片-并且现在继续成功地使用。 对于许多应用来说,既不需要极高的可靠性,也不需要很高的抗辐射性,也不需要完全没有故障-仅在合理的时间内没有故障很重要,许多商用芯片可以满足这一要求,而其价格比其专门设计的便宜几个数量级。兄弟 对于低轨道上数百个设备的卫星星座而言,与成本相比,即使不是非常频繁的故障的出现也不是至关重要的。 只有在国家安全取决于微电路的功能的情况下,如果没有抗辐射芯片,就不可能实现宇航员的生命,或者至少要进行数百万年的科学任务。 当然,当最关键的系统在抗辐射芯片上运行,而其余的系统在常规芯片上运行时,当然还有混合方法,并且当制造商采用与昂贵的抗辐射产品中使用的晶体相同的晶体并将它们包装在廉价的塑料盒中时,也存在良好的模具。并且不进行端到端测试,从而节省了数倍的价格。 有些公司专门从事测试商用芯片的工作,目的是在其中发现那些偶然被证明具有抗辐射能力的公司。 但是回到伽利略和1802年。
图3.用航天飞机发射伽利略。 航天飞机的车载计算机创建于七十年代,仅在集成度很小的微电路上工作,只有在第二千分之一的大规模升级过程中,抗辐射的386-e,1802-e和民用PowerPC 750才投入使用。
由于各种问题,伽利略号只在1989年飞行,但在旅行者号之后并立即按照其最佳做法进行设计。 “ 1802开发团队中没有人真正喜欢”,因为分立的解决方案尽管麻烦,却要快得多。 结果,它的优点仍然被缺点所抵消,设备的命令和数据子系统(命令和数据子系统)建立在1802年,而负荷较小但要求更高的机动控制子系统(姿态和关节运动控制子系统)则由16位计算机控制。由双极四位位片芯片Am2900(苏联对应-1802系列)组装而成。
伽利略在我们的历史上也很重要,因为它是第一个在设计中考虑到单一故障问题的设备。 在根据粗略设计标准制造的微电路中,它们几乎没有出现,直到研究探针到达木星的辐射带之前,没人知道它们的存在。 木星的磁层很大,以致它的一部分卫星(欧洲,艾奥和木卫三)都在其中! 木星的磁场将重离子加速为巨大的能量,该能量的来源是火山活性的Io。 事实证明,即使在旧的Pioneer微电路中,这种可怕的条件也足以引起故障,但是设计标准越小,切换存储器中的位所需的能量就越少!
图4.木星周围的辐射图。 资料来源:Hans Huybrighs,“对欧罗巴水蒸气羽流进行现场观测的可行性”,2015年
到1977年伽利略设计开始时,旅行者号尚未到达木星,所有可用的辐射数据仅与先驱者有关。 他们的一些神秘错误后来被归类为单一故障,但到后来为止,到目前为止,伽利略机载设备中都未包含自校正代码或任何其他查找和校正错误的方法。 在发现先驱者和航海家号失败的可能原因之后(1982年),伽利略号的所有电子元件被选中以抵抗辐射剂量,这些电子元件被紧急发送到加速器:找出它们将如何应对有一个新问题。 结果令人失望:如果使用相对较旧的技术执行的1806正常运行,则在渐进式双极微处理器2901中,20%至50%的带电粒子撞击会导致故障,因此无法启动。 怎么办 找到了两个选项:
- 编写编译器后,请尝试使用基于1750A架构的最新的抗欢乐车载计算机,并重新编译所有软件。 此选项的成本估计为2,000万美元(当时的美元,比当前的美元要贵得多)。
- 为了紧急下令开发问题芯片2901的容错类似物。在这种情况下,所有经过反复测试的软件都无法重做。 Sandia Labs估计新芯片的开发量为500万,并做出了决定。
NASA技术摘要,第10卷,第3期,详细介绍了由Sandia Labs开发的芯片:它们不是原始的双极性芯片,而是CMOS,共有9种类型(原始系列的大约40种芯片中),它们用于实现容错能力。比必需的晶体管以及存储元件反馈电路中的电阻器宽。
退缩一次失败图5.六晶体管静态存储单元(6T SRAM)的方案
当SLC进入闭合晶体管的漏极时,将产生电离电流脉冲,并且在单元中开始两个过程:正反馈触发和感应电荷耗散。
击中发生在闭合的晶体管M2中,其漏极因此产生电流脉冲。 此时的晶体管M1完全断开,并且电阻很小,也就是说,通过它的感应TZCh电流流到地。 但是,节点nQ的容量可能很小,足以充电到高电压,这将导致第二个逆变器(M3-M4)切换,继而通过反馈切换第一个逆变器。 这是由辐射引起的故障(单事件不安,SEU)。 在反馈电路中安装电阻器可使您减慢反馈过程,并给电荷足够的时间来解决。
设计SA3000-防辐射8085
当时开发抗辐射微电路的过程看起来像可以遵循科学出版物一样。 例如,我选择了W. Kim等的文章。
等,“在CMOS 8085微处理器系列中使用的辐射硬设计原理”,于1983年由IEEE Transactions on Nuclear Science出版。在其中,桑迪亚实验室(Sandia Labs)的员工谈论了他们如何制造SA3000-辐射版本的Intel 8085(以及SA3001和SA3002,它们是Intel 8155 RAM和Intel 8355 ROM的变体)。他们首先获得了英特尔的所有开发文档,包括接线图和拓扑。我猜我也不会拒绝这样的事情。使用RHBP时,情况与前一种情况相同-一种特殊的CMOS工艺技术,具有针对无缺陷氧化物而优化的温度范围,具有掩埋的n +层以防止晶闸管效应。对我们而言,有趣的是针对全剂量和单次失败的RHBD方法的详细描述。原始芯片是使用动态逻辑在NMOS技术上制造的,动态逻辑极易受到泄漏的影响,尤其是在强阈值晶体管的情况下。商业样品的抗辐射性在700 rad(Si)到30 deg(Si)之间。从原理上讲,最好的它们甚至可以在低轨道上使用,但是对于严肃的项目,至少需要至少一个数量级的剂量抗性水平。因此,桑迪亚实验室(Sandia Labs)并没有将现有的拓扑复制到辐射技术(这本身并没有帮助),但是采取了不同的行动。为了确保与原始芯片的兼容性,整个电路被分为相对较小的块,并且每个块的电路都转移到静态CMOS逻辑,这样可以更好地抵抗晶体管阈值电压的泄漏和漂移。这种方法保留了拓扑中的块和主要连接的相互安排,从而简化并加快了开发速度。为成功进行重新设计制定了许多原则。- 模块必须在n沟道晶体管的阈值电压范围(从2 V到几乎为零(标称值为1 V))和p沟道从-0.5 V到-4 V(在-1 V的名义值)上保持可操作性。这些是严格的要求,因为以下事实:当晶体管的阈值沿不同方向移动时,逻辑门的开关阈值会发生变化,结果电路的时序也会发生变化,从而迫使开发人员放下更长的延迟并降低芯片的频率。
- , -4 5 p- , , Sandia Labs , 10 . , , NMOS CMOS , .
- , p- , NAND ( p- ) NOR ( ).
- 在辐射剂量下,晶体管的阈值偏移根据晶体管所处的电模式而变化。这对于各种匹配对非常重要,例如对于存储器记录和读取放大器。因此,两个存储芯片的设计都使存取线不断充电,而不仅仅是在必要时。
由于仿真表明将电源电压提高到10 V足以使关键的开关电荷超过TZ可以引入的合理值,因此未采取任何特殊措施来防止出现单个故障(例如汉明编码或更复杂的存储单元)。 。测试已经证实了这种方法的有效性,证明了在10 V时不存在电源故障,并且在功率降低至5 V的情况下仍存在。总的来说,以3微米的设计标准来增加电阻的``经典''方法看起来像这样:主要问题是晶体管阈值电压的剂量偏移,必须使用专门开发的技术,从剂量-技术和低级电路的角度,从技术上对晶闸管效应进行保护,如果发生单个故障,由于电源电压升高,一切都很好。根据结果,Sandia Labs的芯片具有完全的引脚到引脚和结构上与原始芯片兼容的特性,与1个6500个晶体管相比,具有18,000个晶体管,但抗剂量性提高了三个数量级。文章中还指出了一个重要点:制造工艺在开发开始之前就已完全固定,因为进一步的优化可能会损害芯片设计。例如,使用更薄的栅极电介质,当时被认为是增加辐射电阻的主要方法,由于栅极电容的变化,它严重影响了微电路元件的运行速度。砷化镓
当时,改变或什至是创造特殊的技术来生产耐辐射芯片不仅是理所当然的,而且也是必要的。因此,合乎逻辑的是,在研究使硅CMOS技术更稳定的方法的同时,也在寻找其他选择。主要的是砷化镓。砷化镓领域的积极研究从70年代初到90年代中期,由于JFET中没有栅极电介质晶体管而导致的高抗辐射性是这些工作的主要推动力之一。最高潮是1984年,当时DARPA与RCA,McDonnell Douglas和CDC-TI合作签署了三项开发GaAs MIPS微处理器的合同。技术规范的重要要求之一是限制3万个晶体管,其措辞为“以便可以以可接受的良率批量生产处理器”。此外,还有Am2900系列的GaAs版本,1802微控制器,用于数千个门的基本矩阵晶体和用于几千位的静态存储器芯片。您会立即注意到,在1984-1994年,GaAs主题在苏联开发,而集成度相似的K6500系列则在Mikron上创建。的确,如果美国人试图使CMOS技术类似于GaAs,那么K6500会实现更快,但更复杂和繁琐的源相关逻辑(ISL)。苏联在砷化镓方面的发展与美国在同一时间被抛弃了-收益超过了由于产量而导致的高昂的高昂成本,达到了百分之几。砷化镓仍是未来的材料。RISC体系结构
当时的RISC处理器模式极大地扩展了美国砷酸镓(GaAs)的苦难,这种模式有望大大减少与CISC具有类似性能的芯片上的晶体管数量。当然,RISC处理器不仅出售砷化镓,而且硅对此也非常有用。整个四大公司-ARM,MIPS,SPARC,POWER-在太空中被注意到,但是首先,每个人或多或少都熟悉它,其次,我将有理由稍后再谈论它们,所以现在举一个例子知名度较低,但对于空间架构而言却非常重要。1980年,美国空军发布了Mil-Std-1750A标准,该标准描述了16位微处理器指令系统,以降低成本并统一军用航空软件。该标准不以任何方式规范实施细节,这使各种供应商能够展示自己的解决方案,这些解决方案与所有其他解决方案以及为美国空军利益而创建的软件兼容。顺便说一下,软件是用特殊的军事语言JOVIAL(Mil-Std-1589)或同样特殊的军事语言Ada(Mil-Std-1815A)编写的。顺便说一下,JOVIAL仍然有很多空中交通管制系统在起作用(不久前在英格兰引起了很多问题,后来证明在古代语言的员工培训上花费了大量的精力和金钱)。该标准非常成功,不仅在美国空军,而且在NASA,ESA甚至以色列军用航空中都得到了广泛的应用。在太空中,来自不同供应商的1750个处理器(以单独的芯片形式,例如来自为伽利略设计的位片2901芯片形式)管理和控制美国对火星的访问,对木星卡西尼号的访问等。在其基础上开发的欧洲航天局Mil-Std-1750A和由Dynex和Plessey制造的基于英语的MA31750芯片已成为事实上的标准。 1750A标准已成为双重用途IT的发展里程碑,在1996年宣布不适合新的USAF项目,当时很明显16位很小,并且有必要切换到32位体系结构,到那时该体系已经确定下来并已牢固到位在商业电子领域。在太空中,一代人的变化甚至比航空中的变化还要慢,而且运行1750A的设备持续运行了许多年。例如,欧洲罗塞塔号(Rosetta)于2004年发送到彗星,并在几年前成功进入轨道运行;或者,印度火星任务“ Mangalyan”于2013年发射升空。我将继续以欧洲的发展为例,详细介绍下一代处理器,因此,我仅概述美国芯片的总体概况:“ 1802 + 8085”时期之后是“ 1750 + 386”时期,桑迪亚实验室根据英特尔文档也开发了386处理器;这些386飞往国际空间站,在使用航天飞机更换了部件后,他们还在哈勃望远镜上工作。然后,有一段时间,现场出现了一系列MIPS处理器,其中最著名的是New Horizons中的Mongoose-V,事实上,在美国市场之后,使用POWER架构构建的RAD处理器实际上垄断了这一市场。这些处理器控制着火星车凤凰号,机遇号,精神号和好奇号,斯皮策和开普勒望远镜,以及过去20年来在NASA上运行的所有物体。最新一代RAD5500已在2016年获得太空认证,并且应该每天进行首飞。后者是因为新的HPSC(高性能太空飞行计算)计划正在进行中,其中波音公司中标了开发多核ARM处理器的程序,该处理器将来将成为NASA和USAF航天器的统一计算平台。值得注意的是,多核和资源共享将使您可以使用实时操作系统(在这种情况下为RTEMS)控制应用程序的一部分,并且不需要使用Yocto Linux进行实时控制。波音公司赢得了多核ARM处理器的开发招标,该处理器将来将成为NASA和USAF航天器的统一计算平台。值得注意的是,多核和资源共享将使您可以使用实时操作系统(在这种情况下为RTEMS)控制应用程序的一部分,并且不需要使用Yocto Linux进行实时控制。波音公司赢得了多核ARM处理器的开发招标,该处理器将来将成为NASA和USAF航天器的统一计算平台。值得注意的是,多核和资源共享将使您可以使用实时操作系统(在这种情况下为RTEMS)控制应用程序的一部分,并且不需要使用Yocto Linux进行实时控制。作为第一部分,我要指出,直到最近,美国人仍坚持通过将民用设计转移到专门开发的技术过程中将民用设计转换为太空的经过时间考验的方法-HPSC似乎是第一个从头开发的项目。前面提到的Mongoose-V是基于辐射矩阵矩阵的商业MIPS内核,第一代RAD6000的掩码集由与常规PowerPC601s相同的拓扑文件制成。同时,技术进步已将焦点逐渐从某些类型的辐射效应转移到了其他类型,因为随着设计标准的降低,电介质的厚度减小,并且晶体管的阈值漂移也随之降低。同时,设计标准的降低导致电源电压的降低和阀门开关能量的降低。在一起,这意味着获得可接受的辐射剂量耐受性要容易得多,但是到90年代中期,木星外来性的单一失败使开发人员感到头疼,这需要在微电路设计方面采取根本不同的方法。图6. PowerPC750和RAD750晶体的比较。 这些芯片采用相同的设计标准制造,同时面积几乎翻了一番。 注意几乎相同的块布局-这是在确保低级兼容性时发生的事情。 存储块大小的巨大差异表明,应使用具有内置冗余的多晶体管(10T代替6T)防辐射存储单元。
范式转变-欧洲航天局的案例
欧洲空间处理器工程的历史与瑞典工程师Jiri Gaisler的名字密不可分。 他在80年代中期加入ESA,并开始开发第一批专有的欧洲太空微处理器。 最初,它是获得许可的American 1750A,然后根据同一命令系统(在英国生产)进行自己的开发,以保持与已编写软件的兼容性。 并且,由于这是一个IT站点,让我们看看它是哪种软件:
专有工具来自TLD(美国)的Ada编译器
开源的1750年的GNU编译系统最初由两个主要部分组成。
CNS根据原子能机构的合同开发的一套工具:
- GNU C编译器(gcc-2.7.2)
- 链接器,汇编器,归档器等(binutils-2.7)
- 独立的C库
- POSIX-Threads库(IEEE 1003.1c-1995)(抢先的实时执行器)
- 适用于1750的GNU调试器(gdb-4.16)
在原子能机构内部开发或可从外部来源获得的一套工具,即:
- CRTX(SmartCom小型循环/同步实时执行器-外部)
- 独立1750模拟器(O.Kellogg sim1750-2.3b-外部)
- wxIDE(基于J. Smart wxWindows 2.65的便携式集成开发环境-内部)
在软件方面,区别欧洲航天局工作的重点是针对开源产品的创建以及创建可重复使用的开发和降低成本的生态系统的有针对性的系统支持和支付。 不仅针对软件:对于耐辐射微电路,比利时IMEC研究所还创建并支持ESA感兴趣的DARE开发平台(抗辐射效应设计),该平台包括设计路线,改编的PDK以及在六个不同制造工艺(350、180和180)上的大量数字和模拟IP模块,90和65 nm)。 这些平台不是开源的,但在必要时已授权所有ESA联系人执行者使用。
ERC32-第一个完整的欧洲
现在回到吉里·盖斯勒。 着眼于罗塞塔任务,开发了自己的第一代欧洲1750A体系结构处理器(三芯片套件于1989年完成,完全集成的MA31750于1991年),该任务将成为广泛的欧美科学计划的旗舰之一,其中还包括望远镜“哈勃”和研究太阳和行星的任务。
“罗塞塔”是命运漫长而复杂的装置。 该项目与美国一起始于1986年,原计划重用Mariner MkII设备的许多部件(1750A的支腿从这里开始生长),但过了一会儿,美国国会取消了对该项目美国部分的资助(后来转换为卡西尼探测器的较低预算),并且欧洲保持独立。 1994年,当最初的任务(包括向地球运送彗星物质)变得无法撤消时,任务的任务被重新制定; 十年后的2004年,罗塞塔(Rosetta)开始了他的彗星Churyumov-Gerasimenko的旅程,2014年,当它到达彗星时,这个消息可以被读到,其中包括带有袖珍计算器的古老电路。 而且,在有关Philae着陆模块中的堆栈处理器的消息中,这仍然不足以使硬件实现Forth语言。
罗塞塔的命运清楚地表明,欧空局认为依靠美国伙伴不是最好的主意,并且该机构开始在计划中投入大量资金以实现技术独立性,或者在我们看来,是在进口替代上。 30年后,这些计划继续存在,获得了相对新的推动力,这与欧洲渴望进入俄罗斯,更重要的是进入中国航天市场的愿望有关,而与美国的出口限制,制裁和美国与中国的贸易战无关。
在积累了足够的经验之后,ESA团队承担了一个更大的任务:一个32位处理器。 当时,想出自己的RISC架构仍然很时尚,但是ESA并没有为这种娱乐活动分配资金,建议开发人员选择现有的ISA之一,而且是非专有的,最好是具有良好的软件生态系统。 经过研究和随后与几十个潜在的ESA承包商进行讨论,选择了SPARC,它具有所有必要的质量,并且在90年代初已经由Sun和Fujitsu领导的知名财团自由分发。 一个有趣的事实:曾考虑使用ARM,但由于软件数量少而被拒绝。 对处理器的其他有趣要求包括对Ada语言的硬件支持,以加速已经为1750A编写的软件的工作,以及VHDL模型的存在,以加速基于处理器的系统的开发。
开发要求中一个根本上的新点是,微处理器本身不是作为芯片开发的,而是VHDL中的高级处理器模型。 这样做是为了不依赖特定的芯片制造商,并确保处理器在未来很多年都可用,即使所选工厂发生了某些情况。 根据美国的传统,其核心设计基于商业赛普拉斯CY601处理器,法国工厂Temic Semiconductor(设计标准为800 nm的抗辐射体制造工艺)负责抗辐射。 该项目持续了五个项目(1992-1997),而不是计划的三年,而是在第十次测试芯片(!)迭代中完成了设计,不得不放弃了Ada-结果该项目被认为是成功的。 最终的设计称为ERC32,这是一款三芯片微处理器套件,以TSC691-693的名称进入市场,甚至后来该项目也以TSC695(20 MHz,14 MIPS,4 MFLOPS,0.5 W)在单芯片上执行。
除了SPARC的常规实现之外,ERC32还实现故障检测和软件校正。 整数单元寄存器中99%的触发器,FPU和外部总线中100%的触发器均具有奇偶校验。 检测到的错误会导致六种类型的中断,对它们的响应以编程方式确定。 在最简单的情况下,中断处理包括重复执行失败的指令;在最坏的情况下,这可能是重新启动车载计算机。 另外,以这样一种方式修改了NOP指令,即它不执行任何操作,而是检查接收到的所有先前指令的XOR操作码的校验和。 如果总和与期望值不匹配(在编译时获得),则也会调用中断。 在结束对ERC32的描述时,我注意到根本没有缓存,也就是说,处理器开发人员将这个大问题推给了其他人。
提议的检测故障的措施导致面积增加了15%。 如果我们考虑在重复配置中包含两个ERC32,则为130%,这也有硬件支持。
ERC-32和ISS俄罗斯分部
毫无疑问,第一个使用ERC32的设备值得单独讲述,因为这是在俄罗斯关键任务设备中使用外国单位的第一个案例,也因为它清楚地表明了不应完成的重要项目。
1992年,由于在建造美欧长期空间站Freedom方面遇到进一步的困难,欧空局开始就其参与俄罗斯Mir-2轨道站项目的可能性进行谈判。 俄罗斯方面表示同意,但1992年没有预算。 经过两年的紧张谈判(美国国会的投票以216-215的比分结束),Mir-2和Freedom项目变成了我们今天所知的国际空间站(ISS)。 同时,欧洲-俄罗斯协议仍然有效,欧空局启动了俄罗斯模块“黎明”的数据处理系统项目(DMS-R,数据管理系统-俄语)。
1995年可用的处理器-防辐射1750和386-不能满足性能要求,并且在RAD6000的负载中,有必要购买整个处理器板,而这并不能提供开发灵活性。 另一个选择是ERC32,但到那时它仅以模型形式存在,而尚未制造出单个硅测试芯片。 我不知道是什么驱使这些人前进,但显然不是因为
不存在的高级处理器可能会出问题。 当然,与他一起,进度也有滞后(使用商业类似物被绕过了一段时间)和大量的错误(对于小型开发团队的第一个大型项目是可以预见的),即使在持续不断的直接指导下,错误的记录也很少请与开发人员DMS-R和开发人员ERC32联系。 FPU中的一个错误(RSC Energia的开发人员无法以任何方式进行本地化)最终不得不在操作系统中使用补丁程序进行规避。
还有进一步的延误(1998年,俄罗斯的太空资金再次不太理想),但是2000年,由ESA开发的机载计算机成功地进入了轨道,并一直在俄罗斯Zarya区块内工作。
图7.基于ERC32处理器的ISS Zarya模块的车载计算机。
1996年,甚至在ERC32项目结束之前,就开始为其继承人制定要求。 程序员的胃口从原来的10点提高到了100-500 MIPS,原始项目的巨大成功意味着欧洲在可预见的将来将继续使用SPARC体系结构。 主要任务是创建ERC32的单芯片版本,很有希望的是新的处理器内核。
LEON-FT
LEON-FT项目的主要特征是最初的任务,即不是以芯片的形式生产最终产品,而是以vhdl代码的形式生产许可的内核,并确保容错能力而不是辐射硬度。 ERC32的经验表明,它需要重复才能可靠运行,下一步的逻辑就是开发不需要它的系统。 解决此问题的方法不仅需要检测,还需要在不使用软件的情况下在硬件级别纠正故障。 当然,LEON-FT的作者并不是发明容错和辐射硬化的想法,但是在此之前,这种方法主要是在晶体管层面上考虑的,他们是第一个从物理上完全摆脱对抗单一故障的斗争的人,并将该项目的目标定为制造稳定的芯片在商业技术上,以及在特定时刻可用的任何时间上,从而解决了技术流程过时和关闭工厂的问题。 因此,记录了一个范式转换:在我们以SA3000芯片为例看到的二十年前,主要问题是辐射的全剂量,这是通过技术方法来解决的,并且根据剩余原理考虑了单个故障。 到了2000年,工作重心发生了变化,单一故障成为主要问题,并且即使工厂经过了测试和可靠,对特定技术的依赖也开始被视为不利因素,而不是优点。 顺便说一句,现在达因克斯半导体公司的英文(而不是英国脱欧一词)属于中国,而法国Temic已成为美国微芯片的一部分。
LEON-FT内核是用VHDL编写的,并配备了配置程序,可让您选择不同的选项来防止芯片不同部分的单个故障:对于寄存器文件和高速缓存(出现高速缓存!)1个/ 2个奇偶校验位或汉明码以及强制高速缓存未命中,对于数据路径中的触发器,是否存在三重冗余,对于流水线(出现流水线)-从失败的指令开始进行重置和重试的能力。 因此,对物理实现的唯一依赖仅在于具有自定义存储块的接口功能,这些存储块构成了寄存器文件。 考虑到最大的保护(不包括缓存),核心区域的增长约为100%,其中约40%为增长; 在禁用所有选项的情况下,事实证明它是在开源中以LEON形式发布的SPARC V8内核(不带-FT前缀)。 这种做法进一步继续,不稳定版本的LEONx的后续版本已在公共领域发布,并且LEONx-FT的可配置故障安全版本获得许可以用于制造微芯片或用作FPGA固件的软IP。 的确,由于LEONx-FT并未以任何方式与技术联系在一起,因此没有任何东西会阻止它们在FPGA中使用-当然,如果满足了控制芯片上元件连接的内存中没有故障的(相当严格的)条件。 但是,如果该存储器不是SRAM,而是闪存或EEPROM,那么这是一个很现实的想法,即使不考虑存在容错FPGA的情况,在该FPGA中,配置存储器由硬件自校正代码组成。
图8. Troyed触发器。
库设计说明:为了与任何库兼容,此处的表决元素是从普通逻辑门组装而成的。 当然,他本人也没有受到任何单一故障的保护,但他比普通的触发器要少得多,这意味着进入该触发器的可能性较低,并且该故障很短,但没有被锁定。 如果这还不够的话,那么就可以在晶体管级别上实现表决元素的特殊实现,比图中所示的选项更能抵抗故障,并且可以将它们作为原语添加到库中。 在1000-100 nm的设计标准下,可以增加容错性,从而实现很多有趣的逻辑元件实现方式,从而最小化微电路的逻辑设计,而无需引入复杂的三重设计。 最受欢迎的选项是元素内部复制和内置过滤(例如,以存储器反馈电路中的电阻形式)。
图9.具有内置复制功能的DICE存储单元; 由于交叉反馈,只有同时击中两个逆变器时才有可能发生故障,这相对容易防止。 右边是普通存储单元和DICE的拓扑。
LEON-FT是一个测试项目,并不打算商业化。 盖斯勒(Geisler)在位于哥德堡的他自己的公司盖斯勒研究(Gaisler Research)中进行了这项开发以及随后的商业产品LEON2-FT内核。 Atmel收购了ERC32公司Temic,获得了LEON2-FT的专有权。 最终的产品是AT697芯片,该芯片采用Atmel特殊辐射技术,在俄罗斯等地广为人知,并且由于Atmel是一家受出口和制裁限制的美国公司,因此成为了事实。 2008年,盖斯勒研究公司从Aeroflex卖给了美国人,然后英国人科巴姆买了他们,然后英国脱欧,现在科巴姆正因不容许挥霍国宝和国防而大声疾呼,买了一些美国投资者。 这就是欧洲的进口替代和技术独立的故事。
当前版本LEON5具有八级流水线,分支预测器和现代微处理器的其他功能,从第三版开始,Gaisler不仅提供处理器内核,而且还提供各种IP模块的大型库,允许用户在芯片上创建适合其特定系统的系统。要求以及相当广泛的专有,第三方和开源软件(可在
此处找到详细说明,操作系统包括VxWorks 6.9和7.0,RTEMS 4.10和5以及基于内核3.10和4.9的Linux)。
关于经济和计划的一点题外话LEON被认为是最成功且规模最大的太空芯片。 同时,两种ERC32变体的总发行量约为五千个,基于LEON2-FT内核的Atmel芯片的发行量约为一千五百个。 美国BAE系统公司的宣传册中包含RAD6000的200台车载计算机和RAD750的150台。 绝对清楚的是,在这种流通中,这种微电路的开发和认证不能以任何价格在商业上为微电路付出任何正当理由,并且开发必须由国家(或者在ESA的情况下由国家联盟)补贴。 此外,在大多数情况下,对开发进行补贴的需求不仅适用于微处理器,而且适用于空间应用的大多数其他微电路,在相对简单的芯片中最容易发现例外,这些芯片可以廉价地开发,然后按空间标准大量出售。 反过来,这为空间要素基础的发展长期战略规划创造了条件,突出了关键领域并重新利用了以补贴资金开发的知识产权。 在这方面,在美国,欧洲和俄罗斯运行的模型仅在实施细节和流程的组织水平上有所不同。
分工
如上所述,LEONx-FT IP内核只能解决单一故障的问题; 用户必须选择稳定的FPGA或技术与库的组合,以防止受到全剂量和晶闸管影响。
让我们仔细看一下以色列最近的Bereshit月球任务中使用的盖斯勒GR712芯片的示例。实施分为三个级别。在最高级别,GR712是双核LEON3-FT处理器。在生产水平上,以色列工厂TowerJazz没有经过修改的180 nm商业技术工艺。在它们之间-由以色列公司Ramon Chips(以在哥伦比亚灾难中去世的宇航员Ilan Ramon的名字命名)开发的一组抗辐射库RadSafe。由于基本逻辑元件的电路和拓扑结构,正是RadSafe库确保了晶闸管效应的缺乏和对总辐射吸收剂量的抵抗力。同样,GR716 – LEON3-FT微控制器–与IMEC合作创建,IMEC为台湾联电工厂的180 nm工艺技术提供了逻辑库和模拟IP。 GR740-处理器,实现了采用65 nm ST Microelectronics技术制造的四核LEON4-FT,该技术为其工艺提供了辐射库。如您所见,实际上与技术没有任何联系,您可以根据需要使用特定芯片解决的任务,自由选择用于物理实施的合作伙伴。图10.从MA31750到后来成为GR740处理器(65 nm STM工艺技术,四核,250 MHz,459 MIPS /核,22.7 MFLOPS)的原型的欧洲耐辐射芯片发展的简要历史。总结这一部分,我想再次强调几个论点。首先,设计标准的降低导致这样一个事实,即在确保抗辐射性方面出现单一故障的重要性大大增加,这需要对微电路开发方法进行修订。其次,设计标准的降低还导致生产成本的显着增加和市场参与者的减少,因此有必要使用传统的商业技术开发抗辐射微电路,这在早期基本上是不可能的。第三,芯片设计和软件的复杂性导致需要最大程度地重用现有资产(不仅是空间资产),并且需要结合大量公司的努力来创建和支持开发生态系统。这些要求如何实现和发展- 在第二部分中以俄罗斯现代发展为例。它还将包含有关其他国家抗雨水微电路的简短故事,以及在不久的将来该行业所期待的故事。