|
每每暗思过去几年内移动CPU的发展历程,有识之士无不为之扼腕:经过几次大的所谓的“技术革新”,高性能,低功耗的处理器依然是孤鸿飘天涯----难寻啊。
按如今的技术能力,不管是AMD还是Intel都可以很轻松的推出一款低功耗,并且可以随时处于节能睡眠状态的台式机CPU,众所周知,这就是他们以前所号称的移动处理器。一直以来,AMD和ntel的这类移动CPU以及它们的构架平台都未能取得什么真正值得称道的成绩,其原因显而易见:除了牺牲时钟频率以换取尽可能低的工作电压外,移动CPU在构架上与其台式机的兄弟保持惊人的一致,所以基本上是换汤不换药的做法。同时,这类CPU也没有对其将低功耗作任何积极的优化,因此这类CPU其根本不能算是真正意义上的移动CPU。当AMD和Intel的设计师在设计他们的台式机或者服务器处理器时,他们可能“故意”忘了笔记本电脑的电池工作时限,因此他们设计出的大多数移动CPU方案对于笔记本电脑来说,没什么可振奋人心的!
另外,我们知道,在台式机领域中,一但芯片组和构架平台与它为之服务的CPU在性能上脱节后,就免不了会遭遇“弃妇”的命运。而在笔记本世界里,情况就不一样了,制造商们总是想尽办法,来维持北桥芯片与台式机通信量的兼容性,这样带来的恶果,自然是大大增加了功耗。所以当你偶然发现一个移动CPU的工效的低下,不要惊讶,想想它们的“本质”是什么就了然于心了,同时,你也就不难理解它们为什么最终要撤离这个市场了。
Banias的历史,一个绝代英雄的诞生
前面说到,三年以来,移动处理器并没有任何实质上的改进,它不过是一次次的换新衣裳来混淆视听而已。当 Intel发布移动CPU时,他们仍以Timna的名称继续在市场上兴风作浪。但是你知道吗,而Timna本来就是是为了满足新的市场需求而设计的一款台式CPU,这一计划的主要目的是为了推出$600 以下的台式机CPU,这类CPU及其工作平台正在试图通过将内存和数字图形控制器集成到CPU自身模块上来实现上述计划。Timna后来的失败极有力的证明了这种想法是何等的愚蠢。

