CPU温控技术的分析及其对策
发布时间:2015-07-07 09:30
摘 要 本文通过对cpu升温原理的分析,列出当前几种主要的温控技术,并对它们的优缺点进行分析,同时探索了各种不同的抑制cpu升温或者降温的措施,最后给出对cpu各种不同降温措施的评价。
关键字 处理器;动态功耗;温度监控
1 引言
随着cpu集成度和运行速度的不断提高,其功耗也越来越大,导致cpu的运行温度越来越高,并成为cpu技术发展的瓶颈。cpu的温升不仅影响cpu技术的进一步快速发展,而且直接影响cpu的稳定性和使用寿命。如何抑制cpu的温升和迅速降低cpu的温度成为cpu设计和使用的一个重点。 cpu设计者主要从体系结构设计、集成电路半导体材料选择、cpu内功能电路布局、cpu几何尺寸等方面把握cpu的理论功耗和表面散热途径。cpu在完成设计并成为产品以后,在使用的过程中,它的实际功耗和散热效率会因不同的使用环境而有所不同。cpu的使用环境包括周围温度、气压、通风、供电电压、时钟频率、散热措施、负荷特点等。本文重点讨论各种温控技术,并且给出解决降温的各种措施。2 影响cpu温升的因素
cpu的温升取决于两大方面,一个方面是cpu工作不断产生的热量累积;另一个方面是对cpu产生的热量的导散。热量增加和散热不畅都会导致cpu的温度上升,并造成对cpu的损伤。 cpu的热量来源于它的功耗,根据cpu功耗与供电电压和工作频率的关系可以看到供电电压和工作频率是影响cpu温升的两个重要因素。 cmos电路cpu的动态功耗为p = cv2f,其中c表示电路负载大小,v表示供电电压,f为工作频率。可见工作频率f与芯片的动态功耗成线性正比例关系,供电电压v的平方与芯片的动态功耗成线性正比例关系,对于一颗cpu来说,电压越高,时钟频率越快,则功率消耗越大。因此,在能够满足功能正常的前提下,尽可能选择低电压工作的cpu能够在总体功耗方面得到较好的效果。对于已经选定的cpu来讲,降低供电电压和工作频率,也是一条节省功率的可行之路。3 cpu的温控技术[1][4][5]
3.1 外部温度监控技术
对cpu温度监控通过“外部监测”措施—即通过主板cpu插座下面的热敏电阻来监测cpu工作时的温度。cpu插座内采用立式或贴片式的热敏电阻。整个监测过程全部是由主板来负责,热敏电阻直接将所监测到的数据传给主板上的温控电路,如果监测到cpu的工作温度超过在bios中的预设值时就会自动断电关机或报警。采用此种方式的优点是体积小、价格低,使用方便,不过在监控处理器温度时明显存在缺陷,比如用此类监测方式得到的温度往往是cpu底面的温度,而不是内核温度,温度读数是由监控芯片根据温敏电阻的阻值变化计算得出,而且此类接触式测试受外部环境影响较大。如果热敏电阻与微处理器接触不够紧密,微处理器的热量不能有效地传送到,所测量温度会有很大误差。有些主板上采用smd贴片热敏电阻去测量微处理器温度,其测量误差比直立式热敏电阻误差更大,因为这种贴片元件很难紧密接触到微处理器。故此类cpu温控结果误差性极大、反应不灵敏,所得结果仅仅只供参考。这就带来了一个十分严重的问题∶表面温度不能及时反映微处理器核心温度变化,从而形成一个时间滞后的问题。因为核心温度变化之后要经过一段时间才能传送到微处理器表面。相比之下,表面温度反应十分迟钝,其升温速度远不及核心温度,当核心温度发生急剧变化时,表面温度只有“小幅上扬”。 pentium 4和athlon xp等最新的微处理器,其核心温度变化速度达30~50℃/s,核心温度的变化速度越快,测量温度的延迟误差也越大。在这种背景之下,如果再以表面温度作为控制目标,保护电路尚未做出反应,微处理器可能早已烧坏。因此曾提出 “temperature offset correction”(温度偏差修正)的cpu内核心温度监测温度修正方案来纠正此种cpu温控所带来的偏差。所谓“温度偏差修正”就是指当系统采用外部测量法时,必须在测量结果的基础上增加一个温度偏差值:即bios中显示的温度值=实际测试值+温度偏差值。这个偏差值由主板热敏电阻、临界温度等因素来决定,当系统设定以后它就是一个常量(通过刷新bios可以改变这个值)。这些措施在一定程度上可以减小误差值。但是,问题仍不能得到根本性解决,比如对于突发事件(如风扇脱落)所带来的温度急剧提升完全不能及时做出反应。为此我们考虑采用内部温控技术。3.2 内部温控技术
针对外部温度监控技术的不足, cpu厂商在cpu内核里面加入了一个专门用于监测cpu温度的热敏二极管,将cpu温度来引了“内部温控”时代。在这里整个处理器温度监控系统可分为外部控制型和内部控制型两种基本结构。外部控制型监控系统,其实就是主板的温度监控电路,它有三种基本存在形式∶一种是采用独立的控制芯片,,这些芯片除了处理温度信号,同时还能处理电压和转速信号;第二种形式是在bios芯片中集成了温度控制功能;第三种形式是南桥芯片中集成温度控制功能,目前新一代南桥芯片都有温度监控功能。而内部控制型监控系统则是指cpu内核心中整合的热敏二极管,这个热敏二极管的正负两极作为cpu两个针脚直接来通过主板cpu插座和主板的温度监控电路相连。 在整个监控过程中,当cpu工作时,热敏二极管就将感应到的数据变化传输给主板的温控电路,由主板的一个特定逻辑运算电路通过所接收到的数据计算出cpu的内核温度,如果计算出来的温度高于预设温度警戒线时,系统就会自动在瞬间切断cpu核心电压,使cpu停止工作并让系统挂起来,从而可以很好地保护cpu不被烧毁。p2、p3及athlon xp处理器都是采用了此种技术。这种方法反馈回来的温度并不是很准确,往往要比cpu核心温度低5度左右。为防止它的处理器过热烧毁推出了s2k 总线断开技术:即当处理器内核温度过高时,系统会发出一个halt指令(halt 改指令的意思是在没有要处理的指令和数据时将处理器挂起),当cpu接收到halt指令时,处理器会转到相应的等待模式,这种模式只需要消耗较小的功率。 通过在cpu内核整合热敏二极管来控温已经是一种能很准确监控cpu核心温度的方法了,而且配合主板的温控电路就能即时保护过热的cpu,使其不至于在风扇突然停转或意外脱落时cpu被烧掉。但此类内部温控技术存在一个弊端,那就是在cpu温度过高时通过直接关闭电脑来达到保护的目的,这样会导致数据因为未能及时保存而丢失,忽略了数据的价值往往要比一个cpu的价值要高的可能性。而且热量不稳定可能导致系统不稳定,如果电脑死机或程序进入死循环,就会失去监控作用,也就无法保护微处理器了。3.3 热量控制电路
为弥补第一代内部温度监控技术的不足,intel在northwood核心p4中引入了第2代内部温度监控技术—热量控制电路(thermal control circuit,英特尔又将它命名为热量监视器(thermal monitoring))。p3、athlon xp的温控电路的特点是内部仅拥有一个热敏二极管不同,而northwood核心p4的热量控制电路拥有两套热敏二极管。其中一套热敏二极管侦测cpu的温度值并传输给主板上的硬件监控系统,这套装置像传统的内部温控技术一样通过关闭系统来保护cpu,不过只是在紧急情况才会自动关闭。第二套热敏二极管放置在cpu内核温度最高的部位,几乎触及alu单元,并作为热量控制电路的一个组成部分。在cpu工作中,这两套热敏二极管的电阻会因温度而变化,因此通过它的电流也会随着cpu的核心温度而变化,通过与内设参考电流的比较,系统能够判断当前电流是否达到了临界点。如果cpu最热的地方超过一定值,第二套热量温控装置会发送一个prochot#信号使热量控制电路系统开始工作,通过减小cpu的负载来降温,其实这套热敏二极管起到波动调节作用。pentium 4的热量控制机制并非是减少时钟频率,而是减少其输出的有效工作频率。当温度正常的时候,alus(算术逻辑运算器)将会接受到一定的频率。但当主板检测到cpu的核心温度达到一个特定的临界值时,热量控制电路就开始发送prochot#信号,将空置的时钟周期插入到正常的时钟周期内,发送到cpu的调节信号如图1所示。
图1 发送到cpu的调节信号 prochot#激活的无效周期会将某些正常时钟周期省略掉,使得最终发送给cpu逻辑运算单元的信号频率就会有所降低,从而通过降低cpu的工作效能来达到降温的目的。随着温度的降低,热量控制电路将会开始减少空时钟周期的数量以使cpu返回它原来的工作模式。只要cpu核心温度比临界值低1度时,热量监视器就会停止发送过热信号。热量控制单元就会停止产生空的时钟周期,cpu的性能也就恢复到正常值,过热保护系统被激活只需十几亿分之一秒,我们还可以在pentium4主板的bios中选择超警戒温度来进行控制。当处理器的任务周期(duty cycle)占全部周期的比例越大说明处理器的工作效率越高,其可以调节的比例在12.5%到87.5%之间,选择的数值越小,则任务周期的比例越小,效率降幅反而越大,我们还可以利用prochot#引脚功能保护主板的其它元件。当供电模块的温度超出警戒温度时,监控电路输出低电平到prochot#,从而激活tcc,通过降低微处理器功耗来达到保护供电模块及主板其它元件的目的。