概念

SPARC(Scalable Processor Architecture,可扩展处理器架构)是SUN公司在1985年提出的处理器体系结构标准,它基于1980年到1982年间加州大学伯克利分校关于Berkeley RISC的研究成果,并由一个独立、非盈利组织SPARC Internationa负责SPARC架构标准的管理和开发认证,是国际上流行的RISC(Reduced Instruction Set Computer,精简指令集)微处理器体系架构之一。

可以说SPRAC跟Unix一起创建了工作站市场。从1987年诞生以来,SPARC结构包括了如下思想:
(1)将微处理器必须执行的指令的数量减少到最少。
(2)减少微处理器需要处理的内存地址的种类。
(3)尽量在微码中加入最少的处理器操作。
(4)提供编译优化SPARC微处理的语言的编译器。

特点

SPARC处理器策略主要有以下几个方面。
开放性。SUN认为开放性是技术成功的关键。多个销售商可以激励革新和合作。多种实现导致市场竞争和兼容产品。宽大的技术许可制度使得易于获取其技术规范。这些方法结合起来,增强了规范和实现的开放性。

可扩展性。从笔记本到超级计算机上的微处理器均可采用SPARC架构。1987年由SUN和TI公司合作开发的微处理器,称为“Sparc”,是业界出现的第一款有可扩展性功能的微处理器。

寄存器窗口技术既是SPARC微处理器的显著特点,也是SPARC架构不同于其他理器架构的主要不同点之一。采用这项技术可以显著减少过程调用和返回执行时间、执行的指令条数和访问存储器的次数,从而易于实现直接高效的编译。如上图所示,它将工作寄存器组成若干个窗口,建立起环形结构,利用重叠寄存器窗口技术来加快程序的运转。每个过程分配一个寄存器窗口(含有一组寄存器),当发生过程调用时,可以把处理器转换到不同寄存器窗口使用,无需保存和恢复操作。相邻寄存器窗口部分重叠,便于调用参数传送。为每个过程提供有限数量的寄存器窗口,各个过程的部分寄存器窗口重叠。

发展历史

1984,SPARC架构元年

20世界的80年代是RISC处理器的时代,RISC架构把较长的指令分拆成若干条长度相同的单一指令,可使CPU的工作变得单纯、速度更快,设计和开发也更简单。1984年,Sun工程师中的一个小团队开始研发被称为SPARC的32位RISC处理器,而SPARC项目的开发顾问就是提出RISC架构的David Patterson
SPARC是Scalable Processor Architecture的缩写,即可扩展的处理器架构,Sun对SPARC寄以厚望,当时首席执行官Scott McNealy认为SPARC可以将公司每年5亿美元的收入提升至每年数十亿美元。

1987,首款SPARC处理器诞生

Sun在1987年推出了第一款32位的SPARC 86900“Sunrise”处理器,这款处理器采用SPARC V7架构,采用0.8微米工艺,主频只有16MHz,当时被应用在Sun 4/260工作站上。第一款SPARC处理器规格虽然和现今的处理器无法相提并论,每秒仅可处理1000万个指令,但是这比当时的复杂指令集计算机(CISC)处理器要快三倍。SPARC最早的架构是V7版本,也是最基础的SPARC架构。

1990,SPARC V8架构推出

SPARC V8架构包含了几种关键改进,如硬件multiply/divide的 MMU 作用,支持对于128 位浮点运算。

1993,SPARC V9架构推出

增加了支持对于64位地址和数据类型,包括处理器从UltraSPARC到SPARC64 。

1995,64位UltraSPARC I

1995年,Sun公司的微处理器技术有了一次质的飞跃。继第一款SPARC微处理器之后,Sun推出了64位UltraSPARC I微处理器。UltraSPARC I革新了微处理器的可扩展性和带宽等工业标准,其频率达143MHz,采用0.5微米工艺技术,集成了520万个晶体管。UltraSPARC I的推出加强了Sun在高端微处理器市场的领导地位。

1997,UltraSPARC Ⅱ

仅仅两年后,Sun就推出了UltraSPARC I的升级版——UltraSPARC Ⅱ。UltraSPARC Ⅱ芯片频率为300MHz,采用0.25微米工艺技术,集成了600万个晶体管,比UltraSPARC I芯片的速度高2.5倍。在数据带宽方面,UltraSPARC Ⅱ高达1600MB/s,比当时其他同类产品高600MB/s;UltraSPARC Ⅱ的VIS指令集可加速多媒体、图像处理和网络等应用。在高性能通信处理器、高档工作站和服务器等市场,UltraSPARC Ⅱ在各种环境中均能提供业界较高的性能。

