当前位置:首页 > 技术学院 > 技术前线
[导读]在计算机处理器发展的历史长河里,RISC架构的兴起彻底改变了整个行业的面貌,而说起RISC架构的代表,很多人第一时间会想起ARM,却常常忽略了SPARC——这个比ARM诞生更早、对现代RISC设计影响深远的架构。从1987年太阳微系统(Sun Microsystems)推出第一款SPARC处理器,到如今甲骨文(Oracle)旗下的SPARC T系列、M系列服务器芯片,SPARC走过了近四十年的发展历程,它既是RISC设计思想最早的践行者,也在服务器领域留下了太多经典设计。

在计算机处理器发展的历史长河里,RISC架构的兴起彻底改变了整个行业的面貌,而说起RISC架构的代表,很多人第一时间会想起ARM,却常常忽略了SPARC——这个比ARM诞生更早、对现代RISC设计影响深远的架构。从1987年太阳微系统(Sun Microsystems)推出第一款SPARC处理器,到如今甲骨文(Oracle)旗下的SPARC T系列、M系列服务器芯片,SPARC走过了近四十年的发展历程,它既是RISC设计思想最早的践行者,也在服务器领域留下了太多经典设计。今天我们就来浅析SPARC处理器的架构特点与发展历程,看看这个老牌RISC架构究竟有哪些独特之处。

一、SPARC的起源:RISC思想走向商业化的里程碑

SPARC的全称是Scalable Processor Architecture,即可扩展处理器架构,它的设计最早起源于伯克利大学的RISC项目。上世纪80年代,帕特森和亨尼斯提出RISC(精简指令集计算机)概念的时候,整个行业都还沉迷在CISC(复杂指令集)越来越复杂的设计思路里,认为指令越多功能越强。伯克利大学的研究团队通过大量实验发现,程序运行中80%的时间只用到了20%的简单指令,复杂指令不仅硬件实现困难,实际利用率还很低,于是提出了精简指令集的设计思路:只保留常用的简单指令,让硬件变得更简单,主频可以做更高,还能留出更多芯片面积给寄存器,提升运行效率。

太阳微系统敏锐地捕捉到了RISC的潜力,在伯克利RISC研究的基础上,推出了商业化的SPARC架构,1987年第一款SPARC处理器正式问世,一下子就展现出了RISC架构的性能优势。和同时代的CISC处理器相比,SPARC在相同主频下性能提升了一倍以上,很快成为高端工作站和服务器的首选架构,也让整个行业开始认可RISC设计思想,为后来ARM、RISC-V这些RISC架构的发展铺平了道路。

SPARC从诞生起就走了开放授权的路线,太阳微系统在推出架构之后,允许其他厂商获得授权生产自己的SPARC芯片,这一点和现在的ARM很像,比RISC-V的开源开放早了几十年。上世纪90年代,除了太阳微系统自己,富士通、德州仪器等不少厂商都推出过自己的SPARC处理器,SPARC也一度成为高端工作站市场的主流架构,鼎盛时期占据了全球工作站市场超过一半的份额,很多早期的互联网服务器都是用SPARC架构搭建的。

二、SPARC的核心架构特点:经典RISC设计的范本

作为最早商业化的RISC架构,SPARC的核心设计完美体现了RISC的设计思想,很多设计思路甚至影响了后来所有RISC架构的发展,我们来看它最核心的几个特点。

首先,SPARC是典型的加载-存储架构(Load-Store Architecture),也叫寄存器-寄存器架构。这是RISC最核心的设计原则之一:除了加载(load)和存储(store)指令可以访问内存之外,其他所有指令都只能操作CPU内部的寄存器,不允许直接访问内存。这种设计简化了硬件的指令译码和执行流程,让大多数指令都能在一个周期内完成,提升了处理器的运行效率。对比CISC架构允许指令直接访问内存的设计,SPARC的硬件实现更简单,指令执行周期更均匀,更容易流水线设计,这也是早期RISC性能超过CISC的核心原因。

在功能单元划分上,SPARC的设计也非常清晰:它把处理器核心分为整数单元(IU)和可选的浮点单元(FPU),对于SPARC V8版本还支持可选的协处理器(CP)。整数单元负责最基础的整数加载存储和算术运算,是所有SPARC处理器都必须具备的;浮点单元用来处理浮点运算,满足科学计算、图形处理这类场景的需求;协处理器则把接口开放给厂商,厂商可以根据自己的需求自定义协处理器的功能,架构本身不做强制规定,这种设计给了厂商很大的扩展空间。

