Intel Willamette一览
导读:CPU是Central Processing Unit?D?D中央处理器的缩写,它是计算机中最重要的一个部分,由运算器和控制器组成,如果把计算机比作一个人,那么CPU就是他的心脏
关键词:Intel
CPU是Central Processing Unit――中央处理器的缩写,它是计算机中最重要的一个部分,由运算器和控制器组成,如果把计算机比作一个人,那么CPU就是他的心脏,其重要作用由此可见一斑。不管什么样的CPU,其内部结构归纳起来可以分为控制单元、逻辑单元和存储单元三大部分,这三个部分相互协调,便可以进行分析,判断、运算并控制计算机各部分协调工作。
CPU芯片市场向来就是不平静的,不断地演绎着很多新的故事。在过去的1999年里,一方面,业内对Direct RDRAM并没有Intel所设想的那样产生很大的反响;另一方面,VIA公司成功地推出了Apollo Pro133/133A芯片组;此外,AMD也最终发挥了他们的技术潜力,发布了他们的最新CPU处理器芯片,并使得AMD的产品走出了低价位市场。(AMD 在Intel 推出Pentium III后不到半年的时间,就推出了在高时钟频率CPU市场上很有希望的AMD Athlon。)这一切都说明1999年对于Intel来说不是很成功的一年。但是Intel仍然有自己的打算,在2000年底,随着Intel于今年秋季推出他们最后的一款Coppermine处理器,市面上的处理器芯片时钟频率最高可将达到1.4GHz。
在目前的这种情况下,Intel还能做些什么呢?也许,他们将不得不提前推出他们的下一款x86内核芯片――最后的IA32内核芯片――Willamette。刚开始,第一款以此为内核的处理器芯片的正式发布时间是在2000年末2001年初。第一款芯片的样品也会于夏季面市。然而在一月份我们突然听说Intel早已有了第一块芯片,并且在四月份他们计划把这些芯片提供给他们的首选合作伙伴。
在二月份,在CPU处理器的市场上发生了二件值得注意的事情:ISSCC Conference(国际固体电路会议) 和Intel Developers' Forum (IDF 英特尔开发者论坛 )的分别召开。在ISSCC Conference上,最让人感到焦急的就是Intel 1GHz Coppermine的发布了。Intel并没有像人们想象的那样,在AMD 推出 1.1GHz Athlon后,马上就推出更高更好的芯片,而是仅仅推出了1GHz Coppermine(尽管这也可以让人们兴奋很久)。而在Intel Developers' Forum 上,Intel终于不甘落后,出人意料地向人们展示了他们可以在1.5GHz下正常运行的Willamette。这款Willamette看起来非常出色, 没有任何问题。
Willamette是INTEL下一代CPU的代号。它是英特尔公司在铜矿处理器之后推出的面向普通PC的新型CPU。Willamette 被认为是继INTEL P6家族后新型CPU家族中的第一位成员。INTEL的P6家族是从几年前的Pentium Pro开始的,它为INTEL的新系列CPU打下了基础。Pentium Pro有多种时钟频率和二级缓存的配置。它的内部二级缓存是与CPU核心速度相同的。Intel Pentium II是其随后的继承者,它在结构上没有什么大的改变,仅仅加入了MMX指令,但却将二级缓存的速度降为了CPU的一半。在后来的 Intel Pentium III则在原来的P6核心上加了一些改进。例如,增加了SSE指令(即流动性的SIMD扩展),极大的增强了CPU的浮点运算能力和3D应用的处理能力,同时也加入了INTEL系列号。而最近的Intel Pentium III Coppermine则又将二级缓存的速度恢复到CPU核心的速度了。不过,当时的Pentium Pro的二级缓存是与CPU在一个包装里,那时候是需要TAG RAM的,而到了铜矿则将二级缓存和CPU进行了完全的ON DIE集成,不但有效的节约了成本,同时也大大降低了CPU缓存的延迟。自从 Pentium Pro正式发布后的最后五年里,几乎没有什么比Willamette更让人心动的事件了。想象一下:Willamette CPU是基于一个新的32位的微结构。将采用全新的IA-32体系架构,同时装备了新的SSE2、ON-DIE的L2缓存、还有一些能让该CPU运行在高速下新的改进。因此,在传送性能上将明显的超越IA-32的CPU,例如PII/PIII。Willamette同时将使用一种新的系统总线以替代原有的GTL+总线。新款的CPU的一级缓存为256KB,二级缓存低于1MB(很可能就是 512KB)。除此之外,在新处理器还增加了许多新的措施以提高系统性能:如增加执行单元、解码器和增加缓存的容量等等。今天看来,此款Willametta 与Coppermine 的时钟频率是一样的。在整数运算方面与Coppermine很近似,而且被证实浮点运算快了 5% 。INTERL将把0.18微米技术转化为0.13微米开始制造这款CPU。它的核心时钟频率将达到1GHZ以上。处理器将会引进为Socket-423架构。
Willamette 架框剖析
现在就让我们来仔细地看看Willamette每一个部分。首先,我们来找找究竟是什么使得Intel Willamette处理器的时钟频率达到那么高。我们将先谈谈关于指令管道。首先,我们要承认一件公认的事情:长管道,可以提高时钟频率和降低每兆赫的执行指令性能。为什么呢?原因就是管道越长,就可以执行越多的进程,执行的越快。Willamette装备了有20个阶段管道的指令。这是目前X86类型CPU中所装备的最长的管道。INTEL已经找到了一个办法可以让Willamette运行在一个极高的频率下(将超过1.5GHz)。通过替换掉与时钟持续时间相反的阶段数,长管道可以用来增加CPU的频率。一个10阶段的管道可以将一个指令分为10步来做,并且在10个时钟周期内处理完整个指令。Willamette则用20个时钟周期来完成一条指令。这样一来,每个时钟周期内所需要处理的指令就会变的非常小,而单个时钟周期也就相对的变短。在一条指令处理上所需要的时钟周期数称为指令延迟。拥有一条长的管道意味着一个长的指令延迟。而为了减小从主存中读取每一条新的指令所引起的性能损失,所有现代的X86CPU都使用了指令缓冲。由于更长的管道与所导致的更长的指令延迟,缓冲中的指令的更换就需要更长的时间。所以,在缓冲中就必须攒了足够的指令后进行处理,才能保证CPU的有效工作。这样一来,一个管道数量变少的CPU反而需要一个更大缓冲了。
A=B+C
D=A+1
换句话说,只要需要,操作1将被储存在指令缓冲中,而操作2将执行。并且后者所需要的时间只单单取决于管道长度。顺便提到的是,到底今天的CPU管道有多长?Pentium III有12-stage 的管道深度 (17 FPU 阶段), Athlon 有 10-stage 的管道深度 (15 FPU 阶段), Alpha 有 7-stage 的管道深度 (10 FPU 阶段)。根据这些数据,我们可以看到Willamette无可争辩是这里面最长的管道。这就意味着它要求最少的时间得到最大的时钟频率( 除非操作1已经完成,否则操作2不得不等待20个时钟周期) 。