Timna的内核是直接基于Intel的Pentium III的,但是就整个处理器而言,从芯片的设计方式到其封装方式都经过了优化设置。 凡是任何能节省成本的地方,Intel的Israel 研发团队都想方设法的降低设计费用。Israel研发团队不仅发扬光大了许多新技术,并且继续潜心修炼降低成本的独家秘籍,这么一来研发团队理所当然得到了不少甜头,于是Intel 的其他研发团队——诸如台式机以及服务器CPU的研发团队——纷纷起而效尤。因此甚至在今天我们使用的Pentium 4中也依稀可见Timna的一丝迷人风采。
当我们以前谈论到Timna时,大家都知道它是以集成的内存控制器作为其自身标志的。但是当Timna还处于设计阶段时, Intel就始终有这样一种错觉,他们认为即使到了2001年,RDRAM依然会执业界之牛耳。 RDRAM的超高价格与低成本芯片的缺乏( OEM认为低于$600的 PC可以带来额外的利润,显然他们高兴的太早了)两大难题接踵而至,这样就导致了芯片刚刚研制完,便要将它嵌入Timna来测试。
对于Intel的Israel 研发团队来说,Timna的失败无疑是Intel家族的损失。 他们曾经废寝忘食设计的一款CPU现在却根本没有尽到它应尽的职责;最让人伤神的是——尤其对一个设计师而言——Timna的失败对芯片的设计毫无经验可言,谁也不曾料它竟然与研发团队无力控制的外部因素关系密切。
当Israel研发团队聚集起来开始着手设计一款新型移动处理器时,他们发现形势极其不利观,以致他们完全陷入了萎靡不振的状态。如果你呕心沥血,卧薪尝胆,只为了心中神圣的目标,然而结果却是如此让人无法接受,你会做何处置呢?非常幸运,Timna研发团队还是以 Israel设计中心和Intel的移动处理器计划这一大局为重的,他们并没有太久的哀悼自己的悲伤,而是迅速加入到Intel的首批真正的移动处理器设计中。
研发团队研究了Pentium 4的构造,迅速作出结论认定它不适合于一台移动的微处理器。因为运行在超高频率下的CPU的长管道对于一台功耗为24W装的处理器来说,简直是多此一举。 Israel研发团队从他们的P6结构设计过程中所得到的唯一好处就是那些不为人所知的“独家秘方”; 虽然大部分经验得自于成本的降低和芯片的集成,但是这两个区域得到的教训已经足以让研发团队找到P6核心效率低下的根本原因。从Timna的“残骸”脱胎,主要是Intel的Israel 研发团队的自我献身与才能,由此我们眼前出现了这么一个“怪胎”——它虽然配备了Pentium 4总线,然而我们依然可以将其发配到Pentium III 阵营中,然而若你果真这样做,可就大错特错了。Banias是真正的终结者,让我们拭目以待吧……
比Pentium III有余,比Pentium 4不足,它究竟是什么?
你可能会注意到,我们这里介绍的Banias结构在细节方面尽可能的粗线条化。之所以如此的原因在于,Intel 非常小心的保守着关于Banias的大量新技术的秘密。这样一来,Intel就不能甚而可说是不敢把实质上尚属于“处子”队列的全新技术拿去申请专利,因为万一他们的新技术归入专利档案,他们在这片领域中的竞争就会很快处于劣势,长此以往,后果不言而喻。
Banias的整数/浮点管道将是你目前无法知晓的第一个Intel严守的技术秘密。 芯片本身有一条比奔腾III更长的管道,但是比起奔腾4则要稍短一些.这样设计的原因非常简单: 奔腾III处理器的顶端设计是以0.13微米封装的,并且仅仅运行在1.20GHz的主频上,但是Intel立志要设计出高性能的移动CPU,为了达到这一目标,Banias势必需要更高的时钟频率。同时,回忆一下我们以前讨论的Pentium 4处理器,它的管道对于一台移动CPU而言,实在是太长了。那么最终的结论是什么呢? 我们需要的是介于Pentium III的10级和Pentium 4的20级管道之间的某种特定管道。呵呵,这大概就是古人所谓的中庸之“道”吧。
Intel将不再将确切的升级的级别昭之于世,同样也不会公布个人用户机的等级究竟代表什么,但是随着时间的流逝,我们终将会得到自己想要知晓的信息。至于本文的目的,呵呵,你只要知道管道比P6长,而且要比 NetBurst短也就够了。
附有长管道的处理器带来的缺点就是错误的预选了分支,它也因此遭到了淘汰。 正如我们在Pentium 4的 NetBurst结构一文中探讨的那样,改进超标量体系结构微处理器性能的途径是预先选择一条执行代码的分支路径(例如:在“if”条件尚且未知的情况下选择“if-then"语句的任意一种执行结果)。
一般来说,我们能正确地预先选择大多数分支,但是当错误选择(或者不选)了一个分支时,处理器的性能将会遭到严重损伤。以Pentium 4这一类台式CPU举例说明, 一个错误选择的分支意味着整个的管道必须进行冲刷,并且执行代码也得重新开始执行,这同样意味着我们浪费了大量宝贵的时钟周期。对于移动CPU而言,程序是一样的,不同的是我们不仅浪费了时钟周期,还有电池的能量,在移动CPU的世界中,这可是相当有限的资源。现在你总该知道为什么在一台移动CPU中长管道是如此的不受欢迎了吧。
研发团队给Banias配置了一条比奔腾III稍长的管道以后,它立即发挥了人们期待的功效,从而是自己免遭其他同病相怜(预选分支错误)的“兄弟”的“悲惨命运”。为了降低错误选择分支所受到的损伤,他们使用了一个执行跟踪的高速缓存存储器,正如Pentium 4当年所做的一样。这种执行跟踪的高速缓存存储器在他们的执行序列中存储了解码微操作指令,这意味着万一错误选择了分支,CPU也可以在管道中迟一点再开始运行,这样就不必返回去重新再来了。至于这种执行跟踪的高速缓存存储器的问题就是,它需要相当多的门电路来支持,并且耗能很大,这两点注定了它不能得到Banias 研发团队的青睐。
如果没有这种执行跟踪的高速缓存存储器,研发团队将不得不为Banias 内核重新设计更为准确的分支预选单元。虽然这个问题已经超出了本文谈论的范围,我们还是要“画蛇添足”,:),Banias必然要配备明显优于奔腾III的分支预选单元,最终演算的结果证明分支预选的错误概率大概会降低大约20%左右。
我们已经探讨了Banias结构的其他方面,这些信息均来自于以前所报导的Intel 开发者论坛会议。以Banias命名的机型出人意料的受到用户的欢迎,于是Israel 研发团队决定进一步扩大战果——将微操作技术引进Banias内核。
将微操作引进之后我们所要做的是,先将微操作指令(解码指令)组合以形成指令集,然后将它们沿着管道投放到执行单元中。如此这般之后,除非设置好的微操作指令已经可以沿着管道开始工作了,否则绝对不允许将管道投入使用。这样一来管道的整体性能就会得到提高。很明显,这样做是为了增加反应时间,但是正如你所看到的Banias之后设计的一系列,最终功耗的节省可以大大提高处理器的整体性能。
Banias的专用栈管理器是另一项节能措施,它被集成到Banias结构中,以便管理栈指示器和栈的其他描述数据。栈是用来存储CPU的现行状态信息的,这些信息包括由于寄存器可用数目有限而不能存储在寄存器中的数据。因此一个专用的栈管理器可以在很大程度上提高处理器的性能。正如平常所说的一样,只要效率得到了提高,功率消耗自然得到优化,这里的Banias就是一个很好的例子。
高端分支预选与微操作指令集以及专用栈管理器相结合,共同打造了Banias结构的出色性能。暂且不论加长了20 - 50%的管道, Banias还有比 Pentium III明显快了很多的IPC,这足以让人另眼相看了。请回忆一下我们关于Pentium 4的探讨,它的IPC (每个时钟周期所执行的指令)因为转移到了较长的管道在通常意义上说应该有所降低,但是事实却证明稍长的管道结构能够得到更快的时钟周期。 因为Banias先行于前,我们有了比奔腾III更长的管道结构,由此加快了时钟周期。当Banias结构以更高的IPC自夸时,我们也捞到了不少好处,彼此可说是双赢的局面。
为了满足更高的IPC的执行内核,Intel为Banias配备了 64位100MHz的四倍FSB,在设计上与Pentium 4的FSB完全一致。 Banias的FSB在电气特性上也与Pentium 4 完全兼容。这就是为什么任何一种Pentium 4 的芯片组都能够与这种芯片——如下图所示的E7501s/Bani设置的IDF芯片兼容的原因。