1999,里程碑式的UltraSPARC Ⅲ

1999年,Sun推出了第三代产品—— UltraSPARC Ⅲ,这是SunSPARC微处理器发展历史上具有里程碑意义的产品。UltraSPARC Ⅲ全面提高了系统应用程序的性能,它的带宽可达2.4GB,比UltraSPARC Ⅱ高出2倍。首款UltraSPARC Ⅲ微处理器主频达600MHz,采用了更先进的0.18微米工艺技术,集成了1600万个晶体管,并与Solaris操作系统和应用软件兼容。

借助出众的存储器带宽和多处理器可扩展性,UltraSPARC Ⅲ为电子商务、科学计算和数据开采等高性能计算应用提供了非同寻常的平台。凭借卓越的性能和Solaris操作环境,UltraSPARC Ⅲ进一步推动了服务器的发展。

2004,首款双核UltraSPARC IV

UltraSPARC IV是Sun公司的首款双核处理器, 于2004年上半年推出。UltraSPARC IV采用CMT(chipmultithreading,芯片多线程)技术,片上集成了两个UltraSPARC III的内核、二级Cache的tag体和MCU,外部缓存16MB,每个内核独享8MB。UltraSPARCIV采用0.13微米工 艺,主频1.2GHz,功耗100W,和UltraSPARC III管脚兼容,实现系统的平滑升级。

Sun紧接着在下半年又推出了UltraSPARC IV+。UltraSPARC IV+是UltraSPARC IV的0.09微米工艺的升级版本,而且增加了片上高速缓存的容量,主频1.8GHz。相对UltraSPARC IV制程更加进步,并且将一个新的L3缓存层与一个快速片上的2MB L2缓存、以及一个32MB的片外高速三级缓存连接在一起。此外,UltraSPARC IV+通过扩展的高速缓存、功能与转移预测机制、增强的预取能力等新技术,将UltraSPARC IV的应用吞吐量提高一倍。

2005,首款8核心UltraSPARC T1

2005年11月,Sun推出了UltraSPARC T1处理器,其代号为“Niagara”(尼亚加拉)。UltraSPARC T1处理器采用了基于SPARC的CoolThreads技术,还有一个创新性的8内核技术,每个内核有4个线程,共有32个线程。32个线程等于32个系统同时工作,这就使多任务能够并行执行,无需互相等待。UltraSPARC T1芯片节约了能耗并提高了系统的吞吐量,它还利用了Sun具有创新性的CMT(芯片多线程)处理器架构,以确保与Internet的多线程应用环境并驾齐驱。

UltraSPARC T1还进行大量的创新:它将系统架构放到了芯片上,内部的通信任务就在芯片上完成,数据几乎不靠金属传输,这样就获得了更高的功效和更高的特性;首次将4个内存控制器放到一块芯片上,芯片就成为了处理内核和内存之间的数据传输通路,这样数据就在被处理的同时迅速传入芯片;每一个UltraSPARC T1内核相对都很简单,它生成的热量很少,这使整个处理器所需功率小于70瓦。

2007,64线程的UltraSPARC T2

SUN公司在推出UltraSparc T1之后,就开始投入代号为“Niagara2”的“UltraSparc T2”处理器的开发。2007年8月,UltraSparc T2正式发布。UltraSparc T2虽然仍然保持8核心设计,但每个核心可支持的线程数提升到8个。换句话说,UltraSparc T2拥有高达64线程的并行处理能力,比UltraSparc T1整整提升一倍。

另外,UltraSparc T2直接集成了8个独立的加密加速单元、支持虚拟运行的两个10Gbps以太网接口和八个PCI-E通道,而浮点单元仍保持精简设计的原则,数量只有8个。

多线程和虚拟运行是UltraSparc T2的拿手好戏,SUN表示UltraSparc T2的每个线程都可以独立运行一个操作系统,因此理论上一枚UltraSparc T2处理器可以最多支持64个系统并行运作。而在Web访问等事务处理中,64线程的UltraSparc T2将具备常规处理器难以达到的超快响应能力。也是为了应对多线程处理的需要,UltraSparc T2配备了4个内存控制器,内存总带宽将超过50GBps。

得益于65纳米工艺,UltraSparc T2的工作频率提高到了1.4GHz,而平均工作仍保持在70瓦左右,即便全速运行不过为120~130瓦,平均每个线程只需要消费2瓦。

