3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 6098|回复: 23
打印 上一主题 下一主题

[分享] 从Intel CPU测温原理谈温度监控

  [复制链接]

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
跳转到指定楼层
主题
发表于 2011-8-17 17:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 落音缤纷 于 2011-8-17 18:43 编辑

相信很多人在超频过程中,甚至常规使用时都很注重CPU温度的监控。
从目前的情况来看,即使同为45nm的CPU,在相同频率、相同电压下,温度相差都可能十分大。这到底是所谓的“测温bug”还是CPU核心本来就这么热?

下面就从Intel CPU的测温原理来看看温度监测“不正常”的原因。PS:此处只讨论Intel的45nm CPU,由于AMD的测温原理跟Intel有所不同,因此,如果大家需要了解AMD CPU的相关情况,我会考虑重新开帖。

早期的CPU并不具备测温功能,而从Socket插槽开始,主板通常会附带一颗温度探头,位于CPU与主板之间。但这样所测得的温度几乎不具备任何意义,因为真正发热的是CPU Die,于是,从PD开始,Intel引入了一种新的测温机制:digital thermal sensor (DTS),数字温度传感器。

DTS的工作原理是:Absolute Core Temperature = TJMax - DTS(实际温度=TJMax-DTS)。因此,CPU实际测得的数值并不是温度,而是DTS,要监控CPU的实际温度,就必须获得CPU的TJMax值:CPU能承受的最高温度。而Intel官方在TJMax上一直含糊不清,只是在去年的IDF大会上,Intel公布了45nm处理器的TJMax资料,但并不十分准确。因此,目前的CPU测温,可以说是100%不准确的,只能作为一个参考。

这实际上不能算是Bug,因为每颗处理器的核心不可能完全相同,因此TJMax值也肯定完全不同。Intel不可能在每颗CPU出厂之前都进行测试和校正,只能根据ES版CPU来制定一个大概的TJMax值。

另外一个重要参数是Tcase。Intel所建议的Tcase温度测试部位在IHS(Integrated Heat Spreader)中央,也就是通常所说的CPU铜盖中央。由于测试CPU表面的温度要比测试核心温度容易得多,因此,比起核心温度,监测所得的CPU表面温度更有意义。

下面是CoreTemp的作者给我的邮件全文:


H ello from Canada,

When running a high stress program like Prime 95 Small FFTs, the core temperature is about 25C hotter than the temperature at the center of the IHS or heat spreader on top of the cores.  This is where Intel recommends that the Tcase temperature should be measured.  When you are using a large air cooler, the side or top of the cooler will not feel very hot to the touch even when the core temperature is very high.  It's impossible to accurately judge the core temperature based on how hot the heatsink feels because the heatsink may only be a few degrees greater than body temperature.  It will feel warm but that's about it.  The heat dissipates very rapidly with some of the big, efficient air coolers that are available these days.

There are a lot of problems with the sensors that Intel uses in all of their Core 2 based 45nm CPUs.  There are a lot of variables which makes it difficult to do a fair temperature comparison between two different CPUs.

The first problem is that Intel has never properly documented TJMax.  They released some information about TJMax last year at their IDF conferences but some of the information released does not seem very accurate at all.  They also didn't include details like how much error is in their TJMax specification number.  With 45nm there seems to be as much as 10C of variation in TJMax and that's from one core to the next on the same CPU.  Without trying to do some sort of calibration to minimize this amount of error, accurate temperature comparisons are difficult.

The next problem is slope error in these sensors.  The futher you get away from TJMax, the more these sensors will move at a rate either faster or slower than changes in the actual core temperature.  At idle, this can result in another plus or minus 10 degrees of error.  Intel has never documented the size of this error.

You can have two CPUs that have the exact same part number but one might read too low at idle while the other one reads too high.  An actual core temperature of 40C might be displayed on one CPU as 30C and another CPU might show that as 50C even though the core temperature is exactly the same on both CPUs.  There are methods I've come up with to try and calibrate these sensors but very few users bother to do this.  Most temperature comparisons I read about are meaningless because of the amount of possible error.

The next problrem is sticking sensors at low temperatures.  It's possible for a sensor to get stuck at 50C and it will keep reporting this number even as the actual core temperature gets cooler.  This can make users think that their CPU is running "hot" but it might just be more sensor problems.

What I found during testing was that if you had sensors that weren't sticking and if you calibrated them then there isn't a big difference in the core temperature at idle between a wide variety of Intel's CPUs; Dual and Quad cores.  
At full load, if you have two 45nm dual Core CPUs and run them on the same motherboard, with the same heatsink and fan and at the same core voltage and at the same speed with the same load; there's not a lot of difference in temperature either.

I think many users try to make temperature comparisons that are not very fair and don't take in to consideration the significant problems these sensors have.  You have to do a lot of work to try and make a fair comparison.  Different users with different cases and air flow and room temperatures and 101 other things rarely equalize all of these factors and variables for a fair comparison.
I hope this makes some sense.  If you don't understand something or don't agree or need some more information then write back.