如果你已经完全接受了Banias 和Pentium III是两种完全不同的处理器这一显而易见的事实,那么恭喜你,你已经踏上了追求真理的金光大道。
Pentium III的功耗
研发一种衍生的微处理器结构与沿着旧有的轨迹继续前进之间毕竟有很大的不同; 我们已经确知了Banias在相当大的程度上不同于奔腾III,但是 Israel研发团队研制的这种CPU并不是白手起家的,不过仅仅是如此微小的改变,这种款式的CPU已经同Pentium III有了非常显著的差异。
如同 Athlon 64与Athlon XP共享相同的执行单元一样,Banias 和 Pentium III的执行单元布局完全一样。这意味着Banias仅仅只有5个执行端口,这与我们过去所惯用的例子Pentium 4 明显不同。
Intel 为了继续限制Banias内核的能量消耗,直接照抄了以前精密的执行单元布局:从我们以前的评测可以看出,即使执行单元的数目非常有限,它对性能的提高也不会产生任何影响。数目的有限仅仅只能说明超线程在Banias内部拒绝“开工”罢了。
请注意超线程必须在这样的条件下才能运行:奔腾4中有足够的执行单元以及在管道中有足够的暂停时间以使得正常操作期间内仍然有执行单元保持为空。因为Banias的管道比较短,导致了执行单元占空周期太过短暂,所以微操作指令,精密的布局以及超线程都不能充分发挥自身的作用。这样看来取消超线程岂不是非常划算的买卖?
我们已经讨论了为什么它不能运用于Banias,但是接下来我们应该何去何从呢?虽然这个问题并不是迫在眉睫,然而我们不妨设想一下:使用一个多内核的模板,共享若干个执行单元和高速缓存,这样可以使设计尺寸最优化。我们并没有兴趣谈论 Banias未来的趋向,但是至少眼下你也许会解解燃眉之急。
Banias 的高速缓存
我们曾在去年的 Fall IDF中提起过,Banias 可能将是一款由不少于77百万只晶体管组装而成的0.13微米型号的微处理器。几乎半数的 Banias模板都留待高速缓存来加盟,你不妨想象一下,这种“级别的”高速缓存必定出手不凡。
Banias配备了一个64KB 一级高速缓存,奔腾III上同样的一级高速缓存尺寸是前者的两倍。 L1被分为32KB数据存储器和32KB指令存储器;正如我们以前所探讨的,移动CPU的世界已经遗弃了这种执行跟踪的高速缓存存储器,尽管它降低了分支预选的错误概率。
Banias的高速缓存给人最深刻的印象是它的二级高速缓存具有1MB的存储容量。 Israel 研发团队精心设计了高速缓存内由晶体管组成的门电路,以期获得最低的功耗;他们还改变了高速缓存内数据的访问方式。Banias用了8种方式来设置与其相联的二级高速缓存,在这种高速缓存内,一般情况下,当选定某一种方式时,与这种方式相关的整个模块即被选中。Banias的每一“方式”更进一步分为四个分区,这样当其中一个被选中时,用一个多路复用器即可选定待用数据所在的分区,并且仅仅只激活选定分区的高速缓存。最终可以证明,二级高速缓存消耗的能量大大减少了,从而显著的延长了电池的使用期限。
由于CPU内部的晶体管,尤其是那些高速缓存专用的晶体管一般是最为耗能的,因此尽可能使他们处于睡眠状态可以有效的延缓能量消耗。当然这种方法的不足之处就是高速缓存的访问时间可能会比现在稍长一些,但是它如此明显的节省了能量,因而我们完全可以用一个更大容量的高速缓存来弥补性能上的缺憾。现在你该知道这个谜底了吧——为什么Banias 在拥有这般庞大的高速缓存的同时依然能够有效的降低功耗。
1MB 容量的二级高速缓存提高了系统的整体性能,并且很好的掩盖了由此带来的存储器反应时间加长的瑕点。
更高,更快,更强
现在设计的Banias结构最为人们所关注的问题,很有可能是处理器的时钟频率以及我们用什么方式得到这样高的速度。如同我们曾经过谈论的那样,这一款CPU拥有比Pentium III更长的管道,这种管道使它达到了更高的时钟频率,但是这么高的频率有没有它的极限呢?
在设计一台处理器的过程中,你最终会发现在你的CPU中有一个特定的时钟频率,它可能比目标频率更高或者更低。如果你发现的这个特定频率低于你的目标频率,那么我非常同情的告诉你,麻烦来了,因为这样的频率意味着如果不重新进行设计的话,你几乎不可能达到目标频率。大多数情况下,你会发现这个特定频率高于你的目标频率(比如,以2.4GHz 的时钟频率运行在1.6GHz目标频率的芯片上),这样我就要恭喜你了,这种情况说明你的芯片某一部分的极限频率相当高。不过对于Israel研发团队而言,这不能算什么好消息。
实际上研发团队正在试图降低这种过高的的时钟频率,因为如果运行速度过快的话,也就意味着你正在浪费能源。这样做的好处虽然很明显,增加了微处理器的能量利用率,但是同时也带来了负面效果:那就是微处理器产生了空转周期。
对于现行的0.13微米工艺的Banias处理器而言,这一空转周期到底意味着什么,我们还不得而知。但是它已经倔强的挺立在你的视野里了。我们可以假设这一周期大概是在2GHz左右,然而接下来会发生什么呢?
解决方法基本是这样的,当内核达到其频率极限时,准备一个频率更高的晶体管来完成这次飞跃。先来看看今年,假定Intel准备按照原计划继续转型生产90nm型号的CPU,形势也许还不至于太糟糕,但是长远的看来,这种做法实在太过冒险。然而从Intel自身的角度看来,如果你梦想拥有一台绝对完美版的移动CPU,除此之外,别无选择。
最后要提醒你的是,虽然相信Intel的制造工艺并不能说是坏的选择,但是这依然是一着险棋——因为Intel缺乏东山再起的资本。
生产Banias——Pentium-M的先行官
如果你仍然相信微处理器结构首先是由市场需求决定,然后才交给工程师来制作,那么Banias或许会打破你这种沉陈腐的观念,带你进入一个全新的世界。