2008~2009,16核心“Rock”出师未捷

Sun在数年前还规划了面向中高端服务器应用的“Rock”处理器,独立于“Niagara”,替代目前的SPARC64。“Rock”被命名为“UltraSPARC-RK”,最早的计划是在2008年第二季度推出。

“Rock”处理器采用65纳米工艺,具备16个核心,芯片面积为396平方毫米,主频2.3GHz,功耗250W。16个核心被分成四个部分,每4个核心构成一个“簇”,4个核心共享一个I-cache、2个FPU和2个数据缓存。每个核心支持2个线程,总共支持32个线程,虽然从线程数量上远不如规划中的具备256个线程的Niagara-III,但是Rock具备更强的单线程能力,在每个核心的执行效率上会更高。Rock还具备“Scout预取”功能,实现指令的预取,提升处理器性能。

Sun对这款高端处理器寄以厚望,经历5年的研发时间并投入了数十亿的研发资金,不过遗憾的是,我们今后可能根本看不到这款处理器的身影。在研发过程中“Rock”出现了比较严重的性能问题,并没有达到当初Sun的预期,并且连续的财政赤字让Sun无力再继续负担高昂的研发费用,在2009年4月Sun被甲骨文收购 ,这个新东家也似乎不打算支持这个耗资巨大的项目,2009年6月中旬,纽约时报披露“Rock”已经被Sun废止 ,这个投入大量时间和资金的处理器最终出师未捷。

应用领域

基于sparc的工作站曾经大行其道炙手可热,但随着2009年4月Sun被甲骨文收购 ,sparc也从工作站,服务器市场退出历史舞台。目前,sparc出现在我们视野中并不多见,其实利用sparc处理器一直是航天上面在使用,由于其架构的开放性以及目前美国对中国的态势,sparc架构在航天、飞机、雷达领域的利用也是越来越重要了。

星载计算机,即在卫星上使用的计算机系统,是计算机技术在空间环境下的应用,负责完成空间飞行器的控制和数据处理任务。航天计算机是航天设备控制的中枢神经,随着航天工程复杂性的不断提高,设备对计算机的要求越来越高。航天电子产品不但要耐火箭起飞时的冲击、振动等苛刻的力学环境,而且要承受宇宙空间的高温、低温、高真空、高辐射等极端条件;另外,由于在空间环境条件下,电子产品的可维护性非常差,而且一旦发生故障,其后果往往比较严重,甚至是致命的。因此相对于普通计算机,其可靠性要求更高。由于空间环境的恶劣条件,从而对星载计算系统在性能、可靠性和成本上提出了巨大的挑战。在高昂的研究与制造费用、有限的硬件资源下,要确保海量数据处理的高可靠性是一项困难又关键的任务。

在星载计算机系统中处理器性能的稳定与可靠,在整个系统的稳定与可靠性中占有重要地位,因此选择合适的处理器架构变得相当重要。目前,在世界范围内星载计算机系统中所使用的处理器架构只有两种,一种是由美国使用的POWERPC架构,另一种就是欧洲主导的SPARC架构。在嵌入式领域颇为火热的ARM、MIPS、X86等架构,并不能够应用于星载计算中,或者说其不具备在这一领域应用的优势。

美国现在使用的最高端的星载计算机,采用的是基于PowerPC体系结构的。欧空局为了摆脱美国对其空间研发能力的制约而独立开发了基于SPARC V7机构的面向空间应用的微处理器:ERC32,其辐射加固版本已经成熟使用于航天环境中。06年5月22日,基于LEON SPARC V8的处理器也成功使用于航天工程。可以说SPARC体系结构的CPU在今后的航天计划中将发挥更大作用。

由于中国与美国的战略竞争关系,中国的星载计算机不太可能使用跟随美国使用POWERPC架构,因此SPARC架构目前正逐渐被国内相关星载处理器研制单位所采用,特别是因为SPARC架构的开源优势,可以替资本并不雄厚的本土IC设计企业省下一大笔开发经费。基于笔者的观察,目前国内研究与使用SPARC架构的机构有这么几家:西安微电子研究所(771所)、北京微电子研究所(772所)、国防科技大学、航天二院、哈尔滨工业大学、北京理工大学、北京航空航天大学、珠海欧比特控制工程股份有限公司等。