坦白地说,任何事情都不会像它看上去的那样简单。首先,缓冲区将总是包含一些指令, 它不要求任何以前被计算了的结果 ( 例如:A=1+2 ) 。他们能和操作1一起被完成 ( 今天的CPU包括一些平行状态下的执行单元),以便避免出现闲散时间而忽略操作2。 长的管道(执行指令需要的时间), 降低的是当操作1完成后有机会充分利用它的执行单元. 这里是真正重要的是缓冲的大小。一个简短的评价: Pentium III有个40 micro-operations(微操作)的缓冲区 (1 x86指令相当于 1.5 micro-operations)。 Intel 宣称 Willamette 将有一个更大的缓冲区, 它将带来相当明显的结果。
(我们可以顺便说说关于缓存的话题。Willamette预算的 L1 缓存大小是 256KB , 它是Pentium III 8 (!) 倍,是 Athlon的二倍 。L2 缓存大小还没透露, 然而, 它最有可能达到 1MB以下―― 也许就是 512KB。 )
第二, 分支预测。长管道在指令在实际被执行以前,就会说明将被执行的指令预测。并且, 在这个单元里如果出现任何的错误, 也就是说选择预测了一个假的分支。这就会在CPU上表现出来。如果一些东西出错,或在管道中出现一个错误,那么整条管道都将崩溃,所有的指令都将重新开始。当芯片速度达到如此高的频率的时候也许还不会出现这种问题,但是当芯片速度降下来以后就会引起一些问题,这时分支预测就会插进来了。当它进入管道以后,为了不使错误出现,Willamette将需要非常好的分支预测。Intel 这次借助于联合所有的可得到的技术力量大大提高了在 Willamette 上的分支预测。 另外一个有助于性能上的提高的设计是跟踪缓冲。跟踪缓冲用来储存每一条指令在执行时候的顺序的。例如,如果指令A从100的位置跳到了指令B在200的位置。那么跟踪缓冲则会将第二条指令B恰好在指令A后面的位置记录下来。这将帮助消除分支预测错误。
所以,在Willamette中使用跟踪缓冲后,通过记录指令的正确位置大大简化了处理的步骤。另外,对于所有的长管道的CPU来说,如果分支预测越准确的话,则CPU的性能表现越好。Willamette分支预测能力就是有效的结合目前所有分支预测的有效方案,并通过改进以前P6家族的分支预测运算法则而最后得出的。 这似乎都是有关 Willamette 管道的,但是这对CPU的性能是非常关键的。
然而, 依靠不同操作单元的性能也是很重要的。在这些各种各样的操作单元之中我们能列举出整数运算,漂浮运算,还有有一些其他的数据。 当一条指令在处理时,若干数据将会被同时包装 ( SIMD ) 。我们的概念好象有点重叠了。要说清楚的是,至于整数运算操作单元,任何指令都是有序的:Willamette 的整数运算单元在两倍CPU 频率下执行。这意味着1.5GH在的芯片在IDF下运行的频率为3GHz (这是最大的速度频率了。事实上,只是它的速度简单的加倍 ) 。此外, Willamette 有2个理想的运算单元,每个时钟周期可以完成4个整数运算操作。
作为最好为浮点运算,Intel将尽最大努力提升Willamette的SIMD(SSE2)指令集,这就不需要有什么特别的原因了。Intel 在Willamette中加入了新的144 条SSE2指令:包括了新的76条SIMD指令,和68条增强型的整数指令。所以,现在总共有144条SIMD指令来增强CPU的浮点能力以及多媒体和3D的能力。从程序师的角度看,Willamette的设计模型与原来的MMX技术和PII/PIII中用到的SSE模型没有什么很大的区别。但是,设计师有很大的弹性空间,新的SSE2指令不但要扮演浮点和整数运算的角色,同时还要处理从MMX寄存器中打包过来的整数流。至于浮点运算单元,Intel在技术上几乎没有改变什么 。每秒1.4亿次的浮点运算使得俩个单元将支持1.4GHz CPU 达到最大的性能。其中第一个单元仅仅处理真实的计算,例如 FADD,FMUL 等等。第二个单元负责一些附带运算工作, 例如 FMOVE ,FSTORE 。如果到时候Athlon 也达到了 1.4MHz,(这里我们必须提及到这一点,因为非常明显它必将发生) 这个参数就相当于每秒2.8亿次浮点运算。引入Willamette的新的SIMD指令同时包括了浮点指令和整数指令,他们的目的是要打破现在X86CPU中的主要瓶颈:X86的浮点算数运算单元--X87FPU。如果我们进一步的看看X87FPU的话,我们可以发现这越来越老的FPU已经在兼容性方面存在了相当严重的局限性。所以,使用SSE2来替代X87FPU是一条很好的解决瓶颈的路。另外,如果INTEL可以找到足够支持SSE2的软件开发商并给与他们足够的动力来开发使用SSE2的浮点操作的软件,那么Willamette SSE2 FPU部分所提供的浮点性能将是以前X87FPU所提供的浮点性能的十倍!
Willamette 架框剖析(续)
因此, Intel 决定不在它的新处理器上采用x87内核。新的处理器采用了 SIMD (Single Instruction - Multiple Data 单指令多数据流) 指令单元, 此指令单元有 64bit 浮点运算和 128bit 整数指令运算。Willamette 有2个这样的指令单元:一个为寄存器操作,另一个为算术运算操作。当采用4个SIMD 指令并在一个时钟周期以内被执行时。我们完全可以得到:4次执行/一个时钟周期 + 1.4GHz = Willamette 的最高性能, 随着现在CPU的性能和存储系统的不断提高,Willamette的另一大特色就是它采用了新的总线结构。过去常常使用的是老的GTL+总线(实际上GTL+系统总线只快了33MHz,这可并不出色。),而在Willamette中将是400MHz的总线(实际上这些总线的运做速度达不到400MHz)。这将是对老的总线的一大改进。Willamette的传输速度为3.2GB/sec ( 400MHz , 64bit ,支持Tehama 的双管道RDRAM),这要比133MHz GTL+ 1,064GB/ 秒 ( 400MHz , 64bit )快得多。英特尔公司表示只有当成对使用RAMBUS的时候才会让Willamette运行。这使得人们感觉RAMBUS实际上有这样大的带宽只是被较慢的Pentium 3所阻挠了它的速度。这就是一些Willamette的特色,使它带给大家的是更好的性能。 实际上除此之外通过Willamette我们还看到了Intel的下一个新的平台――IA64 。它极其重要, 与Intel Willamette 一起,介绍完全崭新的系统总线。IA64 被期望不仅增加一般的带宽 而且还应该提供一个在IA32 和IA64之间转换的一个连接通道:在 Tehama(Willamette的一个芯片组 )以后, 它将被用于i870,――IA32 Foster和IA64 McKinley。