SPARC最有特色的设计,当属重叠寄存器窗口机制,这是SPARC架构区别于其他RISC架构最标志性的设计。我们知道,程序运行中函数调用是非常频繁的操作,传统架构里函数调用需要把参数和返回地址压到内存栈里,函数返回的时候再从栈里弹出来,内存访问的速度比寄存器慢很多,会带来不小的性能开销。SPARC的重叠寄存器窗口机制就是为了解决这个问题设计的。

在SPARC架构中,任何时候程序都能看到32个通用寄存器,其中8个是全局寄存器,剩下24个属于当前的寄存器窗口。这24个寄存器又进一步分成了三组:输入寄存器(in registers)、局部寄存器(local registers)和输出寄存器(out registers),各8个。输入寄存器用来存放当前函数的入口参数,局部寄存器供函数内部临时使用,输出寄存器用来给当前函数调用的下一级函数传递参数。当发生函数调用的时候,只需要切换当前的寄存器窗口指针(Current Window Pointer,CWP),不需要把寄存器内容保存到内存,参数直接通过重叠的窗口传递,上一级函数的输出寄存器刚好就是下一级函数的输入寄存器,大大减少了函数调用时的内存访问次数,提升了调用速度。

这种设计在当时是非常超前的,对于函数调用频繁的应用来说,性能提升非常明显。当然,寄存器窗口机制也有缺点:它需要芯片集成更多的寄存器,增加了硬件开销,而且如果函数嵌套深度超过了寄存器窗口的数量,还是会发生溢出,需要把内容保存到内存。但从当时的应用场景来看,这种设计利大于弊,确实解决了函数调用的性能瓶颈,也成为SPARC架构最经典的设计符号。

三、SPARC的发展演进:从工作站到高端服务器

SPARC架构经过三十多年的发展,已经从最初的SPARC V8演进到了现在的SPARC V9,每个版本都顺应技术发展做了升级。

1990年推出的SPARC V8是32位架构, defines了基础的整数、浮点和协处理器接口,这个版本的SPARC广泛用在90年代的工作站和嵌入式设备里,很多早期的航天设备也用到了SPARC V8架构,因为它架构简单,稳定性高,抗辐射能力强,非常适合高可靠嵌入式场景。

1994年推出的SPARC V9升级到了64位架构,把通用寄存器从32位扩展到64位,支持更大的内存地址空间,增加了更多的浮点寄存器,还引入了可视性状态寄存器、分支预测等新的设计,满足了高端服务器对大内存和高性能的需求。SPARC V9一直沿用至今,现在所有的SPARC服务器芯片都是基于这个架构。

进入21世纪之后,太阳微系统看到了多核心多线程的发展趋势,推出了面向服务器的SPARC T系列处理器,主打高并发多线程性能,这一系列处理器把多线程设计做到了极致。比如2011年推出的SPARC T4,采用40nm工艺,最高主频达到3GHz,单芯片集成8个核心,每个核心支持8个硬件线程,单芯片总共可以支持64个硬件线程,在当时是数一数二的并发处理能力。SPARC T4还是第一个引入动态线程和乱序执行的SPARC T系列处理器,在保持高并发优势的同时,也提升了单线程的性能,解决了之前T系列单线程性能偏弱的问题,兼顾了高并发和单任务性能需求。

甲骨文收购太阳微系统之后,继续推出SPARC T5、M7、M8系列处理器,把核心数量提升到了32个,每个核心支持8线程,单芯片支持256个硬件线程,还加入了硬件加速的安全加密、数据库功能,专门针对企业级数据库和云计算场景优化,在高端服务器市场依然占据一席之地。

四、SPARC的现状与启示:老牌架构的坚守与沉淀

现在说起服务器处理器,大家第一时间想到的是x86和ARM,SPARC的市场份额确实大不如前,但它并没有退出市场,现在依然是甲骨文高端服务器产品线的核心,很多金融、电信领域的核心系统还在使用SPARC服务器,因为它稳定性高,可靠性强,在关键业务场景的表现已经经过了几十年的验证。

SPARC的发展历程,给我们带来了很多启发。首先,RISC架构的胜利不是一蹴而就的,SPARC作为最早商业化的RISC架构,第一次用实际产品证明了RISC设计思想的优越性,让整个行业接受了RISC,才有了后来ARM的蓬勃发展,它在计算机架构发展史上的贡献是不可磨灭的。

