随着电脑的更新换代,原来只有服务器才能用的双核,四核现在已经进入普通家庭用户了,CPU数量从1核,2核,3核到现在的8核,运行速度越来越快,CPU的温度越来越高,电脑出现问题的时候也越来越多,cpu温度多少正常,才不会导致出现电脑蓝屏重新启动呢?有些说是60,有些说是70,到底多高cpu温度不会死机呢?
CPU保证在温升20到30度的范围内一般是稳定的。也就是说,cpu的耐受温度为60度,按夏天最高35度来计算,cpu温度应该为55度,不能超过65度。当然按此类推,如果你的环境温度现在是20度,cpu最好就不要超过50度。温度当然是越低越好。不管你超频到什么程度,都不要使你的cpu高过环境温度30度以上。 因为CPU长时间工作在高温度下,容易缩短使用时间,而且可能导致直接挂掉。所以不要在BIOS里把CPU温度调到65度,一般60度就可以了。
多数现存的程序从主板上的Super I/O芯片读取温度,电压以及转速信息,通过芯片生产厂家提供的公式进行转换,然后显示给用户。所有人都承认通过这种途径测量的电压从来不是精准的。
测量电压可以用万用表这样简单和直接的办法,可是CPU温度怎么办?很多人想知道关于CPU温度,他们主板上的传感器有多精确。以我个人的经验,我只能说“这些传感器很一般”。他们只能达到帮助判断CPU是否过热的程度。
厂家进行温度监测的方式造成了这个精确性问题。有些主板使用一个安置在CPU插座内部的测温二极管。这个二极管要直接接触CPU底部来达到测温的目的 ---- 这也许是最不准确的测温方式了。
好在这种拙劣的方式不再常用(实际上基本没有了)。这是因为绝大多数现代P4/Athlon64开始使用现代CPU内部安置的温度二极管,这种方式相对精准得多了,可是仍然有一些因素干扰信息的精确读取。
这些因素包括信号在到达Super I/O芯片被采样前必须通过的那些电路和部件。另外一个因素就是传感器所处的位置。在一个CPU核心上有若干部位产生热量,有些部位会比另一些部位产生更多的热。如果我们把一个传感器安置在CPU核心一个并不产生大量热的位置的话,这样我们测到到的温度会和把传感器安置在CPU核心最热的部分完全不同。
技术革新
Intel和AMD双双意识到到目前为止测温问题解决的并不好,于是用到了一个新的方式。这个方式仍然包括热敏二极管,但是热敏二极管是一个模拟器件,所以读数必须被转换成数字数据。这个工作由ADC(模数转换器)来完成。
一个热敏二极管加上一个模数转换器就构成一个被称为DTS(数字温度传感器)的部件。理论上来说这个DTS的工作方式十分简单:一个CPU核心上的电路从热敏二极管上采样然后把数字数据输出到CPU一个特定的寄存器中,从而任何程序都可以随意读取该数据。这种方式的长处就是所有工作都在CPU内部即时完成,和易于被干扰和衰弱的模拟信号相比,数字信号传输的时候不会损失精确性。
这个系统另一个优点就是你可以在一块芯片上集成若干个传感器。Intel和AMD都在CPU的每一个核心上集成了一个DTS,这意味着你可以看到你每一个核心的温度。例如当你在双核CPU上运行程序并把该程序的相关性设定到某一个核心的时候,你会看到只有一个核心会升温并且会升得非常之快。当然另一个核心温度也会上升,毕竟两个核心共处在一个硅片上,只是不会上升到全力工作的核心那么高罢了。
Intel 和AMD都使用DTS来监测过热并通过“throttling”或者完全关闭系统来保护CPU, 用何种方式由不同的极限温度决定。
第一个官方宣布使用DTS的是Intel在Core Duo(Yonah)系列,随之延续到Core 2 Duo系列。AMD官方宣布从Rev. F Opteron 开始支持DTS。有趣的是通过一些测试,DTS早在AMD 64芯片就已经存在了。
Intel指出他们的DTS被安放在CPU核心最热的部位。AMD虽然没说明他们把DTS放在了哪里,我可以肯定不是在最凉快的部分。
通过无数的测试,我发现对于Intel CPU,DTS报告的温度显得非常的合理。Intel的白皮书指出他们的CPU在出厂之前DTS都通过了严格的校准。
在AMD的Rev. F芯片上,DTS的温度报告也显得十分准确,但是从各种途径的报告和我从AMD白皮书上了解到的来看,AMD的CPU在出厂前DTS没有经过同Intel一般正确的校准。AMD声称他们DTS的精确度在±14oC。我注意到AMD的一些较老的CPU(Rev F 之前)或者在两个Core之间有一个很大的差值,或者报告一个非同寻常的低温。我觉得这也可以理解,毕竟在AMD Rev F之前的CPU, DTS还没有被官方支持。
有两个更为重要的数值你一定要了解:
1、TCaseMax:这个值表示能使CPU 100%稳定运行的在 核心表面正中或者是IHS (就是cpu的金属顶盖)正中的最高温度。
2、Tjunction (or TjunctionMax) :这个值表示在核心和核心所在PCB板之间所容许的最大温度,通常这个值要远高于TCaseMax.
很重要的一点就是在解读DTS温度时不要混淆这两个值。当DTS报告一个比TCaseMax还要高的温度时并不意味着CPU处于危险状态。因为TCaseMax是CPU所能忍受的最高外部温度。可是如果CPU达到了Tjunction,你就要小心了,这是一个你不想让CPU超过的温度。
在Intel CPU中TjunctionMax 不难被测到,在AMD Rev. F CPU中,TCaseMax可以被检测到。可惜的是我还不知道如何检测Intel CPU 的TCaseMax, 或者AMD CPU的TjunctionMax (这个值更为重要)。
DTS令人吃惊的是它用起来很简单。传统的Super I/O芯片要求你对不同的I/O芯片进行编程,因为他们所用的地址和算法各不相同。
使用DTS的话,你只需要读取MSR( for Intel ) 或者NB 寄存( for AMD ), 简单的计算一下就成了,下面是公式:
AMD_CoreTemp = DTS_Value – 49
AMD的DTS数据是8位,可以理论上报告-49 – 206摄氏度的范围。
Intel_CoreTemp = Tjunction – DTS_Value
Intel 的DTS数据是7位,可以报告Tjunction和Tjunction往下126度。如果Tjunction 是85度(Conroe),则理论值下限就是-42度。可是我从没见过哪个CPU能报告低于0度的温度。这些CPU的DTS看来在某些温度点就停止继续下探了。[1]