这里还要提到一些Willamette的缺点。能够在一个时钟周期内传输4个数据packs,的确是件很了不起的事情。但是总线上所有的带宽不会被最大程度的利用到。坦白的说,3.2GB/sec只是我们在理想的条件下所设想达到的。另一个缺点就是Willamette和现在的主板连接的问题。因为到目前为止还没有一款的主板可以支持Willamette。这就是说,我们要为Willamette完全推出一个崭新的主板平台(form-factor - Socket-462)。
在今年年底,新的AMD处理器芯片很可能达到和Intel Willamette一样的频率水平(他们俩都需要新的主板支持),也就是说,在2001年里,AMD和Intel的竞争仍然会继续。然后,Willamette将成为最后的一款以x86为核心的处理器。在2001年里Intel将会为了达到更高的性能继续研制新CPU产品。而在那个时候,我们也许会迎来AMD―― SledgeHammer (K8)的时代。以我们目前的所知,如果Willamette市场仍然可以继续完善技术,那么就可以给未来描绘一个蓝图:在下一年里,Intel很可能会在x86 CPU主流市场上紧跟上潮流的脚步而成为领导者。
网友评论
暂时没有评论!- 相关文章
-
- Intel公司欲借MLC芯片提升下一代SSD硬盘性能2008-03-12 14:10:54
- DoSTOR存储分析 EMC公司如何迈向SOHO市场2008-01-10 11:56:48
- 英特尔投资部注资Nirvanix提升在线存储服务业务2007-12-24 23:21:02
- DoSTOR存储分析:Intel决定开源FCoE发起端技术2007-12-19 11:13:41
- LSI公司与Intel宣布扩展SAS/SATA RAID合作协议2007-12-14 02:34:08
- 新品:Intel Entry Storage System SS42002007-12-06 15:57:44
- IDC亚太论坛:英特尔畅谈创新未来数据中心计算2007-11-29 17:14:54
- 具备SAS特性的RAID控制卡 RocketRAID 35202007-11-20 14:48:04






发表评论