SPARC微处理器综述
扫描二维码
随时随地手机看文章
摘 要:SPARC是一个开放的体系结构标准,它基于80年代加州大学伯克利分校对RISC微处理器的研究成果,现在已成为国际上流行的RISC微处理器体系架构之一。本文介绍了SPARC微处理器的发展历史、优势特点和国内外现状,并对其未来发展进行了展望。
关键词: SPARC,微处理器
引言
SPARC(Scalable Processor ARChitecture)可扩展处理器架构是SUN公司在1985年提出的体系结构标准,它基于1980年到1982年间加州大学伯克利分校关于Berkeley RISC的研究成果,并由一个独立、非盈利组织SPARC International[1]负责SPARC架构标准的管理和开发认证,是国际上流行的RISC(Reduced Instruction Set Computer)微处理器体系架构之一。
SPARC是开放的,任何机构或个人均可研究或开发基于SPARC架构的产品,如东芝、富士通、Aeroflex、ESA(Europen Space Agent)等都在此架构上开发出了自己的SPARC微处理器。
SPARC微处理器(基于SPARC架构的微处理器)的显著特点就是它的可扩展性,从笔记本到超级计算机上的微处理器均可采用SPARC架构。1987年由SUN和TI公司合作开发的微处理器,称为“Sparc”,是业界出现的第一款有可扩展性功能的微处理器。“Sparc”用于Sun-4 计算机中,它的推出为SUN奠定了其在高端微处理器发展中的领先地位。在服务器领域,以性能卓越而闻名SUN服务器采用的就是SPARC架构;在高可靠嵌入式应用方面,国际空间站上的控制计算机 DMS-R和太空观测台JEM-EUSO上均使用SPARC微处理器。
1 SPARC架构及其微处理器的发展历史
1987年,SUN发布了业界第一款有可扩展性功能的32位微处理器“Sparc”。因为它采用了SPARC 的首款架构SPARC V7,所以获得了更高的流水线硬件执行效率和更为优化的编译器,并缩短了其开发周期,满足了Sun-4 计算机迅速投放市场的要求。
由SUN在1985年发布的SPARC V7是世界上第一个32位可扩展处理器架构标准,它基于加州大学伯克利分校的关于RISC微处理器项目的研究成果,如寄存器窗口结构。V7定义了SPARC体系结构的数据类型、寄存器、指令、存储器模型和异常处理,处理器指令字长是32位。它采用独立的指令(SAVE,RESTORE )来进行寄存器管理,用LOAD和STORE指令访问内存。
1990年,SPARC International发布了32位SPARC V8架构标准。它在SPARC V7的基础上增加了乘法和除法指令,加速乘除法的处理,使得用户不必使用子程序完成相同操作。
为了在本世纪微处理器发展上仍具有竞争性,SPARC International在1994年发布了64位SPARC V9架构标准。相对于SPARC V8,这一版本的显著变化在于:数据和地址的位宽由32位变到64位,支持超标量微处理器的实现,支持容错及多层嵌套陷阱,具有超快速陷阱处理及上下文切换能力。
图1:SPARC架构及其微处理器发展历史[2]
图1 显示了SPARC架构及其微处理器发展历史。1995年以前,基于SPARC V7或V8架构的微处理器种类不多,而且基本上只有SUN一家公司在研制开发。从1995年以后,基于SPARC V9 架构的64位SPARC微处理器日渐丰富,其面向高性能计算和服务器的微处理器得到了市场广泛的接受,如SUN的UltraSPARCT1/T2系列及富士通的SPARC64系列等。
随着基于SPARC V8架构的LEON2在2003年的发布,面向高可靠嵌入式领域(如工业控制、军工电子、空间应用等)的SPARC微处理器的研制得到了众多公司的青睐。ESA研制了基于SPARC V7架构的ERC32微处理器,ATMEL制造了SPARC V8架构的AT697微处理器。
国内也有多家公司和大学从事SPARC微处理器的研发。值得说明的是,北京时代民芯科技有限公司已成功研制出基于SPARC V8架构的高性能、高可靠嵌入式微处理器MXT0105及其片上系统芯片(SoC)产品MXT0106,微处理器MXT0105性能已达到且部分指标超过ATMEL公司的AT697。MXT0106是集成多路模拟量与开关量数据采集、多路模拟与数字信号输出、1553B通讯、多种外设接口的高性能、高可靠片上系统,内部通过AMBA总线将高性能CPU、浮点处理器、A/D、模拟开关、1553B总线控制器、I2C总线控制器、计数器、定时器、通用I/O、PWM输出等功能模块集成在单一芯片上,适合测试、实时计算以及控制领域应用,有效实现电气系统的集成化、小型化、轻量化、智能化以及低功耗。MXT0106的主频可达到150MHz,支持8/16/32位外部存储器数据访问,带有64路模拟开关、4路12位高速A/D转换器和1553B总线控制器,具备成熟的编译器、可视化集成开发环境、驱动程序、例程、BSP软件包、SoC 开发板支持。[!--empirenews.page--]
SPARC 微处理器具备精简指令集、支持32 位/64 位数据精度,架构运行稳定、可扩展性优良、体系标准开放等特点。此外,寄存器窗口技术既是SPARC微处理器的显著特点,也是SPARC架构不同于由斯坦福大学提出的MIPS微处理器架构的主要不同点之一。采用这项技术可以显著减少过程调用和返回执行时间、执行的指令条数和访问存储器的次数,从而易于实现直接高效的编译。如图2所示,它将工作寄存器组成若干个窗口,建立起环形结构,利用重叠寄存器窗口技术来加快程序的运转。每个过程分配一个寄存器窗口(含有一组寄存器),当发生过程调用时,可以把处理器转换到不同寄存器窗口使用,无需保存和恢复操作。相邻寄存器窗口部分重叠,便于调用参数传送。为每个过程提供有限数量的寄存器窗口,各个过程的部分寄存器窗口重叠。
伴随LEON2的发布,SPARC微处理器在嵌入式应用领域获得了巨大的发展空间,全球大约已有3万多个成功的应用案例。比较著名的是国际空间站上的控制计算机DMS-R及空间自动转移器ATV中均使用了SPARC微处理器ERC32,而在太空观测台JEM-EUSO上则使用了SPARC V8架构的微处理器。国内研制的SPARC微处理器在军工电子领域已得到应用,在民用领域正处于普及推广应用过程中。
3 SPARC微处理器未来发展趋势和展望
经过20多年的发展,SPARC微处理器凭借其持续的创新研发能力,不断取得骄人成绩。在服务器等高端处理器领域,SPARC Enterprise 服务器系列的M8000机型就是一个典型的例子,2007年,它在SAPERP2005、Oracle Database 10g和Solaris10运行环境下,刷新了16 路处理器级别系统中SAP SD 2-tier 标准应用基准测试的世界记录[3]。在空间应用等高可靠嵌入式应用领域,SPARC微处理器也发挥着越来越重要的作用。ESA决定在2013年发射的水星探测任务中采用SPARC微处理器。
SPARC架构标准的开放和最先进的多核心、多线程SPARC微处理器的设计代码开放,促使世界上越来越多的公司、机构和大学加入到SPARC微处理器的研发中。到目前为止,对于开源的SPARC微处理器设计代码,已经有超过10,000个下载。而业界对研究SPARC微处理器的积极响应,必将推动SPARC微处理器持续进步,让它始终具有超强的竞争性。
参考文献
[1] http://www.sparc.org/
[2] http://www.opensparc.net/
[3]“让开放系统兼备大型机优势”, Computing IT Week,2007(15)