您现在的位置:首页 > 技术资料 | 上载库存 |
剖析CPU温度监控技术
引言 一、温度测量:从表面深入到核心 建立CPU温度监控系统,首先要选择一种合适的温度测量器件。能够测量温度的器件有很多种,如热敏电阻、热电偶和半导体温度传感器等。电脑中最早使用热敏电阻作为测温元件,CPU插座下竖立的球状或带状的小元件,就是热敏电阻(如图1)。 图1 CPU插槽下的热敏电阻
热敏电阻(Thermal Resistor ,简称Thermistor)体积小、价格低,使用方便,但用于检测CPU温度时存在着先天不足: 图2 表面温度的时间滞后特性 (小知识∶如何知道BIOS或测试软件显示的CPU温度是表面温度还是核心温度?) 就目前来看,无论使用Intel还是AMD的CPU,已很少使用热敏电阻测量CPU表面温度了,所以BIOS与检测软件所显示的CPU温度都是指CPU的核心温度。而在Pentium Ⅱ以前,CPU温度通常是指表面温度;Pentium Ⅱ及以后的CPU内都集成有热敏二极管,所测量温度就是核心温度。不过,在过渡期内许多主板上仍在CPU插座下面保留了热敏电阻,这样就同时能检测到两个不同的CPU温度值,通常BIOS中显示的是CPU的外部温度,而检测软件所测试的是核心温度。 热敏二极管又叫热敏PN结(Thermal PN junction),基于硅基PN结正向电压和温度的关系,其测温范围在-55℃~+150℃之间。与热敏电阻一样,热敏二极管属于变阻器件,其等效电阻值是由其工作温度所决定。 二、温度监控:从单纯显示到温度监控 在热敏电阻为主要测温手段时期,测得的CPU表面温度经放大器将微弱信号放大后经A/D转换,将模拟信号转换成数字信号后再通过数据线发送给BIOS芯片(如图3),数据进入BIOS芯片后,BIOS或监控软件就能在屏幕上显示了。 图3 温度信号处理电路
实际监控系统所采取的主动降温措施中,哪种方法更有实际意义呢?下面我们进行一个简短的分析。 芯片的功耗(发热量)由静态功耗和动态功耗两部分组成(如图5),静态功耗是因为漏电流引起的。由P=V2/R可知,在芯片等效电阻R不变的情况下,功耗P与电压V的2次方成正比,降低供电电压可以极大地降低静态功耗。所以这些年来芯片工作电压从5V降到3.3V,甚至降到目前的1V以下。我们当然希望这个数值进一步降低,但如果没有k值更高的栅极材料,就无法保证在低电压下完成晶体管开启和关闭动作。所以,降低电压的手段毕竟还是有限的。而且由于CPU内集成的晶体管数量的按摩尔定律逐年增加,众多晶体管并联后使得等效电阻值不断减少,集成电路内层与层之间的绝缘层变薄也使得层间泄漏电流增加,所以CPU的静态功耗一直趋于上升态势。 图5 芯片工艺进步 泄漏功耗增加 cpu温度监控系统根据控制电路所处的位置,可分为外部控制型和内部控制型两种基本结构。外部控制型监控系统,现在被称为第一代温度监控技术,它有三种基本存在形式∶一种是采用独立的控制芯片,如WINBOND的W83627HF、ITE的IT8705、IT8712等,这些芯片除了处理温度信号,同时还能处理电压和转速信号(如图6);第二种形式是在BIOS芯片中集成了温度控制功能;第三种形式是南桥芯片中集成温度控制功能。在现行的主板中,三种形式同时存在,如果主板说明书中没有特别说明,我们一时难以判断监控硬件的准确位置。 图6 第一代热量监控系统框图 图7 一个实际的监控电路 SMBus的数据传输率为100kbps,虽然速度较慢,却以其结构简洁造价低廉的特点,成为业界普遍欢迎的接口标准。Windows中显示的各种设备的制造商名称和型号等信息,都是通过SMBus总线收集的。主板监控系统中传送各种传感器的测量结果,以及BIOS向监控芯片发送命令,也是利用SMBus实现的。 监控芯片通常是可编程的ASIC微控制器,应用软件经BIOS将控制命令和数据经接口电路发送给监控芯片,修改其控制参数,一些监控软件正是通过这种途径来显示和调整CPU电压和风扇转速的。 监控芯片是温度监控系统的核心,其质量优劣对控制性能有很大的影响。但由于监控芯片种类繁多,在功能和性能上有很大差异,给使用和鉴别带来一定困难。 首先,各种监控芯片在控制功能上有很大差异(譬如某个芯片可以控制两个风扇,多数则只能控制一个风扇),通常引脚数越多,功能越强。 其次,即便功能相同的芯片,性能上也会有差别,其中一个重要的区别在数据位的不同(譬如MAX6682的分辨率是10位,TC1024为9位,FMS2701为8位),位数少的芯片输出的数据精度自然也就降低了(8位芯片温度转换误差为±3℃)。另一个性能差别在采 第一代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之所以能够安然无恙,答案就在这里。 样速率上,如果采样速率低(例如FMS2701的采样速率为1s),必然增加信号延迟,无法及时跟踪CPU温度的变化。 小知识∶警戒温度与极限温度有什么不同? cpu警戒温度(warning temperature)和极限温度(thermal trip)都是指核心温度,但它们所代表的意义有所不同。警戒温度是能够保证CPU稳定运行的温度;极限温度也叫最高核心温度(Maximum die temperature)或关机温度(Shutdown temperature),是防止CPU免于烧毁的温度。
兼顾性能和可靠性是第2代温度监控技术的优秀之处。由公式P = CV2f(其中C是等效电容容量;V是工作电压)可知,频率f与能耗P之间是一种线性关系,降低频率是减少发热量的有效途径。这种通过降低有效频率实现降温的措施,比之以前那种关断时钟信号的做法显然要聪明一些,避免了因强行关闭CPU,而导致数据丢失的情况。
图10 Pentium 4cpu温度监控方案
在供电方面,单纯采用多相供电结合大电容滤波的传 在散热方面,Intel在Pentium 4 processor Thermal and Mechanical Design Guidelines(Pentium 4CPU热量和构造设计指南)中要求,CPU的散热器必须具有足够强的散热能力,以便及时将CPU所产生的热量带走。同时要求风扇能够输出转速信号,以实现对风扇的监控,防止因风扇停转而导致CPU过热的情况发生。由于CPU所产生的热量因工作负荷变化而有很大变化,因此也要求风扇转速按需要自动调节,以降低不必要的能源消耗和噪音污染。 小知识∶如何判断风扇是否具有测速功能? 有些电脑BIOS中显示风扇转速为0,而实际上风扇却在正常旋转,通常是因为风扇没有测速功能。风扇是否具有测速功能,可以从风扇连线的数目来区别,具有测速功能的风扇至少有三根线,通常红色线为+12V,黑色线为地线,黄色线或白色线就是测速信号线。如果还有第四根线——一根蓝色的信号线,那是用于变频调速的脉宽调制信号PWM,如图11。 图11 CPU风扇插头引脚定义 图12 温度监控系统实例 北桥芯片是cpu与BIOS芯片进行数据交换的桥梁,监控芯片与北桥芯片三个信号中,SDA是SMBus双向数据线,它既可以将电源电压、CPU核心温度、风扇转速和环境温度等全部监控信息发送给BIOS实现进行显示,也可以由BIOS将来自系统的命令发送给监控芯片(前面已经介绍过,监控芯片是可编程的ASIC,所以完全有能力处理这些来自系统的命令),实现控制参数的修改或调节功能;SCL是来自系统的时钟信号,这是监控芯片与北桥芯片以及监控芯片与CPU之间进行同步通信的必要条件;SMBALART#在此定义为监 监控芯片与CPU之间通过4个引脚进行联络:CPU将电压识别码VID发送给监控芯片,由它可算出CPU理论电压值(来自电源模块的Vcore才是CPU的实际电压值);D2+和D2-是CPU核心温度信号(“D”在此表示Diode,而不是Data),当CPU温度超过警戒温度时,CPU通过PROCHOT#信号通知监控芯片,而当电源模块电流超标时,监控芯片将PROCHOT#信号置为低电平,激活CPU内的TCC,对CPU和供电模块进行降温。这些控制功能完全体现了第2代温度监控技术的特点。 六、现有技术并不完善 CPU温度监控系统在电脑中虽然毫不起眼,人们很少去注意它,但它对整个系统来却起着十分重要的作用,像一位藏在后面的天使,默默地守护着我们的电脑。从1993年Intel推出第一款奔腾CPU以来,十年之间主频提升了数十倍,期间CPU技术的发展已不再是简单的频率提升,系统设计者必须在性能、耗电量、噪音和热量四个因素之间进行综合平衡。正因为如此,温度监控技术经历了从无到有、逐渐成熟的发展过程,从一个侧面见证了CPU的发展史。据说即将推出的Pentium 4 6XX系列CPU将集成Enhanced SpeedStep技术,CPU自身温度监控功能得到强化。 我们也应看到,现有的监控技术水平还远没有达到理想的状态,在温度测量精度、监控系统的及时性和降温技术的有效性等方面还有待提高,电压、频率和散热三个子系统目前处于各自为战的状态。未来的温度监控技术必然朝着更精确、更有效、更智能的方向发展。
|