|
|
发表:2003/3/13 22:37:29 人气:151
|
楼主 |
[综述] 温度与性能:奔腾4不得不说的故事 (转)
喜欢超频以及对现代CPU技术关心的人都知道散热是目前业界最需要解决的一个问题。不仅对于AMD的处理器如此,Intel的CPU也是一样。现在的处理器功能都很强劲,其发热量也随之增大。业界需要解决的不仅是将CPU散发的热量从核心上带走,还需要将其排到机箱以外、
Intel推出的奔腾4处理器功能是很强大,不过他们同时也提出了系统的散热系统的要求,包括:CPU核心温度、机箱中的温度以及适当的风扇等等。Intel只能保证在符合要求的情况下处理器可以正常工作,当然,AMD平台的系统也差不多。
不过,这样一来就有个问题:这些要求应该如何满足?如果我们购买的是Dell、惠普等品牌电脑,那么这样的问题自然由他们去操心;但是对于更多的DIY用户而言,就必须自行考虑这个问题了。DIY用户中,大多数不了解或者根本不知道Intel、AMD对散热系统的要求。如果用户再将处理器超频使用的话,那么整个系统就会变得不稳定了。
当然,超频会是系统不稳定是大家的共识,不过要是说超频会使得处理器的性能下降,就不是所有人都知道了。实际上,这种情况对于奔腾4处理器而言是很正常的!在这款处理器中,Intel加入了热能控制电路来根据处理器运行的即时温度决定处理器的运行性能。我们今天就是要看看这个电路的工作原则,看看奔腾4处理器性能和温度之间的关系 热能监测技术
Intel在奔腾4处理器中使用了很多新技术,其中之一就是我们今天关注的热能控制电路(Thermal Control Circuit)。这项技术是用来保障处理器的稳定运行,并防止其过热工作的。每个奔腾4处理器都有两个内建的热能二极管,其中一个负责向主板的硬件监测系统提供温度信息,而另一个则放置在核心温度最高的地方(算术逻辑单元旁),成为热能控制电路的一部分。
AMD的Athlon XP处理器也有同样的二极管,不过和Intel的方式有很大的不同。Athlon XP的二极管向主板提供信息,主板芯片组上的一个逻辑单元接受这个信息,并可以在处理器的温度达到某一个设定的值之后强制关闭系统。当然,当时系统中所有未保存的数据也就丢失了。而在奔腾4处理器中,这个热能监测系统的工作原则就不一样了:系统可以在处理器的温度达到临界时仍保持稳定工作,而只在紧急情况下关闭系统。这也就是说奔腾4处理器必须有一种方式来使自己在继续正常工作的前提下,不在临界温度中继续提高温度。
这种功能就是通过集成在处理器黑下脸中的附加电路实现的。该电路将当前的温度和某个临界值相比较,热能控制逻辑单元控制CPU的发热量。该电路通过比较两个电流来实现的该功能:一个电流来自热能二极管,另一个电流则来自一个独立的参考源。热能二极管的电阻值由它的温度决定,所以这里的电流就会根据CPU的温度而改变。通过将这个电流同参考电流相比较,电路就可以知道处理器的温度是否达到临界值。热能监测的工作很简单:如果核心温度最高的地方超过了某个值,那就发出“PROCHOT#”信号,开启热能控制电路来降低CPU的发热量,防止温度进一步提高。
对于这个热能控制单元的机制由许多不正确的认识。最常犯的错误就是认为奔腾4会在过热时降低自己的工作频率,也就是认为,如果一个工作频率为2.2GHz的处理器,在这样的情况下会将频率降低到1.8GHz(或更低)。
这种认识是不正确的,CPU的工作频率是由核心的频率发生器决定的,需要来仔细谈谈。首先,我们来看看奔腾4 2.8GHz处理器的工作频率是如何产生的。

假设主板将133MHz外频传递到CPU这里,这个频率乘上一个系数(这里就是×21)后得到处理器的工作频率2.8GHz。这个频率就是处理器标称的数值,也是其他软件(如WCPUid)能够读取到的。这个频率也就决定了处理器算术单元的工作频率。热能控制单元可以对这个频率有所影响。当温度正常时,算术逻辑单元(ALU)接受到的频率就是同样的2800MHz;当CPU的温度超过了某个值后,热能监测就通过发出“PROCHOT#”信号打开热能控制电路。该电路可以修改传递到CPU的频率,并决定将什么频率传给CPU来降低CPU发热量。传给CPU的时钟信号改变情况如下图:

这样一来,一些时钟循环就被排除在外了。换一句话说,他们同样是由CPU的倍频产生,却由于PROCHOT#信号而进入了空置循环控制系统。这样我们就可以得到一个降低了的频率,并将其传送给CPU的ALU单元。当然,CPU的性能会随着发热量的降低而下降,而主板、内建频率发生器还同样产生2.8GHz的频率(软件获取也是一样)。Intel宣称频率可能根据CPU型号的不同而最终降低30-50%。
不过,当温度下降后,热能控制电路单元会逐渐恢复CPU频率,将空置循环次数降低。一旦核心的温度降到了临界值以下 1oC,热能监测就会停止发出PROCHOT#信号,热能控制电路也就停止产生空置循环,并将最终的频率恢复到通常的数值(在这里就是2.8GHz)。
现在,有一个问题:热能监测系统在当前温度为多少的情况下才会激活热能控制电路呢?这个对于不同型号的奔腾4处理器是不一样的。Intel称,集成的热能二极管是根据不同的CPU进行过校准的,而一旦热能监测系统的临界温度设好之后就不能在变更。
热能控制电路可以软解通过ACPI接口或是主板的BIOS激活。如果是软件激活的,该电路就工作在“On-Demand”模式下,也就是可以在任何温度下计划,并通过软件调节有效循环和空置循环的比例。空置循环的比例可以在12.5%-87.5%之间调节。顺便说一下,热能控制电路在所有的奔腾4处理器中都是默认关闭的。所以想实现该功能就必须在启动系统时通过主板BIOS激活,或是通过软件方式。
我们可以从这项技术获得什么呢?拿一个得不到充分散热的奔腾4处理器为例。这个处理器可能是由于散热器质量不好、散热片和CPU表面未抹导热介质、机箱因为过多插卡而过热、没有安装机箱风扇等原因造成CPU过热。所以CPU就必须在得不到“满足”之前必须以降低的频率工作。这种情况在超频中也会出现。一个超频的CPU发热量会比正常频率多不少,所以一个超频的、得不到充分散热的奔腾4处理器会比其正常频率更慢。
例如,我们将一个2.2GHz的奔腾4处理器超频到2.8GHz,而没有增强散热。这样CPU的温度就会很快上升到临界温度,而激活热能控制电路,CPU也就开始进行空置循环。结果就是在启动以及WCPUid之类可以看到频率的地方,CPU的频率仍然是2.8GHz,而其实际性能可能还比不上一个2.2GHz的奔腾4。
当然,热能控制电路技术也不是那么强大。它可以防止CPU继续过热使用,但不能保证CPU在没有散热装置的情况下“苟活”。为了将CPU从这样的情况下“解救”出来,CPU内建的第二个二极管会保存另一个CPU的温度值。当这个值呈锯齿状时,它就不会降低CPU的工作频率,而是发出“THERMTRIP#”信号关闭系统。这第二个温度值低于CPU的工作极限温度,从而保障CPU的安全。热能监测系统的所有二极管和电路都集成在CPU核心上,而与主板无关,其反应极快:温度比较只需要几个纳秒。即使拿走正在工作的处理器上的散热装置,也不会造成CPU的损坏。
根据Intel的说法,“THERMTRIP#”信号一般在系统温度达到135oC时发出 测试系统
我们想通过测试了解热能监测系统的运作,并找到奔腾4处理器的性能和温度之间的关系。
测试平台如下:
Intel Pentium 4 3.06GHz处理器; GlacialTech Igloo 4310 Pro 散热器; 华硕P4PE主板; 256MB PC2100 DDR内存; GeForce4 MX440-8×显卡; IBM DTLA 15GB 7200rpm硬盘; SoundBlaster Live! Value声卡; 24x CD-ROM; InWin J-536机箱(测试中关闭了系统风扇); Windows XP Professional操作系统。 为了了解这项技术的工作方式,我们需要平滑的增加CPU的温度,使其逐渐接近临界值,并在同时测试系统的性能。将CPU散热器关闭或是干脆拿走是不行的,这样CPU的温度就会升高很快,我们就无法得到细节的动态图片了。所以我们找到了一种特殊的提高温度的方法。首先,我们通过Zalman的风扇控制器降低风扇转速,由4500RPM降到了2200RPM。

