微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > CPU风扇不转是一种怎样的体验?到底会不会“火”

CPU风扇不转是一种怎样的体验?到底会不会“火”

时间:06-06 来源:UEFI和BIOS探秘 点击:

当你坐在电脑前愉快的玩耍时,有没有想过一个细思恐极的问题:如果忽然我的CPU风扇卡住不转了,我的CPU会不会烧掉?

值得庆幸的是,聪明的工程师们早已开发出有效的处理器温度监控、保护技术。以特殊而敏锐的"嗅觉"随时监测CPU的温度变化,并提供必要的保护措施,使CPU免受高温下的灭顶之灾。在我们看来,探索这项技术如同开始一段神秘而有趣的旅程,何不与我们同行?


亦或整个主机被融化掉?

历史
建立CPU温度监控系统,首先要选择一种合适的温度测量器件。能够测量温度的器件有很多种,如热敏电阻、热电偶和半导体温度传感器等。电脑中最早使用热敏电阻(Thermal Resistor ,简称Thermistor)作为测温元件,CPU插座下竖立的球状或带状的小元件,就是热敏电阻。但这种接触式测温元件和CPU接触不够紧密,CPU核心(die)发出热量由芯片封装向外部散热,其表面温度和核心温度之间约有15℃~30℃的温差,同时因芯片封装形式不同,及环境温度的不同而难以确定。由于热敏电阻先天不足带来了一个十分严重的问题∶表面温度不能及时反映CPU核心温度变化,用专业术语说就是存在一个时间滞后的问题。在这种背景之下,如果再以表面温度作为控制目标,保护电路尚未做出反应,CPU可能已经命归黄泉了。

在这种情况下,Intel在Pentium Ⅱ和Celeron CPU中植入了热敏二极管(Thermal Diode)直接测量核心温度,开创了半导体测温技术的先河,术语叫做DTS(数字温度传感器,digital thermal sensor)。与此同时,是在CPU内部集成了温度控制电路(Thermal Control Circuit,TCC),由其自身执行温度控制功能。在DTS温度超过CPU的额定核心最高温度(TjMAX,maximum junction temperature)时会引发CPU的降温措施,减慢CPU的执行速度。

那么如何减慢CPU的执行速度呢?不外乎让CPU做做停停磨洋工和做的慢一点两种。在Pentium Ⅱ时同时引入的TM1(Thermal Monitor1)就是磨洋工做法,而在Pentium4引入的TM2(Thermal Monitor2)则是让CPU干的慢点。如下图:

可以过热会引发PROCHOT#信号,这时TM1会将一半的Duty cycle关掉,就是干一下,歇一下。与TM1相比,TM2可以提供更智能,更有效的处理器热量功耗的管理方式,在保证处理器基本性能的前提下尽可能在满负荷情况下降低处理器的功耗和温度。它会降低CPU频率,与此同时通过与电压管理模块VR通讯,降低CPU电压,双管齐下保证CPU温度降低。

也许你还有疑问,如果降频还不足以降温呢?毕竟风扇不转后再慢的速度,CPU温度还是会上升啊!下面我们从硬件和软件两个角度来看看原理细节。

原理
为什么我们要分成硬件和软件两部分来讲呢?因为依靠单纯的硬件和单纯的软件都有各自的问题:

1. 纯硬件 :缺点是软件如操作系统不参与,OS无从知道硬件过热,谁也不希望文件写着写着忽然断电,文件都丢失了。

2. 纯软件 :软件容易死掉,假使操作系统宕机,纯软件方法没有办法继续降低CPU温度,会导致CPU烧毁。

只有结合软件和硬件,才能提供保障和有好的用户体验。软件预先报警和阻止温度上升,硬件在软件行动不利后插手进一步阻止温度上升,并在危急时刻自动切断电源。

硬件
在Core2后,Intel融合了TM1和TM2,提出了自适应温度监控(Adaptive Thermal Monitor),它实际上是结合了两者。Intel在每个内核和核显上都放置了DTS,并通过TCC随时监控各个DTS的状况,这些DTS的温度值可以通过MSR或者PECI总线进行读取。CPU温度上升后,Intel为保障系统安全设置了两道防线:

1. PROCHOT#
为保证CPU工作在额定最大功率下(thermal design power ,TDP),Intel为CPU设定了额定核心最高温度(TjMAX,maximum junction temperature)。TjMAX是系统可以正常工作的最高温度,它通常是不能修改的。当CPU内任何DTS(数字温度传感器,digital thermal sensor)高于TjMAX后,CPU的PROCHOT#信号线就会被置起。PROCHOT#信号线通常是双向的(在某些低端CPU上是只能in,或out),它可以通知外部EC、BMC等芯片CPU温度过高,也可以用于CPU感知外部某器件温度过高,而一样进入CPU降温模式:减慢CPU的执行速度。

"现在很多笔记本厂家都引入了一种名叫BD PROCHOT(Bi-directional processor hot)的功能来解决高端GPU和CPU的发热问题。其核心原理就是在独显工作的时候,当其温度超过某一阈值,利用PROCHOT#通知CPU降频以达到减少发热的目的。反过来亦然,详情见文后的扩展阅读部分。"

PROCHOT#是CPU的第一道防线,它是温度变高,TCC(温度控制电路,Thermal Control Circuit)反应的结果而不是原因。当这条黄线被跨过后,CPU电压管理模块立刻行动起来:

A.立刻利用TM2降低频率和电压,直到DTS不再超过TjMAX。因为可以选择的频率和电压有很多档,频率和电压是按照一定算法逐渐降低的,力度也是逐渐加大。

B.如果温度继续上升到一个Delta值后,TM1也会起作用,删除掉一部分工作周期,让CPU多休息一下。这时实际的效果是TM1和TM2的叠加。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top