很明显,设计师决不会把内核的时钟频率设计的非常高,因为这显然是在给市场推销出难题。你如何向终端用户解释有一种新的移动处理器,它的时钟频率比Pentium 4 还要高,仅仅因为
Intel的市场销售组提出了设法将市场关注的焦点从处理器自身——包括整个处理器的封装,芯片组以及无线适配器——转移到别处的想法。 Intel 将这种包括三种器件的封装注册为Centrino,希望终端用户在选购电脑的时候,直接要求这种用Centrino命名的机型,而非某个特定频率的机型。
现在我们来探讨一下这种Centrino结构的其他部分,这种结构的处理器曾经以Banias的名称风行了好几年。Banias最终被命名为Pentium-M,它今天已经发展到了第6代;每一款Pentium-M的芯片都有着非常相似的特征,例如高速缓存的尺寸……它们仅仅只是在运行频率和电压方面不同而已,区别如下图所示:

|
- |
Frequency Performance/Battery Mode |
Voltage |
Thermal Design Power |
| Pentium-M 1.60 |
1.60GHz/600MHz |
1.48V/0.96V |
24.5W |
| Pentium-M 1.50 |
1.50GHz/600MHz |
1.48V/0.96V |
24.5W |
| Pentium-M 1.40 |
1.40GHz/600MHz |
1.48V/0.96V |
24.5W |
| Pentium-M 1.30 |
1.30GHz/600MHz |
1.39V/0.96V |
22.0W |
| Low Voltage Pentium-M 1.10 |
1.10GHz/600MHz |
1.18V/0.96V |
12W |
| Ultra Low Voltage Pentium-M 900 |
900MHz/600MHz |
1.00V/0.84V |
7W |
从上述表格我们得知,Pentium-M 与以前常见的Intel 生产的CPU有着相同 的SpeedStep 技术。在电池能量方面,这一款CPU的时钟频率将会显著降低(在所有第一代Pentium-M CPU中均是600MHz)。Pentium-M的能量管理与其他Intel的移动CPU不同之处主要是在于前者的睡眠状态易于控制;尽管通常的移动CPU都可以在其空转时将内核的各个部分转入睡眠状态,Pentium-M却依然更胜一筹,它在一开始就处于睡眠状态,只在需要的时候激活其各个部件。.再一点就是,这款机型在其激活所需部件时需要比较长的时钟周期,但是它仍然大大降低了功耗。因此最终由于这款机型自身携带1MB容量的二级高速缓存,从而极其明显的提高了性能。
节能芯片组——855PM & 855GM
我们在移动处理器的介绍中讨论过这样一个问题,如何在移动处理器的运行环境下使用台式机的芯片组。Israel 研发团队详细研究了Centrino处理器,并将它的能量优化设计技术应用到了845 DDR 芯片组中。
这种技术是通过将芯片组 / CPU与FSB接口来实现的; 在常见的移动CPU中,当CPU发出读入请求时,与此同时CPU的读入缓冲器即被瞬间激活。然而,如果你仔细研究一下实际情况,你就会发现直到CPU的请求信息最终从存储器中重新找到的时候,读入缓冲器才正式开始工作。如此一来,你应该明白这决不是解决问题的最佳选择。
Centrino的路径选择非常之有意义,并且十分简单;千万不要忘记大多数的Pentium-M 在启动时是处于睡眠状态的,包括其FSB接口的读入缓冲器。当奔腾M CPU发送读入请求到MCH时,读入缓冲器仍然处于睡眠状态。这时芯片组先要发送信号通知CPU给缓冲器一个激励,然后主存开始重新查找数据,并且把数据发送到 MCH的缓冲器,直到这一切准备就绪,我们的大主角——读入缓冲器方才姗姗登场。 事实上自从Centrino平台以后设计的大多数,都将反应时间和功耗综合考虑再加以折衷,基本上是延长反应时间以求得对整体性能而言更有价值的功耗的降低。