其次,开放授权是架构发展的正确方向,SPARC早在三十多年前就走了开放授权路线,允许不同厂商生产SPARC芯片,这种模式让SPARC活到了现在,也证明了开放生态比闭源封闭更有生命力,现在的RISC-V其实就是延续了SPARC当年开放的思路,只是走得更彻底,变成了完全开源。

另外,专注细分场景才能活下去,SPARC在通用市场竞争不过x86,但它在高端关键业务服务器领域,凭借几十年的技术积累和稳定性,依然有不可替代的位置,很多企业的核心业务对稳定性的要求远高于成本,SPARC刚好能满足这个需求,这就是它的生存空间。

当然,我们也要看到SPARC现在面临的挑战:生态不够开放,软件支持不如x86丰富,产品价格偏高,市场份额不断被x86和ARM挤压,未来的发展依然充满不确定性。但不可否认的是,SPARC作为RISC架构的先行者,给整个行业留下了太多宝贵的设计经验,很多设计思路依然在影响现在的处理器发展,比如RISC-V的开放设计理念,其实就能看到当年SPARC的影子。

SPARC处理器从伯克利的实验室走到今天,走过了近四十年的风风雨雨,它见证了RISC架构从边缘走向主流的全过程,也给我们留下了很多经典的架构设计。重叠寄存器窗口、加载-存储架构、开放授权这些设计思路,都深刻影响了后来处理器的发展方向。虽然现在SPARC已经不是市场的主流,但它作为RISC先行者的历史地位不会被磨灭,它给整个行业带来的启发,依然会在未来的芯片发展中发挥作用。对于计算机架构爱好者来说,了解SPARC的设计,就能更好地理解现代RISC架构的设计思想,看懂处理器发展的脉络,这就是我们今天分析SPARC处理器最大的意义。

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

在计算机处理器的发展史上,SPARC(Scalable Processor Architecture,可扩展处理器架构)是RISC(精简指令集计算机)技术的重要代表之一。作为Sun Microsystems(后被Orac...

关键字: SPARC处理器 处理器

在半导体行业经历百年未有之大变局的今天,一颗名为RISC-V的“开源芯片”正以破竹之势重构全球芯片生态。从加州大学伯克利分校的实验室到阿里云数据中心,从特斯拉自动驾驶芯片到亿级物联网设备,这个诞生仅15年的指令集架构,正...

关键字: RISC RISC-V

在这篇文章中,小编将为大家带来CISC处理器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: CISC 处理器 RISC

随着嵌入式应用的发展和16/32位RISC处理器技术的成熟,以及支持各种高端处理器的嵌入式操作系统的涌现和完善,嵌入式无线设备可以利用CDMA网络实现许多新的应用。

关键字: RISC 处理器

ARM架构是一种精简指令集计算机(RISC)架构,自其诞生以来,以低功耗、高性能和易于集成的特性,在计算机体系结构中占据了重要地位。ARM架构的发展历程从最初的ARMv1逐步演进至如今的ARMv9,每一代版本的更新都标志...

关键字: ARM RISC

上海2024年7月17日 /美通社/ -- 2024年7月5-6日,嘉会国际医院联合复旦大学附属华山医院陆九州教授共同举办肘关节镜主题学术沙龙及肘关节镜手术示教,针对肘关节治疗、疼痛管理与加速康复等方面展开深入探讨。活动...

关键字: BSP INA MULTI RISC

Blackfin处理器系列产品是由一种称为Blackfin的美国国防部高级研究计划署(DARPA)项目衍生而来。该系列产品是一款基于精简指令集(RISC)架构的高性能、低功耗处理器,适用于广泛的应用领域,如嵌入式系统、无...

关键字: Blackfin处理器 RISC 嵌入式系统

Nios II是一款由Intel公司开发的第二代精简指令集计算机(RISC)架构的处理器,主要应用于嵌入式系统和定制化硬件领域。其设计过程和开发环境的构建对于应用和定制化都至关重要。下面将简要介绍Nios II的设计过程...

关键字: Nios II RISC 精简指令集计算机

一直以来,ARM架构都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来ARM架构的相关介绍,详细内容请看下文。

关键字: ARM RISC 指令集

CISC [ComplexinstructionsetComputing]CISC [ComplexinstructionsetComputing]是指复杂指令集计算。1.具有非常多的指令,以满足各领域需求。2.简化了编...

关键字: RISC CIS COMPUTING INSTRUCTION
关闭