这样我们就可以降低散热效率,使CPU的温度大幅提高,并停留在某个值上。如果我们将散热器完全关闭,那么温度上升就会过快,并将在很短的时间内达到系统的关闭温度。不过只是简单的降低风扇转速无法是CPU的温度线性提高。风扇的转速降低,散热器的效率也随之降低,不过在转速过低的情况下效率的下降就不是线性的了。
所以我们决定采用一个更简单的方式。如果整个测试中,系统的CPU负载稳定,散热装置固定不变,那么CPU的温度就会随着机箱中的温度而线性变化。我们的方式就是通过增加测试房间的温度而线性提高CPU温度。
想要将房间的温度控制在1oC的精度是很困难的。不过我们可以用加热室来模拟。我们使用了三洋的MIR-253医用培育箱。这个设备看上去很像个碗橱,体积为162x50x70cm,容积为254升。我们将ATX机箱放在其中,各种连接线通过MIR-253上的特殊接口连入。这样一来,在培育箱中的机箱就进入了一个绝热环境中,不再受到室内温度的影响,而可以手动控制。MIR-253具有加热和降温两种方式,功耗220W,内部温度可以在-10oC到+50oC之间调节,精度为0.1oC。尽管我们发现在使用中精度不能达到标称的0.1oC,而是在期望值的0.5-1oC范围之间变动。

我们决定应该在真实应用环境中进行测试,而不是通过模拟软件。在测试中,我们用到了《Unreal Tournament 2003》游戏和可以实时显示D3D游戏帧速的软件FRAPS。
我们把UT2003的设置降低,以减轻显卡的负载,而使游戏表现尽可能反映CPU的性能。我们将UT2003的分辨率降低到320×240@16位色,使用了使DM-Asbestos测试(Instant Action模式)。所有机器人都关闭,避免对渲染的影响。在游戏开始后,我们选择了一个FPS相对稳定的地点。我们将“主角”停在那个地方,不再接触鼠标或键盘。这样,我们就得到了同一个场景在正式运行下的速度,这个FPS应该是根据CPU的温度不同而不断变化的。我们在游戏开始后不断通过培育箱提高系统温度,并通过华硕的PC Probe硬件监测系统记录下CPU的温度。
不过在公布结果之间,我们还想谈些别的东西。
Hyper-Threading和处理器温度
就像我们上面提到的那样,我们在测试中使用了最新的Intel 奔腾4 3.06GHz处理器。这款处理器支持Hyper-Threading技术。我们想从一个不常用的角度来谈谈这项技术:该技术对CPU发热量的影响。
一方面,由于该技术的运用,核心的效率提高了(3.06GHz处理器比2.8GHz的提高了5%以上)。这在理论上就带来了更大的发热量。另一方面,一个物理处理器被系统认做了两个逻辑处理器,其负载就会更有效率。
让我们猜猜看,这项技术会带来怎样的影响呢?
我们通过主板BIOS在打开和关闭HT技术的情况下进行了两组测试,室温20oC,风扇转速调至最高。我们通过运行SiSoft Sandra 2003和UT来“加热”处理器。
我们在SiSoft Sandra 2003运行之前,先运行了CPU Burn软件(不支持HT技术)10分钟,并记录下处理器温度。随之运行了SiSoft Sandra 2003(支持HT)中的Burn-in测试项57次,记录下CPU温度。
最后运行了UT2003十分钟,记录下CPU温度。(温度的获得均通过华硕的PC Probe程序)
测试的结果如下:

大家可以看到,在待机模式下处理器的温度在激活HT技术后较低,在不支持HT技术的CPU Burn中也是如此。
不过在对HT技术做过优化的软件中,软件会更有效率的使用CPU管线,从而增加系统发热量。同时由于在UT2003中的测试结果,我们决定在正式测试中关闭HT技术,以增加温度提高幅度。 测试结果
现在让我们回到正式的测试中来:奔腾4的性能和温度的关系。在培育箱中的初始温度为28oC,初始的CPU温度为69oC,UT2003中的FPS则为115左右。
随后,我们稳定的增加培育箱的温度,并记录下4个数据:培育箱内温度、机箱内温度、CPU温度和FPS。
好,让我们看看结果。游戏速度在CPU温度达到72oC之前(1号区域)没有变化,而在此之后显著下降。这时热能控制电路应该发挥了作用,降低了CPU的运行频率。
不过当CPU温度保持不变时(2、3号区域),FPS仍持续下降。这就说明奔腾4处理器可以阻止核心温度上升并在一段时间内保持温度不变。在这些区域中,温度是有性能来决定的,而不是相反,控制电路工作良好。
总体上来看,环境温度在测试中从27oC提高到50oC,机箱内温度则由44oC提高到63oC,处理器的温度是69oC提高到85oC。我们的测试表明奔腾4 3.06GHz处理器的临界温度为72oC。当我们将温度提高到85oC时,CPU的性能下降到一半以下(115FPS降到了49FPS)。
 不幸的是我们无法通过培育箱获得更高温度下的结果,所以我们关闭了散热器。在关闭之后,CPU的温度提高到了94oC,并在1分钟以内自行关闭了系统。在这1分钟不到的时间内,UT2003的FPS没有什么变化,说明奔腾4 3.06GHz处理器性能最低只能降到这里了。
不过,我们对3.06GHz处理器的“折磨”还没有结束。接下来,我们又使用了CPU RightMark 2 RC3来进行测试。
由CPU RightMark生成的这张图变化很快,让我们无法采用先前的测试方式。我们不得不很快的增加CPU温度,但不能让其达到临界值(72oC?)。我们的选择是采用另一种方式“加热”CPU:关闭散热器。这样CPU的温度会很快提高,让RightMark足以显示测试结果,不过还不能达到系统自动关闭的程度。我们得到了下面这张图:(图中没有CPU温度,我们也不需要这个,我们更关心的是CPU的速度调节极限)

这张图表面极限确实存在。热能控制电路的确在一些时候降低了CPU的频率,尽管温度在继续增加。在此之后,我们打开了散热器,CPU的性能随着温度的下降而提升。
我们得到是性能下降2.7倍是奔腾4 3.06GHz处理器的极限。
当我们将环境温度设为-7oC并关闭了散热器时,本以为这么低的温度可以让系统稳定运行。不过我们错了,系统在运行UT2003时很快就达到了94oC并自行关闭 结论
测试结束时,MIR-253内的温度为 50oC。当我们打开箱门时,一股热气扑面而来,CPU的散热器也烫得不能摸。不过我们的奔腾4处理器还“活着”,即使机箱内的温度达到了63oC。
不过奔腾4处理器中使用的热能控制技术也不能解决所有的过热问题。我们的测试证明奔腾4处理器可以在一定程度内防止温度进一步提高,不过这是要付出代价的:性能可能要降到原来的一半以下。同时,测试表明热能控制电路技术还无法在散热器失效的情况下保证奔腾4 3.06GHz处理器的正常运行。
同时,奔腾4处理器对于环境温度的变化有些“免疫”能力,在寒冷的冬季以及炎热的夏季都可以正常工作。这款处理器很可能在其他处理器无法工作的环境中还可以运行,只是性能会有所下降。Intel宣称热能控制电路更改后的有效内部频率可能比标称值低50%左右。我们的测试表明随之而来的性能下降不只50%。
我们的测试也可以说明为什么奔腾4处理器的性能会在有些情况下低于我们的预期。即使用户没有超频,CPU仍会出现过热的情况(散热器效率不高、机箱过小、没有系统风扇、过多发热大的扩展卡、过高的室温等原因)。不论过热的原因是什么,热能控制电路都会根据温度调整CPU的性能。对于奔腾4 3.06GHz处理器而言,即使核心温度只增加3oC( 72到 75oC),其性能的下降就达到了10%左右。
如果这样的话,那么CPU的散热问题就不是这么简单的问题。今后的散热器厂商宣传中,除了目前的“带来一个低噪音,稳定的系统”之外,还会加上“带给你一个真正强大的
|
|
|
----------------------------------------------------------- 宁愿山中筑巢,不羡天空逍遥。
|
|
|