Here's the latest version of RealTemp I'm working on:
http://www.fileden.com/files/2008/3/3/1794507/RealTempBeta.zip

As long as your computer is stable at full load then core temperatures aren't too important.  I've learned to run Intel's CPUs as cool as possible for maximum performance and not to worry too much about exact temperature numbers because the sensors are too inaccurate.



在运行Prime 95或者OR这类FFTs测试软件时,CPU核心温度通常大概比表面温度高25度左右。注意:此时说的是满载温度,并不是待机温度)。当使用底部面积较大的散热器时,由于散热器与CPU接触面积较大,并且鰭片数量较多,因此即使CPU表面温度非常高,也不一定能用手感觉出来(实际上,即使温度很高,鰭片散热器温度也只会比体温高出几度,因此靠触摸等方法判断温度高低完全没用)。

而Intel在45nm CPU上使用的传感器也存在很多问题,所以单纯对比两个45nm CPU的温度也毫无意义(比如用E5200@4G的温度与E8400@4G的温度进行对比是完全错误的)。首先是前面提到过的TJMax,所有CPU的TJMax都不相同,Intel也没给出TJmax的误差范围。从CoreTemp作者对45nm CPU所进行的测试来看,即便是相同型号,相同条件下的两个CPU,TJMax的差距也能达到10°C以上。除非能进行大量的校正工作来缩小误差范围,否则要准确测得核心温度非常困难,这并不是制造工艺问题,也不是Bug。

除了TJMax,DTS传感器本身也有很多问题。CPU核心温度越低(也就是距离TJMax越多),传感器的精确度就越差。在待机状态下,这个误差能在10°C左右。即使是相同生产周期的两个CPU,假设他们的温度都是40度,那么监测所得的温度也可能是:一颗CPU 30度,另一颗是50度。


CoreTemp作者提到,大量收集用户手中CPU的各种温度监控参数,有利于减少误差,但很少有用户愿意反馈这些信息,而少部分反馈回来的信息,也基本无用,因为这些参数受到了太多外界因素的影响。

另外,Intel CPU的传感器在低温状态下会“卡住”。很有可能监测温度是50度,而实际上核心温度已经下降了很多了,但CPU的温度传感器仍然继续报告相同的DTS值。而如果CPU传感器没有故障,并且TJMax也经过了校准,那么可以发现,Intel的所有45nm CPU之间(包括双核以及四核)的待机温度并不会有太大差距。而对于两颗同为45nm的CPU(比如E5200与E8400),在频率,电压以及散热条件相同的情况下满载,他们之间的温度也不会有很大差距。



但通常情况下,用户所做的温度对比几乎都不能叫公平,因为中间会有散热器差别,机箱温度差别,室温差别以及CPU传感器本身的差别等因素。

因此,CoreTemp作者建议,以及他自己也是这样做的:在CPU超频并满载状态下,如果做好了常规的散热措施,并且系统稳定运行,那么就别去管核心温度了,因为它根本不重要,根本不可能准确。


总结以上,所谓的测温Bug实际上包含了很多因素。首先是TJMax的个体差异。然后是CPU温度传感器会有误差和故障,特别是在待机状态下。并且由于对每颗CPU都进行TJMax和传感器校准会耗费大量资金和精力,因此Intel永远也不可能这样做。而TJMax不能称为Bug,真正有Bug的是传感器。

所以,大家在做好散热措施之后,根本不用去担心待机温度,而不管检测到满载温度是高还是低,都应该做好散热工作,因为实际上,所有45nm的CPU在电压相近,频率相近的条件下,发热量都是基本相等的,完全不存在高温U或者低温U的说法,温度差异就是Bug,并且所有U在超频后都会很热~~

评分

2

查看全部评分

回复

使用道具 举报

269

主题

7525

帖子

1万

积分

版主

I7 3770K R9 280X

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

贡献度
2110
金元
83653
积分
16805
精华
0
注册时间
2011-4-30

3DMer

舒服的沙发
发表于 2011-8-17 18:05 | 只看该作者
沙发...
PS 纠结温度的人都是从撸到湿纠结?
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
硬硬的板凳
 楼主| 发表于 2011-8-17 18:17 | 只看该作者
所有测温软件都一样。只不过撸大师完全是个外行。
回复 支持 反对

使用道具 举报

54

主题

559

帖子

570

积分

高级玩家

Rank: 4

贡献度
54
金元
4138
积分
570
精华
0
注册时间
2011-2-12
冰凉的地板
发表于 2011-8-17 18:20 | 只看该作者
有的人从那些白痴软件上面相信了待机温度可以比室温低
回复 支持 反对

使用道具 举报

4

主题

509

帖子

467

积分

高级玩家

Rank: 4

贡献度
30
金元
3470
积分
467
精华
0
注册时间
2010-5-18
5#
发表于 2011-8-17 18:29 | 只看该作者
老文章了...
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
6#
 楼主| 发表于 2011-8-17 18:40 | 只看该作者
又看不到头像了?
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
7#
 楼主| 发表于 2011-8-17 18:40 | 只看该作者
