15--解开CPU核心温度和CPU温度之谜 <2011-9-23>

G

gogochen

Guest
解开CPU核心温度和CPU温度之谜

dongfang-M 发表于 2011-9-23

用AIDA64(EVERSET)或者其他检测软件检测CPU温度,发现有CPU温度,还有CPU核心温度。

一、CPU温度是那个组件检测出来的

CPU温度是主板上的位于CPU插座里面的热敏电阻探测的温度。
这是很早的主板CPU插座的CPU温度探测热敏电阻。
01.jpg


目前,Intel系列的主板在CPU插座内还有热敏电阻探测CPU温度。这是P67主板的CPU插座的CPU温度探测热敏电阻。
02.jpg


这个热敏电阻检测到的温度就是AIDA64(EVERSET)显示的“中央处理器”温度。
这个温度是CPU附近的温度,由于热敏电阻有个体差异,环境差异,不同主板,即使是同一型号同一批次的主板检测同一颗CPU,检测的温度也存在差异。所以这个温度只是一个大概的温度值。
03.jpg


这是主板上热敏电阻探测CPU温度的电原理图。
04.jpg


AMD已经把探测CPU温度的热敏二极管放到CPU内,主板上不再有探测CPU温度的热敏二极管或热敏电阻了。所以AMD CPU的温度来自AMD CPU内。

二、CPU核心温度那个组件检测出来的

AIDA64还显示了CPU/#1核心温度。CPU有几个核心就会显示几个核心温度。
05.jpg


CPU核心温度是CPU内部的热敏二极管探测的温度。多核心的CPU,每个核心都会有一个热敏二极管,探测自己核心的温度。为什么每个核心都放一个热敏二极管?因为多核CPU不是所有核心一起工作的。如果没有特殊的让所有核心一起工作的软件,始终是一个核心工作。所以必须每个核心都要有一个热敏二极管探测这个核心的温度。
这是CPU核心内部的热敏二极管测温原理图。
06.jpg


当然,,CPU核心的温度探测和热量监控还有复杂的电路和计算、监控原理,这里就不一一细说了。

三、下面解释几个问题

1、核心温度比CPU温度高
这个问题在网络媒体里有很多很多。从上面的原理介绍可以知道,CPU温度是主板上面的热敏电阻探测的CPU插座内的温度。核心温度是CPU核心内热敏二极管探测的温度。一般来说,核心温度高于CPU温度。这种核心温度比CPU温度高的情况多见于Intel多核CPU。
07.jpg


2、核心温度比CPU温度低
这种核心温度比CPU温度低的情况多见于AMD 多核CPU。因为AMD CPU是把探测核心温度的热敏二极管集成到核心里面。探测CPU整体温度的热敏二极管封装到CPU 内,探测的是所有核心总和温度,自然CPU的总体温度比`每个核心的温度略高一些。
08.jpg


3、几个核心的温度不一样
一般多核CPU的核心不是一起工作的,无论有几个核心,在XP下只能有一个核心工作。只有使用多线程作业的软件,比如Photo,渲染软件,可以让多个核心同时工作。游戏多数是单作业线程的,不会让多个核心同时工作。开发多作业的游戏成本高极了。工作的这个核心温度就高。而且一般不会几个核心轮流工作。这种情况多见于Intel的多核CPU,Intel的多核CPU确实是“多个”核心拼接而成的。

感兴趣的客户可以用CINEBENCH R10试试。OR是不行的。
09.jpg


4、AMD CPU开核后核心温度是0
开核就是修改了CPU的规格,每种型号CPU在BIOS里都有相应的代码,并有核心指针指向CPU内的温度寄存器,每个核心一个指针。比如三核CPU有三个温度寄存器,BIOS的CPU代码内有三个地址指针指向三个核心温度寄存器。
如果开成四核,那就变成了四核CPU,可是BIOS的CPU代码没有这颗CPU的正确代码,也就没有指向4个核心温度寄存器的指针,BIOS不知道到哪里读核心温度,当然就是0了。这种情况发生在AMD开核CPU。
10.jpg
 
顶部