基于SPARC V8 的嵌入式星载计算机
1引言
SPARC(Scalable Processor Architecture),是任何人或公司都能准许和使用其于微处理器和半导体发展的开发技术规格。SPARC诞生与SUN Microsystems实验室公司,它是加州大学伯克利的研究人员在RISC技术上研究发展起来的。1985年Sun微系统公司为了获得更高的执行效率和更为优化的编译器,并满足其缩短开发周期、迅速投放市场的要求,提出了该体系结构。该公司本身并不进行集成电路的设计和生产,而是由多家半导体厂商以不同的VLSI实现为其进行生产。最终只要求用这些不同芯片构成的系统均保证程序二进制兼容。这使得厂家能充分发挥自己的特长进一步改进工艺技术、提高性能。可以说SPARC是一个开放的体系结构标准,允许公众制造商的加入。1987年,Sun和TI公司合作开发了RISC微处理器SPARC。1989年,SUN Microsystems转移SPARC规范到一个独立、非盈利组织,用于服务成员开发认证。从最早的32位SPARC V7,到32位SPARC V8(哈佛结构),一直发展到目前的64位SPARC V9(超标量),使SPARC体系的RISC微处理器得到广泛的发展。SPARC微处理器最突出的特点就是它的可扩展性,这是业界出现的第一款有可扩展性功能的微处理,SPARC的推出为Sun赢得了高端微处理器市场的领先地位。Sun公司以其性能优秀的工作站闻名,这些工作站全都是采用Sun公司自己研发的SPARC芯片。
航天计算机是航天设备控制的中枢神经,随着航天工程复杂性的不断提高,设备对计算机的要求越来越高。航天电子产品不但要耐火箭起飞时的冲击、振动等苛刻的力学环境,而且要承受宇宙空间的高温、低温、高真空、高辐射等极端条件;另外,由于在空间环境条件下,电子产品的可维护性非常差,而且一旦发生故障,其后果往往比较严重,甚至是致命的。因此相对于普通计算机,其可靠性要求更高。
在航天领域,美国现在使用的最高端的星载计算机,采用的是基于POWERPC体系结构的。欧空局为了摆脱美国对其空间研发能力的制约而独立开发了基于SPARC V7机构的面向空间应用的微处理器:ERC32,其辐射加固版本已经成熟使用于航天环境中。06年5月22日,基于LEON SPARC V8的处理器也成功使用于航天工程。可以说SPARC体系结构的CPU在今后的航天计划中将发挥更大作用。
尽管国内的IC研发和设计水平同国际先进水平相比还存在着较大的差距。但是,随着国内半导体工业的发展,国内已能生产出可以在空间环境应用的处理器,有些处理器已有在轨飞行的经历,但基于这些处理器的航天计算机性能比较低,处理能力不超过11MIPS,性能功耗比小,重量体积又偏大,不能适应我国航天工程未来的发展。近年来,我国加速了军用器件国产化的步伐,研制出了较高性能的处理器,本设计采用的国产CPU是32位RISC处理器,主频150MHz,处理能力80MIPS@133MHz,这款CPU是目前国产的可在空间应用的CPU中性能比较高的。本处理器基于SPARC V8 体系结构,内部采用AMBA总线可扩展结构,带有32kb指令缓存和32kb数据缓存。功耗低于1瓦,具有检错和纠错功能,支持对寄存器堆和外部存储器的EDAC,以及Cache的奇偶校验。芯片采用0.18um CMOS工艺,抗γ总剂量:100Krad(Si)。
2 硬件实现方案
2.1 总体设计
本设计考虑到计算机的可扩展性,采用底板、主板、电源板分离,并在底板上预留了两个扩展插槽,便于将来功能扩展时使用。
图1 计算机总体框架图
2.2 CPU主板设计
由于1553B总线具有极高的可靠性,因而在航空、航天、军事等领域的电子联网系统中得到广泛应用。1553B总线具有以下优点:类似局域网结构;冗余容错能力:支持"智能"远置终端;高可靠的故障隔离性能;实时可确定性。本设计中引入1553B总线。
图2 CPU主板框架图
主板的布线要主要电磁兼容的影响,采用六层电路板,布线时主要电源分割和多层走线策略。另外用一片小的CPLD可以将简单电路集成其中,简化电路复杂程度。
2.3 其它硬件设计
电源板的设计,要考虑到为本系统提供高效和稳定的电源。本系统电路较复杂,电源板要提供多个电平的电源给系统使用。底板的设计较为简单,它把整个系统集成到一起。而扩展板设计主要是为了具体工程和项目需求而进行更改设计。
图3 系统实物图
3 底层软件方案
3.1 V8汇编语言
3.1.1 语言格式
V8 的汇编语言以段(section)为单位组织源文件。段是相对独立的、具有特定名称的、不可分割的指令或者数据序列。段可以分为代码段和数据段,代码段存放执行代码,数据段存放代码运行时需要用到的数据。一个源程序至少需要一个代码段,大的程序可以包含多个代码段和数据段。
V8 的汇编语言源程序经
- SPARC V8处理器断点调试的设计与实现研究(04-18)
- AMBA片上总线在基于IP复用的SoC设计中的应用(06-13)