【SPARC】SPARC简介相关推荐

  1. Linux ALSA声卡驱动之一:ALSA架构简介和ASOC架构简介

    ALSA声卡驱动: 1.Linux ALSA声卡驱动之一:ALSA架构简介和ASOC架构简介 2.Linux ALSA声卡驱动之二:Platform 3. Linux ALSA声卡驱动之三:Platf ...

  2. Java虚拟机规范阅读(二)IEEE754简介以及Java虚拟机中的浮点算法

    什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表达实数.典型的比如相对于浮点数的定点数(Fixed Point Number).在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置 ...

  3. SPARC架构下的反汇编(一)——SPARC简介

    1. 写作目的&个人水平 之前做过SPARC架构下的反汇编项目,但资料比较少,所以写一点笔记,结合已有的资料以及个人的经验以便于查阅.总体来说就是资料的阅读理解和实际操作的经验.因为水平有限, ...

  4. [转帖]SPARC简介

    https://www.cnblogs.com/chaohm/p/5674886.html 1.    概述 SPARC(Scalable Processor ARChitecture,可扩展处理器架 ...

  5. 【硬件相关】SPARC简介

    1.    概述 SPARC(Scalable Processor ARChitecture,可扩展处理器架构)是SUN公司在1985年提出的体系结构标准,它基于1980年到1982年间加州大学伯克利 ...

  6. 国产自主可控的MBSE建模与仿真平台SkyEye

    转载: 2020年6月,哈工大.哈工程被美国商务部列入实体清单,禁用MATLAB事件频繁登上热搜,工业软件被称为「卡脖子」技术. 截止到2020年12月,中国已有超过300家企业和机构被列入美国&qu ...

  7. 国产自主可控的MBSE解决方案和全数字仿真平台(SkyEye)

    2020年6月,哈工大.哈工程被美国商务部列入实体清单,禁用MATLAB事件频繁登上热搜,工业软件被称为「卡脖子」技术. 截止到2020年12月,中国已有超过300家企业和机构被列入美国"实 ...

  8. 计算机硬件科研cpu飞腾,电脑硬件飞腾cpu什么架构

    飞腾在几年前就已经达到了国际主流处理器的水平,在飞腾2000出现的时候飞腾的机遇就出现了,没有强大的软件背景,国产cpu的发展缓慢,更不可能长期有效的发展,依靠目前中国的科技实力是非常困难下面小编为大 ...

  9. RISC-V架构总结1

    国产芯片能够自主一直是大家共同的期待!但无奈起步较晚,目前的通用计算平台已经是外国企业的天下.国产自主的芯片不仅仅是在工艺上还达不到目前商用芯片的水平,最底层的CPU指令集架构上也是处处受制于ARM, ...

最新文章

  1. MAP/CAP信令常见消息
  2. 华为js面试题_四面腾讯与华为,大厂前端面试真BT!
  3. AKOJ-1695-找素数
  4. HTML4.01复习笔记一
  5. ROS系统 C++或Python实现订阅者Subscriber
  6. Javascript 特效 转载
  7. 查看手机截图的坐标信息
  8. 辨别光纤收发器优劣的方法介绍
  9. 系统防止绕过程序直接数据库修改数据(金额等敏感数据)
  10. 【转】网络安全-------防止被抓包
  11. .net中SessionState相关配置
  12. Eclipse — 如何导入MySQL驱动
  13. CAM350软件使用说明----PADS相关
  14. 计算机组成原理课程全套ppt,计算机组成原理课程复习指导.ppt
  15. matlab导入vgg16,简单导入VGG16
  16. 写在而立之年到来之前
  17. Anchor-Free系列之CornerNet: Detecting Objects as Paired Keypoints
  18. MPI和OpenMP混合编程计算pi π值
  19. JavaEE进阶——FreeMarker模板引擎
  20. (Easyx联合c++的通讯录系统)续

热门文章

  1. 新东方 词根词缀 excel_词根词缀记忆英语单词,高效,不易遗忘
  2. 8cm等于多少像素_一寸照片像素是多少
  3. split 自动分割文件脚本
  4. 【优化算法】多目标灰狼优化算法(MOGWO)【含Matlab源码 099期】
  5. Arduino检测外部电池电量方法
  6. Spring Boot Actuator 端点启用和暴露
  7. 教你根据情况快速导入单号查询快递单号物流
  8. 2015北邮计算机考研复试上机题解
  9. 台式计算机睡眠了怎么唤醒,分享大家几种电脑深度睡眠怎么唤醒方法
  10. 雅诗兰黛公司选出董事会新成员