当前位置:首页 > 技术学院 > 技术前线
[导读]在现代计算机处理器的发展长河中,SPARC架构是极具传奇色彩的经典RISC架构之一。它诞生于上世纪80年代RISC技术全面爆发的时代,由Sun Microsystems主导设计,从诞生之初就凭借开放的架构理念和卓越的性能表现,快速在工作站、高端服务器市场站稳脚跟,甚至在航天航空等对可靠性要求极致严苛的特殊领域,至今仍保持着旺盛的生命力。很多年轻的嵌入式开发者对SPARC的印象停留在“老旧的工作站处理器”标签上,但实际上它的很多设计思想,比如寄存器窗口、全开放的授权模式,直到今天还在影响着众多RISC架构的设计思路。

在现代计算机处理器的发展长河中,SPARC架构是极具传奇色彩的经典RISC架构之一。它诞生于上世纪80年代RISC技术全面爆发的时代,由Sun Microsystems主导设计,从诞生之初就凭借开放的架构理念和卓越的性能表现,快速在工作站、高端服务器市场站稳脚跟,甚至在航天航空等对可靠性要求极致严苛的特殊领域,至今仍保持着旺盛的生命力。很多年轻的嵌入式开发者对SPARC的印象停留在“老旧的工作站处理器”标签上,但实际上它的很多设计思想,比如寄存器窗口、全开放的授权模式,直到今天还在影响着众多RISC架构的设计思路。

作为业界首款主打可扩展性的商用微处理器架构,SPARC从1987年第一颗量产芯片诞生,到后续UltraSPARC系列横扫高端服务器市场,再到如今在航天嵌入式领域持续发光发热,四十余年的发展历程中留下了大量值得深入了解的技术细节。今天我们就从它的发展历程、核心设计特色、典型应用场景几个维度,全面解析这颗经典处理器的独特魅力。

SPARC架构的发展历程与技术演进

SPARC的诞生和上世纪80年代RISC技术的兴起密不可分。1984年,Sun公司的研发团队联合提出RISC架构理论的伯克利大学团队,正式启动了SPARC架构的研发工作,它的全称为Scalable Processor Architecture,也就是可扩展处理器架构,从命名就能看出Sun对它的核心定位:打造一款可以从低端工作站一直平滑扩展到高端多处理器服务器的通用处理器架构。

1987年,首款量产的SPARC处理器正式亮相,这款基于SPARC V7架构的芯片由Sun和德州仪器合作生产,采用0.8微米的制造工艺,主频仅为16MHz,每秒可以处理一千万条指令,性能远超当时同主频的CISC架构处理器,直接帮助Sun的工作站产品打破了营收十亿美元的大关。之后的几十年里,SPARC架构经历了多次关键的版本迭代:1990年推出的SPARC V8架构,新增了硬件乘除指令和完整的浮点运算支持,成为后续嵌入式SPARC实现的主流标准;1993年发布的SPARC V9架构,正式从32位升级到64位,支持64位的地址空间和数据运算,把SPARC的性能上限推到了全新的高度。

后续Sun推出的UltraSPARC系列处理器,把SPARC的市场影响力推到了顶峰:1995年首款64位UltraSPARC I处理器量产,搭配自家的Solaris操作系统,在高端服务器市场和IBM、HP的同类产品正面竞争;1999年亮相的UltraSPARC III采用0.18微米工艺制造,主频从600MHz起步,最多可以支持上千颗处理器协同工作,凭借对Solaris生态的完美兼容,拿下了大量企业级服务器的市场份额;后续推出的双核UltraSPARC IV、8核32线程的UltraSPARC T1、集成加密加速单元的UltraSPARC T2,不断刷新SPARC处理器的性能纪录,让它在高端计算领域始终占据一席之地。

2010年Sun公司被甲骨文收购之后,虽然甲骨文在2017年裁撤了全部SPARC处理器研发团队,逐步停止了通用服务器市场的SPARC产品更新,但富士通接过了技术延续的接力棒,继续生产面向高端市场的SPARC兼容处理器。而在嵌入式和航天领域,SPARC架构非但没有淡出市场,反而凭借极高的可靠性持续发展,至今仍是星载计算机领域的主流选择之一。

SPARC架构独树一帜的核心设计特色

