国外航天器使用的处理器,如美国火星探测器上用的是IBM公司的RAD6000,实际就是PowerPC系列。航天飞机上的控制系统使用的是8086、8051单片机,还有如MIPS等适合实时控制的CPU产品。在一些大卫星上使用蓝宝石工艺的1750A,在一些小卫星领域还会使用一些COTS(commercial off-the-shelf)器件,如工业级的ARM处理器。美国SpaceX公司自2019年5月启动组网发射以来,迄今已将数千颗“星链”组网卫星送入轨道,处理器为工业级器件,采用多级冗余提高可靠性。TSC695F是美国ATMEL公司为欧洲航天局定制的CPU,其更高版本为TSC697和LEON2等嵌入式CPU。日本则依靠其在半导体技术方面的强大实力,基本使用其国内厂商生产的CPU,如HITACHI公司的HD68000系列。西方国家虽然科技比较发达,但其使用的CPU并不一味地追求高性能,如RAD6000,其主频只有25 MHz,如TSC695F的主频也只有25 MHz,HD68000系列的主频最高只有12.5 MHz。由此可以看出,在处理能力够用的前提下,可靠性始终放在很重要的位置。
我国在电子基础领域起步较晚,处理器技术、操作系统技术和半导体制造技术等核心技术全都掌握在国外公司,使得星载计算机的研制受到了诸多方面的限制,经常面对的是国外公司的技术封锁和芯片禁运。尽管面临许多困难,我国的星载计算机仍在不断地向前发展,例如利用IP核在FPGA中实现CPU的功能、引进生产线国产化8086处理器。国内星载计算机经过几十年的发展,在低功耗、高性能、抗辐照和高可靠性方面取得了长足发展。
当前随着国内半导体技术发展,已经有众多厂家可以提供工业级、宇航级处理芯片,北京微电子技术研究所研制的BM3803、BM3823等器件,均陆续完成地面试验、飞行验证。后续新一代八核处理器3883已在应用中。深圳国微PowerPC系列SM750和银河飞腾的多核DSP芯片FT-6672、FT-6678均完成在轨飞行验证任务,满足了当前卫星发展对处理器应用的高可靠、高性能要求。
国内星载计算机选用的CPU大致有以下几种:最早为8051单片机、8086、1750A,最新为TSC695F、TSC697F等。1750A在一段时间内影响较大,最早用于实践五号卫星,后又用于海洋一号卫星,相比单片机和8086速度更快、支持实时操作系统如VxWorks等。随着国防科技进步与半导体技术发展,器件自主化国产建设提上日程,在“十四五”期间各体系架构处理器应用层出不穷,国产PowerPC750芯片因其高性能、低功耗、具备超标量计算能力,已作为当前宇航领域低轨低成本卫星主要处理器,国产处理器BM3803、BM3823作为进口TSC695F、TSC697F升级换代产品,目前已在众多卫星上广泛应用。此外随着平台载荷一体化技术发展,除了平台的高可靠性外,亦提出载荷高性能处理要求,国防科技大学混合异构处理平台应运而生,FT-6672、FT-6678、F8024等芯片,目前已经全面开展应用验证工作,未来将作为多个星座中载荷处理平台主要处理器。
当前商业航天飞速发展,对卫星发展提出平台体系一体化,具备高性能、低成本特点等要求。与型号任务不同,商业航天计算机设计思路围绕对平台的电子系统进行高集成、一体化的设计,涉及星务管理、姿轨计算机、测控应答以及扩展至导航接收机、机构控制等模块,突破了传统卫星平台的功能划分和产品组成。处理器选型主要考虑高集成度、可获得性,乃至更低成本。因此,商业航天计算机处理器多数选择工业级ARM体系架构器件。
总的来说当前星载计算机主要采用SPARC、PowerPC、MIPS等系列。下面在对星载处理器最小系统做介绍前,首先对计算机指令集及其系列产品进行概述。
目前流行的指令集主要为复杂指令集CISC和精简指令集RISC。CISC在20世纪90年代前被广泛使用,其特点是通过存放在只读存储器中的微码来控制整个处理器的运行。早期的计算机部件比较昂贵,主频低,运算速度慢。为了提高运算速度,人们不得不将越来越多的复杂指令加入指令系统中,以提高计算机的处理效率。随着需求不断增加,设计的指令越来越多,为支持这些新增的指令并保持兼容以前的指令,计算的体系结构越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊:大约有20%的指令会被反复使用,占整个程序代码的80%;而余下80%的指令却不经常使用,在程序设计中只占20%。
为改变这种状况,1980年Patterson和Ditzel两位学者完成了一篇题为《精简指令集(RISC)计算机概述》的开创性论文,全面提出了精简指令集的设计思想。随后,美国加州柏克莱大学的研究生依照此理论基础,设计出了第一个精简指令集处理器RISCI,该处理器远比当时已经相当流行的CISC处理器简单得多,在设计上所花费的功夫也降低许多,但整体功能上的表现却与CISC处理器不相上下。从此处理器设计方向便分别向着这两个大的方向发展。CISC与RISC特点对比见表3-1。
表3-1 CISC与RISC特点对比
CISC主要处理器系列情况为:Intel公司和AMD公司的X86架构都是基于CISC,包括X86和X86-64。RISC主要处理器系列包括ARM架构、MIPS架构、PowerPC架构、SPARC架构。
1978年6月8日,Intel公司发布了新款16位微处理器“8086”,也同时开创了一个新时代:X86架构诞生了。X86又叫IA32,即IntelArchitecture32(Intel32位架构)。2003年,AMD公司推出了业界首款64位处理器Athlon64,也带来了X86-64,即X86指令集的64位扩展超集,具备向下兼容的特点。为了和AMD公司展开竞争,Intel公司也在2004年推出了自己的64位版X86,也就是EM64T。在X86架构中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高、执行速度慢。
ARM架构广泛用于许多嵌入式系统设计中。由于节能的特点,ARM处理器非常适用于移动通信领域,符合其主要设计目标为低耗电的特性。当前ARM家族在所有32位嵌入式处理器中占比75%。ARM处理器的主要特点是:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件;大量使用寄存器,指令执行速度更快;寻址方式灵活简单,执行效率高;指令长度固定。
无内部互锁流水级的微处理器(microprocessor without inter locked piped stage architecture,MIPS),在1981年由MIPS科技公司开发并授权,广泛被使用于许多电子产品、网络设备、个人娱乐装置与商业装置中。最早的MIPS架构是32位,最新的版本已经变成64位。它的基本特点是:包含大量的寄存器、指令数和字符可视的管道延时时隙。这些特性使得MIPS架构能够提供最高的每平方毫米性能和当今片上系统(system on chip,SoC)设计中最低的能耗。MIPS架构如图3-1所示。
图3-1 MIPS架构图
POWER是1991年由Apple(苹果电脑)、IBM、Motorola(摩托罗拉)公司组成的AIM联盟所发展出的微处理器架构。PowerPC是整个AIM联盟平台的一部分,并且是到目前为止唯一的一部分。PowerPC架构如图3-2所示。
图3-2 PowerPC架构图
SPARC架构最早于1985年由SUN公司所设计,也是SPARC国际公司的注册商标之一。SPARC国际公司授权了多家生产商采用,包括德州仪器、Cypress半导体、富士通等。由于SPARC架构对外完全开放,因此也出现了完全开放原始码的LEON处理器,这款处理器以VHDL语言写成,并采用LGPL授权。SPARC架构主要用于小型机上。