有两种曾经一度是Pentium-M 处理器的宠儿的芯片组最终加入了 Centrino的大家族——它们就是855PM和855GM。它们的特性表明,这两种855芯片组都是由845芯片组经过能量优化设计而来的升级版本。它们均拥有一个64位DDR 266存储器接口,并且支持AGP 4X,但是请千万不要被他们迷人的外表欺骗,这两种855芯片组与845芯片组压根就是两码事。如同Pentium-M和Pentium III彼此之间有着显著的差别,855芯片组比845的耗能少了一半不止,若说它们有血缘关系,那也是表了几千里了。
请注意由于855 PM MCH的低功耗,冷却器在这里基本派不上任何用场。
855 PM和855 GM之间的区别在于,855 GM包括Intel的845G图形编辑器内核的能量优化版本,而前者则没有整合图形加速器。
 ICH4-M
855 PM和855 GM也使用了新的ICH——即ICH4-M。这种特殊的ICH和我们惯用的ICH的不同之处在于,前者经常处于“沉睡”状态,但是其功耗的优化程度则远不如CPU/MCH终端。最后要说明的是,ICH4-M 的设置方式与台式机的ICH4基本一致。
无线设备
第三条也是最后一条Centrino亟待解决的难题是Intel的PRO/无线2100版插卡。笔记本制造厂商肯定已经使用了这种插卡(与855 芯片组和一个奔腾M CPU一起装备 ),其目的是能够将它们的笔记本产品称为Centrino系统。