SPARC能在RISC架构百花齐放的时代脱颖而出,靠的是一系列极具前瞻性的独特设计,这些设计哪怕放到今天来看,依然充满了技术巧思。

最具标志性的设计就是寄存器窗口技术。和传统处理器把所有寄存器暴露给软件直接使用不同,SPARC的寄存器文件被划分成多个独立的重叠窗口,每个窗口都包含输入寄存器、局部寄存器、输出寄存器,再加上一组全局共享的寄存器。当程序执行函数调用指令时,不需要像其他架构那样把寄存器数据压入栈中保存,只需要简单移动窗口指针,新的函数就能直接使用上一层函数的输出寄存器作为自己的输入寄存器,完全不需要任何数据搬移操作。这个特性让函数调用和返回的耗时降到了极低的水平,特别适合运行大量使用函数封装的高级语言代码,在资源受限的嵌入式场景中,开发者还可以灵活配置窗口的数量,在性能和芯片面积、功耗之间找到最佳平衡点。

第二个核心特色是极致的可扩展性设计。从架构定义之初,SPARC就把多处理器支持作为核心设计目标,它的总线接口设计专门针对多处理器并行场景做了优化,支持高带宽的总线访问,减少多处理器之间的访问冲突和等待延迟。早期的UltraSPARC III就已经支持上千颗处理器协同工作,这种跨数量级的扩展能力,在同期的其他RISC架构中是非常罕见的。同时SPARC采用完全开放的授权模式,Sun公司开放了全部的架构技术规范,任何厂商都可以拿到完整的设计文档,生产兼容SPARC架构的处理器,这种开放策略吸引了大量厂商加入生态,进一步扩大了SPARC的市场影响力。

第三个特色是高可靠性的异常和中断处理机制。SPARC架构定义了非常精细的中断和陷阱处理体系,处理器划分了不同的特权级别,配套专门的陷阱向量表,中断响应时间完全可预测。面向嵌入式场景的SPARC实现,大多没有采用现代消费级处理器的乱序执行、分支预测这类复杂设计,而是采用极简的单流水线顺序执行架构,芯片逻辑极其精简,辐射耐受能力极强,在太空环境下很难出现单粒子翻转导致的运行异常。

SPARC架构至今活跃的典型应用场景

虽然在通用消费级和普通服务器市场,SPARC已经逐步退出主流视野,但在几个对可靠性、实时性有极致要求的特殊领域,它至今仍是不可替代的主流选择。

首先是航天航空领域。欧空局很早就基于SPARC V7和V8架构,开发出了面向航天场景的ERC32、LEON系列处理器,这些处理器的设计完全开源,可修改性极强,中国的西安微电子研究所等科研机构也基于SPARC架构开发出了自主可控的星载计算机处理器。这类SPARC衍生芯片,经过了严格的抗辐射加固设计,能在太空的强辐射环境下稳定运行十几年,是很多卫星、深空探测器的核心计算单元,陪伴航天器完成各种极端环境下的探测任务。

其次是工业控制和高可靠嵌入式场景。很多工业领域的核心控制设备,要求系统连续运行十几年不能重启,不能出现任何不可预期的运行错误,SPARC架构的极简设计带来了极高的运行确定性,完全没有现代复杂处理器中各种难以复现的隐性bug,非常适合这类高可靠场景。很多工业控制系统的核心计算板卡,至今依然使用SPARC架构的处理器,保证设备长期稳定运行。

最后是传统Unix遗留生态场景。大量运行Solaris操作系统的传统企业级服务器,承载着银行、电信行业的核心业务,这些业务的代码已经稳定运行了几十年,完全不需要迁移到新的架构平台,继续使用SPARC处理器就能保证业务的持续稳定运行。

SPARC架构的发展历程,是整个RISC处理器发展历史的缩影。它没有像后来的很多消费级处理器那样,一味追求极致的主频和复杂的特性,而是始终围绕高可靠、高可扩展的核心定位深耕,哪怕在通用市场逐步淡出,也能在高可靠的特殊领域找到自己的生存空间。它的寄存器窗口、开放授权等设计思想,直到今天依然在给新的RISC架构设计提供参考,是计算机发展史上当之无愧的经典处理器架构。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