好久没来又这样了。。。
回复 支持 反对

使用道具 举报

89

主题

8171

帖子

2万

积分

骨灰玩家

Rank: 10Rank: 10Rank: 10

贡献度
960
金元
180816
积分
21922
精华
0
注册时间
2009-12-6

3DMer

8#
发表于 2011-8-17 19:31 | 只看该作者
纠结这个确实没什么意义。
据说英特尔的官方文档中所公布的过热保护温度是130℃。
回复 支持 反对

使用道具 举报

111

主题

4756

帖子

3759

积分

游戏精英

很久不上三大妈

Rank: 8Rank: 8

贡献度
71
金元
34654
积分
3759
精华
1
注册时间
2009-10-14
9#
发表于 2011-8-18 04:28 | 只看该作者
相信很多人在超频过程中,甚至常规使用时都很注重CPU温度的监控。
从目前的情况来看,即使同为45nm的CPU, ...
落音缤纷 发表于 2011-8-17 17:43



    不写论文可惜了 ..兄弟!
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
10#
 楼主| 发表于 2011-8-18 05:09 | 只看该作者
刚调完色,睡了困的。。
回复 支持 反对

使用道具 举报

36

主题

822

帖子

1001

积分

游戏狂人

Rank: 6Rank: 6

贡献度
110
金元
5610
积分
1001
精华
0
注册时间
2009-1-3
11#
发表于 2011-8-18 08:07 | 只看该作者
那GPU温度也是这个道理?
回复 支持 反对

使用道具 举报

615

主题

1万

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
1313
金元
75150
积分
12767
精华
0
注册时间
2008-5-31
12#
发表于 2011-8-18 08:59 | 只看该作者
前排,感谢楼主扫盲.强烈期待AMD篇!

我也因为核心温度比CPU温度低被人问过却不知怎么回答.

并且看到别人的核心温度互相是不一样的,但是我的4核心始终是一样的.
回复 支持 反对

使用道具 举报

105

主题

1813

帖子

1578

积分

游戏狂人

Rank: 6Rank: 6

贡献度
109
金元
11416
积分
1578
精华
0
注册时间
2009-7-20
13#
发表于 2011-8-18 10:44 | 只看该作者
嗯...........................................................
回复 支持 反对

使用道具 举报

8

主题

2199

帖子

2652

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
236
金元
17078
积分
2652
精华
0
注册时间
2008-3-30
14#
发表于 2011-8-18 11:24 | 只看该作者
记得似乎在哪看到过,还有AMD篇,原理和Intel的也不一样……
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
15#
 楼主| 发表于 2011-8-18 15:47 | 只看该作者
那GPU温度也是这个道理?
ericcson 发表于 2011-8-18 08:07



   GPU不一样
回复 支持 反对

使用道具 举报

77

主题

2794

帖子

2120

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
104
金元
17044
积分
2120
精华
0
注册时间
2008-8-20
16#
发表于 2011-8-18 15:49 | 只看该作者
不错不错 支持支持~~~
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
17#
 楼主| 发表于 2011-8-18 23:07 | 只看该作者
这个顶上去,AMD篇沉下去,大家就融会贯通一下吧~~
回复 支持 反对

使用道具 举报

105

主题

1万

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
387
金元
125891
积分
14137
精华
0
注册时间
2009-12-29
18#
发表于 2011-8-19 00:04 | 只看该作者
信一下.....
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
19#
 楼主| 发表于 2011-8-19 05:09 | 只看该作者
信一下.....
abcg 发表于 2011-8-19 00:04



   信什么也别信轻载软件监测到的温度
回复 支持 反对

使用道具 举报

105

主题

1万

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
387
金元
125891
积分
14137
精华
0
注册时间
2009-12-29
20#
发表于 2011-8-19 12:57 | 只看该作者
回复 19# 落音缤纷

好的,不过一般我只关注90度以上的温度
   
       
       
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
21#
 楼主| 发表于 2011-8-20 19:52 | 只看该作者
顶起来。
回复 支持 反对

使用道具 举报

0

主题

370

帖子

207

积分

中级玩家

Rank: 3Rank: 3

贡献度
2
金元
2589
积分
207
精华
0
注册时间
2010-5-14
22#
发表于 2011-8-21 11:57 | 只看该作者
好详细。学习了
回复 支持 反对

使用道具 举报

47

主题

1076

帖子

848

积分

超级玩家

Rank: 5Rank: 5

贡献度
47
金元
6597
积分
848
精华
0
注册时间
2011-3-20
23#
 楼主| 发表于 2011-9-6 17:39 | 只看该作者
测温的别纠结了
回复 支持 反对

使用道具 举报

46

主题

484

帖子

697

积分

超级玩家

Rank: 5Rank: 5

贡献度
80
金元
3774
积分
697
精华
0
注册时间
2008-6-14
24#
发表于 2011-9-6 18:33 | 只看该作者
就是说,软件测试出来的CPU温度都是不准的吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-8 22:09 , Processed in 0.173529 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表