第一代
cpu温度监控技术建立在依靠外援的基础上,当CPU过热而超过极限温度时,由系统向CPU发出HLT命令,让系统暂停。因为热量可能导致系统不稳定,如果电脑死机或程序进入死循环,就会失去监控作用,也就无法保护CPU了。同时,由于构成监控系统的元器件较多,战线拉得很长,导致反应速度慢,无法及时跟踪CPU温度变化。而现在的CPU不仅核心温度高,而且升温速度快(最高可达50℃/s),一旦灾难来临必有“远水不解近渴”之忧患。
四、第二代温度监控技术,Pentium 4烧不死的秘密
为了弥补第一代温度监控技术的缺陷,提高监控能力,Intel开发了第2代温度监控技术。
第二代温度监控系统的一个突出特点是在CPU内部集成了温度控制电路(Thermal Control Circuit,TCC),由CPU自身执行温度控制功能,同时,CPU内设置了两个相互独立的热敏二极管,D1是本地热敏二极管,所测信号提供给TCC,D2则为远端热敏二极管,其测量结果用于实现主板控制功能及显示核心温度,如图8。

图8 第2代温度监控系统框图
我们先看看TCC是如何发挥作用的。TCC定义了两种工作状态:激活态和非激活态。TCC的状态与PROCHOT#信号的电平高低相对应,PROCHOT#为低电平时,TCC为激活态,否则处于非激活态。当CPU核心温度达到警戒温度(Warning Temperature)时,温度检测电路将PROCHOT#信号置为低电平,从而激活TCC。TCC激活后,采取“抑制任务周期”(Throttle duty Cycle)的方式(如图9),使CPU有效频率下降,从而达到降低功耗的目的。当CPU的温度降低后(低于警戒温度1℃以上),TCC回到非激活态,CPU恢复到“标称频率”。可见,TCC实质上是一个由CPU温度控制的频率调节器。

图9 TCC激活时,任务周期减少
如果发生灾难性冷却失败的情况,使CPU温度超出极限温度(thermal Trip),TCC将设THERMTRIP#信号为低电平,BIOS芯片检测到这一变化后,直接关闭CPU时钟信号,并通过PWM控制器封锁VRM向CPU供电,直到温度降到极限温度以下,RESET#信号有效,THERMTRIP#才会重新变为高电平,系统才能继续工作。否则THERMTRIP#总为低电平,系统就停留在暂停状态。“当CPU离开风扇的时候”,Pentium 4CPU之所以能够安然无恙,答案就在这里。