制造厂商为什么将它们的产品贴上Centrino 标签?这样做简直是司马昭之心,呵呵,有点过分了,不过显而易见如此一来在 Intel的利益范围内,他们也可分一杯羹。当然, 这也有效的将其他芯片组制造商与CentrinO笔记本绝缘开来,从而使得所有人都投入到 Intel 的无线解决方案中。.
Intel的无线MAC
Intel的最终目标是将MAC集成到他们的MCH上,这意味着很快你就失去了选择使用哪种无线MAC的乐趣(虽然原始设备制造商会选择使用PHY ),这种销售策略从某钟意义上而言,并不仅是一种短期内增强市场活力的手段,它同时迫使制造商们全部使用 Intel的PRO/Wireless 。
敏感话题――价格
原始设备制造商为以Centrino装备的处理器(CPU+芯片组+ PRO/Wireless控制器)制定的价格如下表所示:
|
- |
Centrino Package Price |
| Pentium-M 1.6GHz |
$720 |
| Pentium-M 1.50GHz |
$506 |
| Pentium-M 1.40GHz |
$377 |
| Pentium-M 1.30GHz |
$292 |
| Low Voltage Pentium-M 1.10GHz |
$345 |
| Ultra Low Voltage Pentium-M 900MHz |
$324 |
|