处理器的发展现状和趋势
国内外现状
目前国外高性能微处理器的研制有两个明显的趋势。一是研制高性能处理器的公司在市场的洗牌中越来越集中到少数几家;二是单处理器性能的继续提高在主频、结构、功耗等方面都碰到了明显的障碍,因此各微处理器公司都纷纷推出多核结构的微处理器。
在九十年代末生产主流通用处理器的厂家很多,如Intel、AMD、IBM、HP、SUN、DEC、SGI等公司,形成了在通用处理器市场群雄逐鹿的局面。然而,经过近十年的市场洗牌,很多公司由于市场原因退出了通用处理器领域。目前,DEC、HP、SGI已经逐渐退出了处理器设计的角逐。
最早退出通用处理器市场的是DEC 的Alpha处理器。Alpha处理器无论从结构设计还是物理设计的角度都堪称技术的经典,甚至被很多教科书所采用,尤其是Alpha 21264采用0.35um的工艺实现四发射乱序执行的结构达到了600MHz的目标,现在也很难找到另外一支队伍能做出来。但在处理器市场中一个经验的规律是:技术越先进的公司,越没有市场。在DEC公司实现把同时多线程结构做到极致的Alpha 21464过程中,DEC公司就在1998被Compaq收购了。
具有讽刺意义的是,Alpha处理器的最早收购者,Compaq公司却比它更早消失。惠普公司在经过一笔富有争议的交易中合并了Compaq公司(这次的交易甚至导致了惠普管理层与包括惠普家族在内的部分股东的长时间的剧烈冲突)却马上面对一个个棘手的问题,即在扩展基于新的64位构架(IA64)系统生产线的同时,是否还要生产正在走下坡路的另外两个系列的产品(PA-RISC和Alpha)。目前,HP公司已经宣布原Compaq的所有Alpha处理器开发和服务都将逐步中止(至2010年),而原先EV8的开发小组已经完整地被Intel招募了并且马上就投入了IA64架构的研发工作中,Alpha退出历史舞台已经是不争的事实。HP公司自己开发的PA8000系列处理器在2004年1月发布双核的PA8800芯片后也很久没有看到新产品推出[10]。
生产MIPS系列高性能处理器的SGI公司以2002年宣布停止MIPS 18000的研发为标志,也退出了处理器研发的历史舞台。由于连续十几年的亏损,SGI公司已经难以为继。
在剩下的几个微处理器生产厂商IBM、Intel、AMD和SUN中,前三者目前还看不到停止研发处理器的迹象,但IBM已经宣布不再对外销售Power系列处理器。SUN公司是否继续研发处理器则很大程度上取决于其雄心勃勃的Ultra SPARC V能否取得成功。下面对上述几个公司在多核处理器的研发方面的情况做简单介绍。
(1)IBM是最先推出多核微处理器的厂商,在高度自动化的MPU开发工艺上采用0.13微米工艺实现的Power4+已成为多核微处理器的代表性产品。IBM在蓝色基因巨型机中使用自己的双核芯片,奠定了其在多核微处理器研制方面的领先地位。
2001年发布的Power4片内集成两个Power3处理器核,每个核为8路超标量处理器,乱序执行,一级Cache私有,分别含有32KB的数据Cache和64KB的指令Cache,共享片内1.5MB的二级Cache。Power4采用180nm制造工艺铜互连,7层金属布线,大约集成了1.74亿个晶体管[13]。
2004年IBM又发布了Power5,Power5是双核同时多线程微处理器,集成两个处理器核,每个核为同时多线程(Simultaneous Multi-Threading, 简称SMT)处理器,能够同时执行2个线程。Power5由Power4扩展而来,改造为SMT仅增加了24%的芯片面积。Power5片内集成了1.92MB的二级Cache,此外还集成了三级Cache的目录以及存储控制器。Power5采用130nm制造工艺,集成了大约2.76亿个晶体管,工作频率在1.90GHz左右[14]。Power4/Power5主要用于高性能服务器和适度规模并行计算机系统。
2006年发布的Power6采用IBM的65nm SOI工艺,10层金属层,目标是5G Hz。相对于90 nm的工艺,在同样功耗的情况下,性能提高了30%,主要原因是采用DSL(dual-stress line)技术,该技术通过在CMOS channel加上不同的应力来达到提高电子或电洞迁移率。Power6中主要通过电路设计提高主频,其处理器核的频率达到5GHz。Power6是两路的多核处理器(Chip Multi-Processor,简称CMP)设计,集成了两个同时多线程的处理器核,每个核含有私有的L2 cache。4个Power6可以封装在一个多芯片模组中(MCM),包括32MB的L3 victim cache。
(2)Intel在过去一直不断对外表示,要推出超过十亿晶体管的处理器以捍卫摩尔定律,而Montecito就是Intel带给全世界的答案:17.2亿晶体管[18]。在晶体管数目的竞赛中,Intel凭借Montecito取得遥遥领先的地位。Montecito是一款双核多线程处理器,同时开发指令集并行性和线程级并行性,每个处理器核在Itanium2的基础上增加了2路阻塞多线程机制。Montecito采用90nm的制造工艺,片内集成17.2亿晶体管,每个处理器核分别含有16KB 一级指令Cache、16KB一级数据Cache、1MB二级指令Cache、256KB二级数据Cache以及12MB 三级Cache,最大功耗大约为100W,但CPU会根据当时的情况自动超频或降频运行,最低功耗可减少到70W。Montecito被Microprocessor Report评为2004最佳的服务器处理器,于2005年下半年发布。Intel在自己微处理器的发展蓝图中指出,今后各个领域的CPU都将采用多核结构。Intel基于P4系列的双核处理器为SmithField,采用90nm工艺,将两个P4的处理器直接封装在芯片上采用共享前端总线的结构,Yonah的处理器为共享L2 caches和系统接口,可以部分消除之前的前端总线竞争冲突问题。
2006年Intel推出了基于Core构架的处理器Conroe(酷睿2),处理器核基于Pentium M,最重要的一点是增加了流水线的宽度,由处理3条x86指令到能处理4条x86指令,增强了SSE功能,由64位通路增加到128位的通路,以及能执行128位的读指令(load),在cache共享上,能动态调节cache的分配,最优化cache的性能。Intel的数据表明Conroe比上一代处理器在性能上提高了40%,而功耗降低了40%。
(3)AMD和Intel一直是全球处理器市场上的两大宿敌。面对处理器高功耗的制约,Intel和AMD不约而同地将目光转向了多核处理器。AMD发展64位多核CPU的步伐走在了Intel前面,2004年8月演示了双核Opteron,其产品供货于2005年中期开始。双核Opteron片内集成2个x86-64核,每个处理器核有独立的L2 cache,通过crossbar互联处理器核和系统请求接口,片内集成的内存控制器,此外还集成互连和I/O控制器,包含3个HyperTransport 接口,能够方便地实现多处理器互连和I/O通信。双核Opteron采用90nm制造工艺,晶体管数量在2亿个以上,功耗小于95W,大大提高了微处理器的实际效能,相对于Intel早期推出的双核处理器,AMD有极大的性能和功耗有效性优势[17,21]。
(4)SUN和IBM一直在高端服务器市场竞争激烈。2001年,IBM率先发布了它的双核处理器POWER4 ,而SUN公司直到2004年上半年才发布了它的第一款双核微处理器UltraSPARC IV,并在下半年推出了UltraSPARC IV+。UltraSPARC IV采用CMT(chip multithreading)技术,片上集成了两个UltraSPARC III的内核、二级Cache的tag体和MCU,外部缓存16MB,每个内核独享8MB。UltraSPARC IV由德州仪器生产,采用0.13微米工艺,主频1.2GHz,功耗100W,和UltraSPARC III管脚兼容,实现系统的平滑升级。UltraSPARC IV+是UltraSPARC IV的0.09微米工艺的升级版本,而且增加了片上高速缓存的容量,主频1.8GHz。根据Sun公司内部人士透露,Sun公司即将推出片内8个处理器核,每个处理器核4线程的UntraSPARC V[15]。
2004年Sun公司公布了Niagara,也称为UltraSPARC T1,包括8个处理器核,每个核支持4个线程,共支持32个线程[16]。2006年8月,Sun公司推出了Niagara-2,包括8个Sparc的处理器核,每个核支持8个线程,共享4MB的L2 cache,分为8个bank,16路组相联,使用Crossbar把处理器核和L2 cache互联,含有4个双通道的FBDIMM(fully buffered DIMM)内存控制器,含有两个网络端口,1个PCI-E x8的端口,其信号管脚为711个,管脚的总数为1831。
与国外微处理器设计厂家不断合并相对应的是国内微处理器设计能力在“十五”期间的快速增长。在过去的五年中,国内微处理器设计主要包括以下特点:(1)在通用处理器和嵌入式处理器的研发方面都蓬勃展开;(2)产业化刚开始起步,还需要较长时间形成规模产业化;(3)主要集中在单处理器核的设计方面,部分研究单位在单处理器的研发方面已经达到很高的水平,可望在“十一五”期间展开多核处理器的研发。
在国家863计划和中国科学院知识创新工程资助下,中科院计算所从事龙芯系列高性能通用处理器的研制,先后完成32位的龙芯1号、64位的龙芯2号和龙芯2号增强型处理器(简称龙芯2E)的研制。龙芯2E兼容MIPS III指令系统,采用四发射的动态超标量超流水线结构,实现了先进的转移猜测、寄存器重命名、动态调度等乱序执行技术,以及非阻塞的Cache访问、取数猜测(Load Speculation)、存数合并缓存(Store Fill Buffer)等动态存储访问机制。龙芯2E的浮点部件能够支持SIMD结构的媒体运算以及双单精度(Paired-Single)的浮点运算。龙芯2E片内含64KB一级指令高速缓存、64KB一级数据高速缓存、以及512KB二级高速缓存,片内集成了DDR内存控制器。龙芯2E采用意法半导体(ST)90nm工艺设计,主频达到1GHz,具有低功耗(5-8瓦 )、高安全性特点,SPEC CPU2000的定点/浮点实测分值均达到500分,性能与中档的Intel P4处理器相当。基于龙芯2E的Linux-PC系统可以满足绝大多数的桌面应用,包括运行浏览器、办公套件、播放多媒体视频等。龙芯2E于2006年9月通过中科院组织的鉴定,鉴定专家组一致认为:“龙芯2E高性能通用CPU芯片在单处理器设计方面已达到国际先进水平,居国内通用CPU研制领先水平”。基于龙芯2E的低成本龙梦电脑、龙芯笔记本等样机已经研制出来,正进入试点阶段,产业化前景良好[1,2]。
目前,计算所正进行龙芯3号多核处理器的研制。龙芯3号将采用可扩展设计,处理器核数目很容易从几个扩展到几十个;将采用超级虚拟机技术,使得多种指令集(包括MIPS、Sun Sparc、X86)应用能够同时运行。此外,对于传统的如何利用多处理器核加速单线程问题,龙芯3号也将会采用软硬件结合的并行虚拟机方式加以解决。根据龙芯发展路线图,龙芯3号的第一个原型芯片将于2007年底推出。
2003年,国防科技大学承担了863计划《高性能通用CPU芯片》重大研究课题(YHFT64-I),2005年国防科大又承担了该项目的滚动支持项目。YHFT64-I采用目前EPIC技术,利用软硬件方法实现Intel 指令集兼容,能够并发执行8条指令。芯片设计采用了大量先进的微体系结构技术,如:多级分支预测技术、寄存器堆栈技术、控制前瞻/数据前瞻、谓词执行技术以及低功耗技术等,能够有效开发指令集并行性,极大提高处理器性能。YHFT64-1支持通用操作系统,支持多处理器结构,支持数据库、WEB等服务器应用。该芯片所有设计已经完成,采用Chartered 0.13μm Nominal 1P8M工艺,核心逻辑规模5800万晶体管,采用HPBGA封装,功耗12瓦,面积10X10mm2,引腿696个,工作频率300MHz,在2005年上半年完成投片。
此外,中芯微电子和北京大学、清华大学、同济大学等单位也已研制成功嵌入式CPU以及有关的SOC。
3. 高性能微处理器发展前沿
3.1 研究中的几种新型体系结构的处理芯片
下面简单介绍国外研究中的几种新型体系结构的处理芯片。
(1) IBM开发中的千万亿次(PetaFLOPS)计算机蓝色基因(Blue Gene)中的核心处理芯片是探索新型高性能CPU体系结构的重要一步。该芯片中含32个简单的PowerPC处理器及内嵌的DRAM,峰值性能可达到32GFLOPS。将DRAM集成在片内,使处理器到存储器的访问延迟大为缩短,访问带宽大大提高,也很大程度上减少了能量的消耗。为了通过精简设计提高运算速度和极大地降低功耗,每个处理器能执行的指令的数量都大大地减少了,但每个处理器仍可支持8个同时执行的线程以提高处理器利用率。片上还集成了6个2GB/s带宽的通道以实现与系统中其它同类芯片的通信。另外,考虑到构建超大规模计算系统时不可避免地会碰到因某个(些)结点失效而影响整体系统可用性的情况,它尝试采用自稳定和自修复的技术,即自动地从个别处理器或线程的失效中恢复过来。为此,在硬件上,处理器和通信链路上都采用了大量的冗余设计,在软件上,也需要特别增加分布式控制和恢复的机制。
(2) MIT研究的可重构RAW处理芯片采用了另一种思路[27]。RAW在单个芯片上将几百个非常简单的处理单元,用可重构逻辑连接起来,实现高度并行的体系结构。RAW允许编译器(或其它相当的软件工具)重新构建硬件体系结构的低层细节,对每个要加速的应用实现最佳的资源分配。这种结构设计简单,单元内部和单元之间的互连线短,能充分地支持流水线并行性,特别适于未来线宽变窄的半导体制造工艺。RAW的研究者认为,开始时,RAW体系结构还只适于流式的信号处理计算,但RAW方法未来将发展成为普适的解决方案。
图1给出了RAW中一个处理器的框图。其中下半部分就是一个普通的RISC流水线处理器(其复杂度跟龙芯1号差不多)。其特殊之处在于在执行部件前的旁路部分,除了常规从寄存器中取出的操作数和从功能部件刚算出的操作数外,还有通过通信网络从别的处理器那里送过来的操作数。在灵活的互连网络的配合下,这个机制巧妙地把多个处理器的功能部件耦合在一起,构成功能复杂、动态重构的并行处理系统。
(3) 在2005年国际固态电路会议(ISSCC)上,IBM、Sony和Toshiba首次公开介绍了设计中的Cell高性能处理芯片[30]。这三个企业联合设计Cell芯片的工作始于2001年3月。Cell的一个主要用途是Sony的第三代Playstation游戏机PS3,但IBM同时也宣称,Cell将是片上超级计算机(supercomputer-on-a- chip)。从ISSCC2005上披露的第一款Cell芯片的情况来看,它确实能同时满足前述两个方面的应用要求。Cell处理芯片可在4GHz频率下工作,其宣称的峰值浮点运算速度为256GFLOPS,可惜这只是单精度且不符合IEEE 754标准的浮点运算(如果针对游戏应用,这是合适的,因为速度比精度更重要)。Cell同时也支持完全符合IEEE 754标准的双精度浮点运算,但速度约是单精度的十分之一,估计为25-30GFLOPS。即使这个速度,也达到了当前主流高性能微处理芯片的5-10倍。因此,基于Cell处理芯片,在一个机柜里就可以实现足以跻身TOP500排行榜前列的超级计算机。
Cell采用了与主流高性能处理芯片全然不同的片内分布式体系结构(图2)。总体上看,它由一个相对比较简单的支持同时双线程并行的双发射64位PowerPC内核(称为PPE)和8个SIMD型向量协处理器(称为SPE)构成。片内有一个高带宽的环状高速总线(EIB)把PPE、SPE及RAMBUS内存接口控制器(MIC)、FlexI/O外部总线接口控制器(BIC)连接起来。PPE主要负责控制并执行操作系统,SPE完成主要的计算任务。SPE的SIMD执行部件是128位宽的,从而可在一个时钟周期里完成4个32位的定点或浮点乘加运算。SPE里内置了256KB的SRAM作为局部存储器(它的编址独立于片外的DRAM)。不采用自动调配数据的cache机制,使SPE更像一个向量处理器,从而也更多地依赖程序员或编译器的作用来发挥性能。同样,SPE里没有动态分支预测机制。所以,SPE配备了较大的寄存器堆(128个128位的寄存器)来尽量减少对存储器的访问,并尽可能地展开循环、减少分支。
Cell虽然实现了很高的性能,但也存在一些问题。例如,如果要往游戏或多媒体以外的应用发展,编程模型和软件开发问题还没有很好解决。又如,前面提到的芯片设计的复杂度和功耗问题也没有很好地解决。Cell的第一款芯片用 90纳米SOI工艺全定制实现,8层铜连线,芯片面积为221mm2,含2.34亿晶体管。这个复杂度已经超过了Intel的安腾二代,如果想用在家用游戏机里,成本是个大问题(据说Sony计划在PS3里采用只包括4个SPE的Cell版本)。Cell芯片采用42.5mm42.5mm尺寸的BGA封装,共1236个接触点,其中506个是信号。据估计在1.1V供电4GHz运行时,芯片功耗约50-80瓦(据说1.4V供电时可运行到5.6GHz,功耗180瓦)。
(4) IBM和德克萨斯州立大学联合开发中的TRIPS(Tera-Op Reliable Intelligently adaptive processing System)芯片是设计具有每秒万亿次运算能力芯片的第一个尝试[28,29]。TRIPS结构采用粗粒度的处理器内核,以便在有较高指令级并行性的单线程应用上实现更高的性能;并在同一芯片上重复设置许多这样的内核,便于扩充。片上还集成了存储部件和通信部件,并允许软件调度程序对它们灵活配置,以获得最佳性能。图3给出了TRIPS结构的一个大略框图。左边是其总体框图,包括八个网格处理器(黑色大方块)、若干可配置的存储体(灰色小方块)和一些连接片外存储器(DRAM阵列)的接口通道(黑点)。右边是网格处理器的具体结构,其中圆点是处理单元,外围的一圈长方块里有共享的寄存器堆、高速缓存、分支预测器等。
图3 TRIPS处理器结构图
TRIPS的目标是在35纳米的工艺条件下,达到5TFLOPS的峰值浮点运算性能。TRIPS同时还兼顾桌面应用和服务器应用,希望到2010年,能把桌面PC、高性能计算、数字信号处理、服务器应用等都统一到同一类型的CPU芯片上。
(5) AMD正在逐步公布其技术路线图,尤其是四核处理器的计算技术。该四核处理器采用65纳米技术,其具有2MB三级缓存、512KB二级缓存和64KB一级缓存。该设计的四个核共享硅底板和隔热层,与现有的Socket F(1207)兼容。 这样,用户就能轻松实现性能升级,而无须担心图像管理问题。该技术突出之处在于65纳米SOI处理技术、经过改进的Power Now!性能、集成的存储器控制器和直接互连架构。AMD四核处理器技术还将包括:改进的分支预测、乱序Load执行、双128位SSE数据流、位级控制扩展和SSE扩展。另外,还包括8GB/秒的HyperTransport连接、改进的Crossbar、DDR2支持技术。
(6) Intel开发万亿级研究芯片。2006年9月26日,在Intel开发者论坛中,Intel公司的首席技术官Justin Rattner首次介绍了Intel的“万亿级”研究原型芯片及其三个主要的技术突破。“万亿级”研究原型芯片是世界上第一个达到每秒1万亿次浮点运算(one trillion floating-point operations-per-second,TeraFLOP)的处理器,包括80个处理器核,频率为3.1 GHz。该研究原型芯片综合了Intel公司近来在硅光子学方面的技术突破,达到了万亿次级计算操作的三个主要要求:即TeraOPS的性能、每秒万亿字节的访存带宽以及每秒万亿比特的I/O速度。尽管这些技术的商业应用可能在未来数年才能实现,不过这毕竟是在计算机和服务器中进行万亿次级操作方面跨出的激动人心的第一步。第一个创新点是:与其他现有芯片的晶体管排列方式不同,“万亿级”芯片包括了80个瓦片(tile),排成8×10的行列结构。每一个瓦片都包括一个带简单指令设置的小型核心,用于处理浮点数据,但是与Intel的结构不兼容。第二个创新点是:有一个20兆字节的SRAM内存芯片,其被重叠绑定在处理器模上。与处理器模的叠放使数百个芯片互连成为可能,并且可在内存和核心之间提供超过每秒万亿字节的带宽。第三个创新点是采用混合硅激光芯片,该技术可以形成每秒万亿比特的光学通路。
阅读(5239) | 评论(0) | 转发(0) |