双核CPU两个核心温差较大
发布网友
发布时间:2023-02-20 00:05
我来回答
共1个回答
热心网友
时间:2023-07-19 11:06
首先,这是正常现象。而要解释为何正常,就说来话长了。要搞懂这个问题,先要知道温度传感器原理。
CPU内部的温度传感器,实际上原本并不是用来让用户知道实际温度的,传感器也不会直接汇报确切温度值。
以前的老CPU,内部是没有温度传感器的,而是在主板CPU插槽中间放置一颗温度探头。这样的缺点是,没办法检测CPU核心温度,而外部温度又会受到各种因素影响,准确度实际不高。
所以从Pentium D开始,Intel在CPU内部开始集成数字温度传感器(Digital Thermal Sensor,简称DTS)。这里要说一下,由于AMD从来没说明过他们的DTS传感器原理、数据以及从何时开始使用,所以下面都以Intel CPU来说明。
先要介绍几个概念:
1.TjMax:CPU核心能够承受的最高温度
2.DTS:数字温度传感器/传感器实际数据值
3.Tcase:CPU表面温度
目前CPU测温都是靠软件算法来实现的,计算公式是:实际温度=TjMax-DTS。也就是说,如果一个TjMax是100度的CPU,实际温度是100度,那么DTS度数就应该是0,如果实际温度是50度,DTS度数就应该是50。
由此可见,DTS度数也可以理解为Distance to TjMax,表示实际温度与最大可承受温度的差值。
以上内容都没任何问题,通过DTS貌似可以测得实际温度。
但事实上没那么简单~~由于CPU在制造过程中,受多种因素影响,比如晶圆质量、封装质量、铜互连漏电率等,即使是同型号同生产线同批次的CPU,两两之间也存在TjMax上的差异。有可能一颗CPU的TjMax是110,而同型号的另一颗却是95。
而对于Intel来说,由于出厂时不可能对每一颗CPU的TjMax进行检测和标注,只能给出一个大概值,用于保护CPU在高温时可以进行自我保护,避免核心损坏。而CPU即使存在个体差异,这个差异也不会十分巨大,否则就是不合格产品了。因此一般情况下,IDF上Intel都会公布每一款CPU的“参考”TjMax值,这个值不准确,并且很保守(实际TjMax是110,标注为100)。
这就造成了,CPU通过软件测温,数据几乎是100%不准确的(包括BIOS里面的温度),而好的测温软件,会通过对某一款或多款主流CPU进行大规模采样,用复杂的算法来尽量校正测温数据,做到尽量准确(不过大部分软件开发者都没这个精力去做这样的事)。
上面解释了为何CPU软件测温是不准的,那么LZ的问题就好解答了。由于双核/多核CPU的每一个核心都可能存在差异,因此实际温度也是有差异的,两者TjMax和的DTS的实际度数并不相同。但软件认为,两者的TjMax是相同的,因此用相同的TjMax减去不同的实际DTS度数,就造成了两个核心温度不同,甚至差别很大。