双/多核心的处理器发展史-四核时代兴起
双核心战事方歇,四核心战事再起。2004年10月微处理器论坛上,升阳(SUN)公布了下一代多核心多线绪的Nigara的计划,直接挑战八核心、单芯片32线绪平行执行的能力,而以大型计算机起家、有多年经验的日商富士通(Fujitsu),也同时公布其2007年下半双核心SPARC64Ⅵ处理器的计划。
双/多核心的处理器发展史-四核时代兴起
在x86架构的服务器部份,继双核心Opteron打响名号之后,AMD也紧接着进行其原生四核心的Opteron(arcelona)的研发计划,于2006年六月法说会中首度揭露,预计今年(2007年)下半正式推出。
Intel于2006年春季IDF中,展示将两颗双核心Core2 Duo以MCM封装方式封成一颗具备四线绪执行能力的四核心CPU,并且于去年第四季分别推出桌上型Core2 Extreme QX6700、Core2 Quad(代号Kentsfield),以及针对服务器打造的XEON 5300系列(代号Clovertown)。
而此时,多核心处理器也因需求/用途导向,从起初设计理念上出现路线的歧异。像是一开始就针对网络服务器运算的升阳UltraSPARC T1/T2,为高效能游乐器与刀锋服务器打造的STI CELL BE,加速浮点运算的Intel 80核心的NOC芯片等等。
接续上集,我们继续介绍针对一般网络服务器、游戏机/服务器,以及最普遍的x86服务器所设计,当今火红的多核心服务器CPU。
专为网络环境打造的升阳UltraSPARC T1/T2
Sun于在2002年6月并购Afara Websystem,取得该公司多核心处理器设计后,于次年(2003)年8月的IEEE Hot Chips论坛中,首度阐述CMT(Chip Multi-Threading;芯片多线程)概念,2004年2月更进一步提出『Throughput Computing』─结合多核心的网络处理的效能为思考核心,设计出兼顾高效能、低耗电且网络处理优化的CPU。
2005年11月,Sun正式推出代号Niagara的UltraSPARC T1处理器,与采用该处理器的Sun FireT1000/T2000「CoolThreads」服务器。由德州仪器(TI)以90奈米制程代工制造,总晶体管数两亿七千九百万颗(279M transistors),硅晶粒面积379mm2。频率为1.2GHz,设计功率为72~79W。
《图一 升阳发表的SUN SPARC T1-CoolThread处理器,轻松达成8x4=32颗核心目标》 |
|
"Sun-UltraSparcT1&block.jpg"
升阳发表的SUN SPARC T1-CoolThread处理器,轻松达成8x4=32颗核心目标
UltraSPARC T1八个核心各自内建一组辅助密码运算器(Modular Arithmetic Unit),针对网络服务器最需要的SSL编码与RSA密钥运算加速,同时在RAS方面,从CPU缓存器、地址转换缓冲器(Translation Lookaside Buffer)分别支持ECC修正纠错码与Parity侦错码。
《图二 预定下半年现身的SUN UltraSPARC T2处理器》 |
|
预定下半年现身的SUN UltraSPARC T2处理器
为了使UltraSPARC T2运算效能达到上一代UltraSPARC T1两倍的效能,UltraSPARC T2每个CPU核心内建两倍缓存器群(Register File)、执行单元,让每个CPU核心可以执行多达八个线程功能,一共具备64线程能力,相当于一颗实体UltraSPARCT2处理器,就内建64个逻辑处理器核心。同时为了改善浮点运算效能,每个核心都拥有独立的浮点运算器,改良型MAU密码处理单元,并且更大的共享型4MB L2高速缓存设计。
在I/O扩充功能上,SUN UltraSPARC T2内建对外连接内存改成四组双信道FB-DIMM全缓冲式内存,以应付未来服务器内存扩充的需求,同时内建一组PCI Express 8x总线控制器,以及两组10G/1GBps网络控制器,因此能提供网络处理运算所需要的I/O带宽。
《图三 由SCEI/Toshiba/IBM三巨头连手打造的CELL B.E处理器芯片》 |
|
由SCEI/Toshiba/IBM三巨头连手打造的CELL B.E处理器芯片Cell处理器是由日本新力计算机娱乐(Sony Computer Entertainment Inc;SCEI)、东芝(Toshiba)、美国国际商业机器(IBM)公司,于2001年三月联合成立STI设计中心之后,以IBM POWER核心架构为基础所开发针对于次世代高速游乐器运算、刀锋服务器的处理器计划。第一颗CELL Broadband Engine(CELL B.E)处理器于2005年11月三家公司联合公开揭露。
CELL处理器以90奈米铜导线SOI制程制造,晶体管数两亿五千万(250M Transistors),硅晶面积第一版为221mm2,后来第二版增加为235mm2。
STI CELL处理器方块图与硅晶电路
CELL B.E在刀锋服务器的运用上,搭配Toshiba设计的南桥芯片,第一个运用CELL B.E处理器的刀锋服务器(CELL BladeⅠ)工程原形机于2005年八月推出,起初工作频率仅2.4GHz,并搭配512MB~1GB XDR内存;随后2006年第三季,则推出CELL BladeⅡI服务器,CELL工作频率提升到3.2GHz,并搭配第二代Toshiba具备InfiBand总线的南桥芯片,搭配1GB XDR内存,刀锋服务器代号为QS20,并已经开始量产。
《图五 IBM运用CELL B.E处理器造出的QS20刀锋服务器(数据源:IBM网站)》 |
|
IBM预计在今年下半年推出Cell BladeⅢ刀锋服务器,预计将首度使用IBM自家设计的南桥芯片,能提供更大带宽的InfiBand总线控制器,整套CELL BladeⅢ刀锋服务器将提供16GB内存,10倍I/O传输带宽等规格。
Intel XEON 5355
2006年春季IDF正式宣布Intel Core微架构,并于在2006年第三季,发表该架构下第一颗桌上型双核心处理器Core2 Duo以及服务器处理器双核心XEON 5100系列(代号Woodcrest)。XEON5100具备最高3GHz的运作频率,1066MHz前端总线(FSB)频率频率,共享型4MB L2大容量快取设计,以及仅80瓦设计功率,甫一推出立刻以较上一代XEON 7100优秀的瓦效能,迅速的抢回原先流失的XEON服务器CPU市占率。
而因应AMD四核心Opteron的逐渐进逼,Intel先推出以两颗XEON 5100处理器,以65奈米制程、MCM封装方式封装成一颗实体外观的四核心处理器─XEON 5300系列(代号Clovertown)。特别是目前最高效能的四核心XEON 5355,工作频率2.66GHz,1333MHz前端总线,设计功率略增加到120W。总硅晶粒面积为286mm2,晶体管数为五亿八千两百万颗(582M transistors)。
Intel XEON 5300系列集结四个Core微架构核心,每个Core微架构均具备Wide Dynamics四线路宽执行引擎、Micro/Macro Fusion微/巨指令聚合功能、智能型快取、智能型内存存取、AdvancedDigital Media Boost(数字多媒体效能强化)以及智能节能等功能,但智能型快取部份仅限于两颗CPU核心之间4MB Shared L2部份,对外仍是两颗双核心CPU芯片各自独立管理4MB L2,所以L2总容量高达8MB。
每个单一CPU核心电路内建四组x86指令译码器,每周期可以撷取、译码四道x86脚本,并且进入指令暂存区等待分发到五组执行单元去执行与写回。同时内存地址线也增加到38条,最大控制2^38=256GB内存容量。Intel XEON 5100/5300系列跟桌上型Core2 Duo/Core2 Quad/Extreme开始,每单一CPU核心实作128位宽度的SSE运算电路,执行SSE/SSE2/SSE3多媒体指令效能得以倍增。
同时XEON 5300系列具备频率闸控制、增强型英特尔节能技术(Enhanced Intel SpeedStep Technology;EIST)、多组低电压数组电路设计(Low Vcc Array),以及各功能区块电路以sleep transistor依需要动态开启、关闭电源的设计。内部的128位宽度总线采取两段64bit分离式设计,必要时可以只启动一半(64bit)宽度的指令总线与相关的译码、执行单元,没有动用到的则自动关闭,对外的外频(FSB)以及终端电阻也是可以视需要来动态开启与关闭。
受限于非原生四核心的设计限制,两组双核心CPU仍须透过对外的前端总线,绕过外部内存来达成两组双CPU核心之间高速缓存一致性(Cache Coherence),加上Intel截至目前为止,都没有在CPU实作内存控制电路的打算,这L3 cache部份以及读写内存额外的时序的延迟,将会使得XEON 5300实际运作效能,特别是对外I/O效能上,面临到硅芯片同时内建四CPU核心、内存控制器的原生型四核心处理器Opteron严苛的挑战与考验。
明年08年第一季,Intel正式以45nm奈米制程打造的原生四核心Yorkfield处理器,预料Yorkfield将具备单晶粒结合四个实体CPU核心电路,并具备12MB L2 smart Cache的能力,预料它也会内建SSE4指令集,频率目前还不确定。
超威(AMD)的原生四核心Opteron(Barcelona)
在2005年中,率先开发原生双核心x86服务器CPU取得优势的超威(AMD),正进一步加速其原生四核心服务器处理器Quadcore Opteron的开发进度。于去年(2006年)10月中旬圣荷西举办的MicroProcessorForum'06微处理器论坛中,正式揭露正在开发的原生四核心处理器─代号Barcelona的处理器相关细节。
AMD四核心Opteron(Barcelona)由AMD/IBM合作开发的65nm奈米制程,在同一硅晶粒上实作四组CPU核心电路,硅晶粒面积为283mm2;每个CPU核心拥有专属的128KB L1快取与512KB L2高速缓存,四颗核心并联到一组共享(Shared)设计的2MB L3 Cache,各CPU核心的数据可以在同一硅晶粒电路内直接交换,并内建DDR2/DDR3双型态内存控制器。每个CPU核心仍维持三线路x86平行译码架构,没有要扩增为四线路甚至五组的打算,较Intel Core2 Quad/Extreme与XEON每个核心具备四线路译码能力相比,相形见拙了些。
《图八 AMD四核心Opteron每个CPU有专属L1与L2,四颗核心共享一组L3 Cache(数据源:AMD网站)》 |
|
四核心Opteron(Barcelona)核心将首度把L1 I-Cache扩增到256bit宽度,,L1 Cache传输带宽可以大幅倍增,增加较大的TLB(Transfer Lookaside Buffer)以增加内存分页寻址的效能,四核心Opteron也大幅强化FPU/SSE浮点运算效能,每一组CPU核心电路的浮点乘法、浮点加法单元,以及两组SSE运算单元全都都扩增到128bit,并追加LZCNT、POPCNT(位计次指令)、EXTRQ、INSERTQ、MOVNTSD、MOVNTSS等SSE3/SSSE3)指令集等,这点在规格上足以追上Intel Core2 Quad/Extreme以及XEON 5300系列。
四核心Opteron(Barcelona)实际地址线扩增到48bit(248=256TB),最大可以控制到高达256TeraBytes(=256K GB)的内存容量,远超过Intel四核心Core2 Quad或Intel Xeon 5300系列,仅38bit(238=256GB)的实际内存寻址能力;四核心Opteron具备的AMD Virtualization虚拟化技术,首度实作巢状化分页表(Nested Paging;NP)机制,可以做到让24组Guest OS独立管控内存,同时减少25%的超级监控者(Hypervisior)切换各Guest OS的切换时间。
AMD在四核心Opteron每个子CPU电路都设计了独立的PLL时序锁向回路,可以针对每个核心做动态调整工作频率的能力,当系统发现有哪个CPU核心进入闲置或负载不高的情况下,可以动态降低该子CPU核心频率,以节省整体四核心CPU的功耗。
除了CPU核心的强化之外,四核心Opteron也内建更强悍的4埠HyperTranport 3.0总线控制器,频率高达2.6GHz双向运作,可以提供16bit双向5.2GMT/s的传输交易效能,或10.6GB/s的数据传输带宽,并扩充到平行串联8颗实体处理器(16P)的能力。而AMD也开放透过HTX Slot扩展槽与HTX附加子卡的方式,让其他业界开发特殊应用的运算芯片,透过HyperTransport总线直接跟CPU连通。
AMD在2006年11月30日,实机展示原生四核心Barcelona处理器的效能展示,在跑Windows Server2003 64位版操作系统下,AMD宣称比原先双核Opteron多出70%的效能,在浮点运算项目则提升了1.8倍,并也超越包双核四核心架构的Intel Xeon 5335(代号Clovertown)处理器搭配的服务器约40%的效能。
根据AMD服务器最新规划,四核心Opteron处理器初期具备2MB L3,支持双信道援ECC Reg DDR2模块,核心频率由1.9GHz起跳至最高的2.5GHz,最高功耗拥有68W、 95W及120W三个不同版本。之后在2008年,会有个代号Shanghai(上海)的新四核心Opteron处理器,提供FB-DIMM内存的支持能力。
结论:多核心处理器的利弊与后续发展
多核心CPU的发展在优势上,由于用已经验证过的单一核心,以对称式的迭加起来,只要IC制程跟着上,同时控制好设计功率,再搭配多线绪化的软件,可以非常快的推出到市场上(Time to market),用最佳的效能/功耗比来直接提升平行运算的效能。
特别是在服务器计算机系统,向来就是最早导入双颗、四颗甚至多颗CPU所谓平行对称多处理器运算(Symetric Multi-Processor;SMP)的方式设计,相关的服务器操作系统、专属应用软件也已经多线绪化(MultiThreading),导入多核心CPU不仅相关硬件平台与软件环境搭配都最为成熟,同时还能缩减原先做四颗、八颗处理器的服务器平台的大小与建制成本,缩减到仅以往一颗实体CPU所需的系统,就能享有以往四颗、八颗甚至更多颗实体CPU平行运算的效能。
但比较伤脑筋的,则是多核心CPU的软件开发,许多『单线思考』的软件,在一个1GHz、四核心CPU上怎么跑,就是没有在一颗4GHz但单核心的CPU还来得快,换言之就是没有成相同或对等比例的增加,因此如何摆脱数十年来单线循序化撰写软件的思维,并督促厂商提供如何高度多线绪化的语言开发工具与编译程序,成为极为严苛的挑战。
另外在授权金的计算上,过去服务器、大型数据库软件,大多以系统布建CPU实际颗数来计费,但是当多核心CPU发展并普及到一定程度,以往能在一套4-Way单核心CPU系统收四倍CPU计价单位的钱,遇到一套1-Way四核心甚至八核心CPU系统,是要算一颗实体CPU的钱呢? 还是要算四颗甚至八颗的钱,用户能不能接受呢? 因此要如何制定新多核时代的授权金额,同时不会缩减自己营收,遭致以往多线单核心CPU客户的反弹,也成为这类软件厂商该谨慎思考的。
每一家多核心处理器的设计,一种是属于同质多核心(Homogenous Multi-Cores),以相同运算性质的多颗CPU核心电路迭在一起,各CPU核心可能有独立专用的L1/L2 Cache,也有将L2、L3高速缓存以共同连接(共享)方式连接在一起,也有将原本CPU核心予以简化后再连接在一起。像IBM POWER5+/POWER6、Intel XEON、AMD Opteron、SUN UltraSPARC T1/T2等就属于此类。
另外也有异质多核心(Heterogeneous Multi-Cores),则是针对不同线绪的任务需要,将不同处理特性的CPU核心迭加起来,像STI开发的CELL处理器,就是一组64bit PPE搭八组32bit SPE的组合。超威并购ATI之后,将CPU与GPU结合在同一硅晶粒的FUSION计划,将打造一颗同时具备传统程序/数据运算与图形处理效能于一体的超级SoC芯片,涵盖目标将从最下游CE消费性电子产品、可移植性装置、笔记本电脑、桌面计算机到工作站、服务器全方位x86核心目标。
多核心的发展能到多远的境界呢? Intel在今年二月ISSCC 2007国际固态电子电路会议中,揭露了其开发的4.1GHz 80核心的NoC多核心浮点运算芯片,可达到1.28TFLOPS的浮点运算效能。也许可以给予我们一个对明日,能将一套占地有足球场大小的超级计算机,浓缩到一部当今你我带着走的笔记本电脑的效能憧憬。
《图九 Intel于ISSCC'07展示其80核心处理芯片(数据源:Intel,ISSCC 07)》 |
|
最终多核心CPU会走向怎样的发展呢? 是走向越多核越好的『核』武军备竞赛? 还是集结各方人马打造的菁英电路,以独特应用取胜的思维会出线,时间会告诉我们答案。
(表一) 各家多核伺服总览表
厂商 |
IBM |
IBM |
Fujitsu |
Sun |
Intel |
Intel |
AMD |
(表一) 各家多核伺服总览表 |
Cell B.E |
POWER6 |
处理器名称 |
UltraSPARC T2 |
Dual-Core Itanium 9050 |
XEON 5355 |
Opteron 8000 |
SPARC64Ⅵ |
|
eCLipz |
Olympus |
Niagara2 |
Montecito |
Clovertown |
Barcelona |
代号 |
1PPE+8SPE |
2 Native |
2 Native |
8 Native |
2 native |
4(MCM 2x2) |
4 Native |
CPU核心数 |
PPE:2 SPE:1 |
2 |
2 |
8 |
2 |
1 |
1 |
CPU核心执 行线绪数 |
2+8 SIMD |
4 |
4 |
64 |
4 |
4 |
4 |
L1 Cache |
64KB/PPE 32K I+32K D |
128KB 64K I+64K D |
256KB/core 128K I+128K D |
24KB 16K I+8K D |
32KB |
64KB/core 32KB I+32KB D |
单一 CPU总 执行线绪数 |
L2 Cache |
PPE:512KB SPE:256KB |
4MB/core (8MB Total) |
6MB Shared |
4MB Shared |
1280KB/core 1024K I+256K D |
8MB (4MBx2) 4MB Shared |
512KB/core |
L3 Cache |
n/a |
32MB |
n/a |
n/a |
24MB |
n/a |
2MB (共享型) |
内建记忆 体控制器 |
Rambus XDR (SPE) |
|
|
4组双信道 FB-DIMM控制器 |
|
|
双信道 Reg DDR2
、 DDR3控制器 |
工作频率 |
3.2~4.6GHz 5.4~6GHz(65nm) |
5.5~6.1GHz |
2.4GHz |
1.2GHz |
1.6GHz |
2.66~3GHz |
2.3~2.6GHz |
晶粒面积 Die Size |
235mm2 (90nm) |
341mm2 (65nm) |
400mm2 (90nm) |
342mm2 (65nm) |
596mm2 (90nm) |
286mm2 (65nm) |
283mm2 (65nm) |
晶体管数量 |
234M |
790M |
540M |
503M |
1720M |
582M |
463M |
设计功率 |
95W @ 3GHz |
未揭露 (>100W) |
80-120W |
84W |
104W |
120 |
95~120W |
最大 CPU 线路数 |
2-Way SMP |
128-Way SMP |
128-Way SMP |
1-2way SMP |
16-Way SMP |
8-Way SMP |
8-Way SMP |
寻址能力 |
2 42 =4TB |
2 50 =1024TB |
n/a(预估44~50) |
2 40 =1TB |
2 50 =1024TB |
2 38 =256GB |
2 48 =256TB |
推出时间 |
2007 Q4 |
2007H2 |
2006 Q4 |
2007 H1 |
2006 H1 |
2006 Q4 |
2007 Q2 |