cpu如何测量自身温度(CPU的温度是如何测量的)
cpu如何测量自身温度(CPU的温度是如何测量的)图5 芯片工艺进步 泄漏功耗增加 芯片的动态功耗P = CV2f 其中C表示电路负载大小 V表示供电电压 f为工作频率。可见f与芯片的动态功耗成正比 频率愈高则消耗的功率也愈高。降低CPU的时钟频率虽然是降低动态功耗的有效手段 但是 电脑用户总是希望程序能够执行得更快 通过降低频率来降温的手段是难以被用户所接受的。 既然降低电压和频率的降温方法都有很多现实困难 所以利用风扇带走热量就成了一种最简便可行的方法。近几年来 CPU风扇的尺寸越来越大、转速越来越高 使得排气量越来越大 这在一定程度上缓解了CPU温度高居不下的问题。但是风扇扇叶尺寸过大、转速过高 又带来了噪音问题 而且环境温度过高也会影响散热效果 所以又必须增加机箱风扇 使得噪音问题进一步加剧。 为了降低噪音和节省能耗 在CPU温度不太高的时候让风扇保持低速运转 在不得已的情况下才提高转速 就成了一个被大家普遍认可的温度控制方案。因
迄今为止还没有一种cpu散热系统能保证永不失效。失去了散热系统保护伞的“芯” 往往会在几秒钟内永远停止“跳动”。值得庆幸的是 聪明的工程师们开发出有效的CPU温度监控、保护技术。以特殊而敏锐的“嗅觉”随时监测CPU的温度变化 并提供必要的保护措施 使CPU免受高温下的灭顶之灾。在我们看来 探索这项技术如同开始一段神秘而有趣的旅程 何不与我们同行?
CPU功耗和温度随运行速度的加快而不断增大 现已成为一个不折不扣的“烫手山芋”。如何使CPU安全运行 提高系统的可靠性 防止因过热而产生的死机、蓝屏、反复重启动甚至CPU烧毁 不仅是CPU所面临的困境 也是留给主板设计者的一个重要课题。为此 Intel率先提出了温度监控器(Thermal Monitor)的概念 通过对CPU进行温度控制和过热保护 使稳定性和安全性大大增加。
但是 由于电脑爱好者和普通用户对CPU温度监控系统了解不多 而且介绍这方面知识的中文资料也难以获得 遇到相关问题时会感到不知所措 所以有必要将CPU温度监控技术系统地介绍给大家。
一、温度测量:从表面深入到核心
建立CPU温度监控系统 首先要选择一种合适的温度测量器件。能够测量温度的器件有很多种 如热敏电阻、热电偶和半导体温度传感器等。电脑中最早使用热敏电阻作为测温元件 CPU插座下竖立的球状或带状的小元件 就是热敏电阻(如图1)。
图1 CPU插槽下的热敏电阻
热敏电阻(Thermal Resistor 简称Thermistor)体积小、价格低 使用方便 但用于检测CPU温度时存在着先天不足: 1.热敏电阻是接触式测温元件 如果热敏电阻与CPU接触不够紧密 CPU的热量不能有效地传送到 所测量温度会有很大误差。有些主板上采用SMD贴片热敏电阻去测量CPU温度 其测量误差比直立式热敏电阻误差更大 因为这种贴片元件很难紧密接触到CPU。 2.CPU的核心(die)发出热量由芯片封装向外部散热 CPU的表面温度和核心温度之间约有15℃~30℃的温差 同时因芯片封装形式不同 及环境温度的不同而难以确定。至今还没有一种技术能够把热敏电阻埋进芯片内部去 导致现在热敏电阻只能测量CPU的表面温度 而无法测量核心温度。 总之 热敏电阻不仅测量精度难以保证 更重要的是无法检测到热源的真实温度。 由于热敏电阻先天不足带来了一个十分严重的问题∶表面温度不能及时反映CPU核心温度变化 用专业术语说就是存在一个时间滞后的问题。因为核心温度变化之后要经过一段时间才能传送到CPU表面。图2反映了采用核心测温方式下保护电路起作用的情况 当核心温度达到CPU极限温度T2时 控制电路及时切断CPU的供电 否则只需几秒钟时间便会到达烧毁温度T3。相比之下 表面温度反应十分迟钝 其升温速度远不及核心温
度 当核心温度发生急剧变化时 表面温度只有“小幅上扬”。Pentium 4和Athlon XP等最新的cpu 其核心温度变化速度达30~50℃/s 核心温度的变化速度越快 测量温度的延迟误差也越大。在这种背景之下 如果再以表面温度作为控制目标 保护电路尚未做出反应 CPU可能已经命归黄泉了。
图2 表面温度的时间滞后特性 为了解决热敏电阻无法测量CPU核心真实温度的问题 Intel在Pentium Ⅱ和CeleronCPU中植入了热敏二极管(Thermal Diode 或简称作Thermodiode)直接测量CPU核心温度 开创了半导体测温技术的先河。此后的Pentium Ⅲ和Pentium 4芯片中都植入了热敏二极管 AMD在Athlon和DuronCPU中也植入了热敏二极管。现在许多主板都在监控芯片内设置有热敏二极管 用于检测芯片所在位置的环境温度。 (小知识∶如何知道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 温度信号处理电路 温度显示系统是一种被动的体系 无法对温度进行调节。一旦测得CPU温度超出设定温度 电脑可以发出声光报警 以提醒电脑用户进行人为干预。这种系统用于目前发热量大的CPU基本上没有安全可言。如果散热系统发生问题后 没等用户反应过来 CPU就已经烧毁了。因此 Intel提出了温度监控的概念 让系统具有自我调控能力 一旦
cpu温度超出所设定的极限温度 系统将通过降低供电电压、降低芯片工作频率和加强冷却等手段进行主动降温 甚至自动关机 以确保CPU安全。
温度监控技术有两个鲜明的特点∶一是CPU内置热敏二极管直接测量核心温度 二是主板上设置监控芯片(如图4)。Intel首先在Pentium Ⅱ及CeleronCPU中植入热敏二极管 并公开了具有温度监控技术的主板设计指南 这一举措得到主板制造商的积极响应 各具特色的所谓的“智能主板”如雨后春笋 一时精彩纷呈。一些有实力的主板制造商还自行开发监控芯片(如MSI的CoreCell等) 温度监控技术在短短几年内便有了很大进步 不断完善温度监控功能。
图4 各种硬件监控芯片 实际监控系统所采取的主动降温措施中 哪种方法更有实际意义呢?下面我们进行一个简短的分析。 芯片的功耗(发热量)由静态功耗和动态功耗两部分组成(如图5) 静态功耗是因为漏电流引起的。由P=V2/R可知 在芯片等效电阻R不变的情况下 功耗P与电压V的2次方成正比 降低供电电压可以极大地降低静态功耗。所以这些年来芯片工作电压从5V降到3.3V 甚至降到目前的1V以下。我们当然希望这个数值进一步降低 但如果没有k值更高的栅极材料 就无法保证在低电压下完成晶体管开启和关闭动作。所以 降低电压的手段毕竟还是有限的。而且由于CPU内集成的晶体管数量的按摩尔定律逐年增加 众多晶体管并联后使得等效电阻值不断减少 集成电路内层与层之间的绝缘层变薄也使得层间泄漏电流增加 所以CPU的静态功耗一直趋于上升态势。
图5 芯片工艺进步 泄漏功耗增加 芯片的动态功耗P = CV2f 其中C表示电路负载大小 V表示供电电压 f为工作频率。可见f与芯片的动态功耗成正比 频率愈高则消耗的功率也愈高。降低CPU的时钟频率虽然是降低动态功耗的有效手段 但是 电脑用户总是希望程序能够执行得更快 通过降低频率来降温的手段是难以被用户所接受的。 既然降低电压和频率的降温方法都有很多现实困难 所以利用风扇带走热量就成了一种最简便可行的方法。近几年来 CPU风扇的尺寸越来越大、转速越来越高 使得排气量越来越大 这在一定程度上缓解了CPU温度高居不下的问题。但是风扇扇叶尺寸过大、转速过高 又带来了噪音问题 而且环境温度过高也会影响散热效果 所以又必须增加机箱风扇 使得噪音问题进一步加剧。 为了降低噪音和节省能耗 在CPU温度不太高的时候让风扇保持低速运转 在不得已的情况下才提高转速 就成了一个被大家普遍认可的温度控制方案。因此 大多数温度监控系统实际上就是一个“温度-转速控制系统” 很多温度监控芯片也是针对这种需要而设计的。
; 三、第一代温度监控系统 并不可靠
cpu温度监控系统根据控制电路所处的位置 可分为外部控制型和内部控制型两种基本结构。外部控制型监控系统 现在被称为第一代温度监控技术 它有三种基本存在形式∶一种是采用独立的控制芯片 如WINBOND的W83627HF、ITE的IT8705、IT8712等 这些芯片除了处理温度信号 同时还能处理电压和转速信号(如图6);第二种形式是在BIOS芯片中集成了温度控制功能;第三种形式是南桥芯片中集成温度控制功能。在现行的主板中 三种形式同时存在 如果主板说明书中没有特别说明 我们一时难以判断监控硬件的准确位置。
图6 第一代热量监控系统框图 图7是一个以MIC284为核心CPU温度监控电路 该电路只能控制CPU风扇的转速 但它可以将温度信号通过SMBus端口传送给BIOS芯片 以实现更多控制功能。
图7 一个实际的监控电路 小知识∶什么是SMBus? SMBus是System Management Bus(系统管理总线)的缩写 是1995年由Intel提出的。SMBus只有两根信号线:双向数据线和时钟信号线。PCI插槽上也给SMBus预留了两个引脚(A40为SMBus 时钟线 A41为SMBus 数据线) 以便于PCI接口卡与主板设备之间交换信息。 SMBus的数据传输率为100kbps 虽然速度较慢 却以其结构简洁造价低廉的特点 成为业界普遍欢迎的接口标准。Windows中显示的各种设备的制造商名称和型号等信息 都是通过SMBus总线收集的。主板监控系统中传送各种传感器的测量结果 以及BIOS向监控芯片发送命令 也是利用SMBus实现的。 监控芯片通常是可编程的ASIC微控制器 应用软件经BIOS将控制命令和数据经接口电路发送给监控芯片 修改其控制参数 一些监控软件正是通过这种途径来显示和调整CPU电压和风扇转速的。 监控芯片是温度监控系统的核心 其质量优劣对控制性能有很大的影响。但由于监控芯片种类繁多 在功能和性能上有很大差异 给使用和鉴别带来一定困难。 首先 各种监控芯片在控制功能上有很大差异(譬如某个芯片可以控制两个风扇 多数则只能控制一个风扇) 通常引脚数越多 功能越强。 其次 即便功能相同的芯片 性能上也会有差别 其中一个重要的区别在数据位的不同(譬如MAX6682的分辨率是10位 TC1024为9位 FMS2701为8位) 位数
少的芯片输出的数据精度自然也就降低了(8位芯片温度转换误差为±3℃)。另一个性能差别在采样速率上 如果采样速率低(例如FMS2701的采样速率为1s) 必然增加信号延迟 无法及时跟踪cpu温度的变化。
第一代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之所以能够安然无恙 答案就在这里。
小知识∶警戒温度与极限温度有什么不同?
CPU警戒温度(warning temperature)和极限温度(thermal trip)都是指核心温度 但它们所代表的意义有所不同。警戒温度是能够保证CPU稳定运行的温度;极限温度也叫最高核心温度(Maximum die temperature)或关机温度(Shutdown temperature) 是防止CPU免于烧毁的温度。
各款CPU的警戒温度和极限温度值是制造商根据CPU的制造工艺和封装形式及封装材料确定的 并在技术白皮书中给出。为防止用户自行设定而带来危险 Intel已将Pentium 4CPU的警戒温度和极限温度写入TCC内的ROM单元中 用户无法修改它们。
现在有不少主板的BIOS中也可以设置警戒温度和关机温度 不过可选的数值都比较保守 例如警戒温度最大值为70℃、关机温度为85℃ 这是远低于TCC内设定值的。
兼顾性能和可靠性是第2代温度监控技术的优秀之处。由公式P = CV2f(其中C是等效电容容量;V是工作电压)可知 频率f与能耗P之间是一种线性关系 降低频率是减少发热量的有效途径。这种通过降低有效频率实现降温的措施 比之以前那种关断时钟信号的做法显然要聪明一些 避免了因强行关闭CPU 而导致数据丢失的情况。
Pentium 4CPU中的PROCHOT#引脚还有另外两个实用的功能。其中的一个功能是向主板发出报警信号——PROCHOT#引脚为低电平时 说明CPU核心温度超过了警戒温度 此时CPU工作在较低的频率上。如果超出警戒温度(电脑用户利用工具软件可以获得这个信息) 应及时检查散热器安装是否妥当 风扇转速是否正常。
PROCHOT#引脚的另一个功能是可以保护主板上的其他元件。PROCHOT#引脚采用双工设计——信号既可以从这根信号线出去 也能进得来。主板设计者可利用这一特性为供电模块提供保护 当供电模块的温度超出警戒温度时 监控电路输出一个低电平到PROCHOT#引脚以激活TCC 通过降低CPU功耗来达到保护供电模块的目的。
可见 Pentium 4CPU不仅能自保平安 还能对供电电路提供保护 细微之处体现出设计者的良苦用心。同时 将TCC集成到CPU内不仅对自身更加安全 也简化了主板设计 降低了主板制造成本。可以说 第2代温度监控技术是一个给CPU制造商与下游主板厂商带来双赢的技术。
小知识∶如何设置BIOS中的“Processor speed throttling”?
Pentium 4主板的BIOS中通常有“Processor speed throttling ”之类的选择项 用于选择超警戒温度后CPU任务周期(duty cycle)占全部周期的比例 在CPU频率不变的情况下 这个比例越大说明CPU的工作效率越高。其中有“Automatic”和“On demand” 两种选择 “Automatic(自动)”表示任务周期的占空比为50% 也就是说比正常频率低一半;“On demand(按要求)”下面有12.5%、25%、…、87.5%等多种选择 选择的数值越小 则任务周期的比例越小 降频幅度也越大。
五、温度控制 仅靠降频是不够的
以降低频率为手段来保障CPU安全 是第2代温度监控技术的主要思想。但是这种技术也存在明显的缺陷:当温度超过警戒温度时 虽然可以勉强运行 但系统整体性能却随着cpu频率的下调而降低到一个很低的水平。假如一个3.8GHz的CPU只能长期工作在2GHz的速度上 这等于让用户花钱买了奔驰 却只能当奥拓使用。如果真是这样的话 第二代温度监控技术就算不上成熟的技术 而只不过是个苟且小计。
在系统性能不受损失的前提下保证CPU安全稳定运行 这才是我们希望看到的结果。事实上 影响CPU温度的因素 除了频率外 还有CPU供电质量和散热效率。所以 Pentium 4温度监控系统采取了全面的监控措施 把频率、电压和散热三个控制参数视为保障CPU安全运行的三驾马车 如图10。
点击看原图
图10 Pentium 4CPU温度监控方案
在供电方面 单纯采用多相供电结合大电容滤波的传统方法已难以满足Pentium 4(Prescott)CPU的要求 为此 Intel制定了新的电压调节标准VRD10 将VID(电压识别码)从VRM9的5位升级到6位 使电压调整精度更高。VRD10还首次公开了Dynamic VID(动态电压识别码)技术 可根据CPU负荷变化随时调节供电电压 见缝插针地降低功耗。此外 Dynamic VID技术还能限制电流突变 避免CPU偶然烧毁的可能。有关Pentium 4CPU的最新供电规范 请参阅本刊2004年第13期“全面掌握Prescott主板最新供电技术”一文。 在散热方面 Intel在Pentium 4 processor Thermal and Mechanical Design Guidelines(Pentium 4CPU热量和构造设计指南)中要求 CPU的散热器必须具有足够强的散热能力 以便及时将CPU所产生的热量带走。同时要求风扇能够输出转速信号 以实现对风扇的监控 防止因风扇停转而导致CPU过热的情况发生。由于CPU所产生的热量因工作负荷变化而有很大变化 因此也要求风扇转速按需要自动调节 以降低不必要的能源消耗和噪音污染。 小知识∶如何判断风扇是否具有测速功能? 有些电脑BIOS中显示风扇转速为0 而实际上风扇却在正常旋转 通常是因为风扇没有测速功能。风扇是否具有测速功能 可以从风扇连线的数目来区别 具有测速功能的风扇至少有三根线 通常红色线为+12V 黑色线为地线 黄色线或白色线就是测速信号线。如果还有第四根线——一根蓝色的信号线 那是用于变频调速的脉宽调制信号PWM 如图11。
图11 CPU风扇插头引脚定义 下面以ADT7436监控芯片为核心的Pentium 4CPU温度监控系统实例进
行解剖 如图12。先看看风扇的情况 图中TACH是风扇电机速度信号 监控电路使用PWM(Pulse Width Modulation 脉宽调制)控制风扇电机的转速 从PWM信号可以看出三只风扇都是可以调速的。
图12 温度监控系统实例 北桥芯片是cpu与BIOS芯片进行数据交换的桥梁 监控芯片与北桥芯片三个信号中 SDA是SMBus双向数据线 它既可以将电源电压、CPU核心温度、风扇转速和环境温度等全部监控信息发送给BIOS实现进行显示 也可以由BIOS将来自系统的命令发送给监控芯片(前面已经介绍过 监控芯片是可编程的ASIC 所以完全有能力处理这些来自系统的命令) 实现控制参数的修改或调节功能;SCL是来自系统的时钟信号 这是监控芯片与北桥芯片以及监控芯片与CPU之间进行同步通信的必要条件;SMBALART#在此定义为监控芯片通过SMBus接口发往BIOS芯片的报警(ALART)信号。 监控芯片与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自身温度监控功能得到强化。 我们也应看到 现有的监控技术水平还远没有达到理想的状态 在温度测量精度、监控系统的及时性和降温技术的有效性等方面还有待提高 电压、频率和散热三个子系统目前处于各自为战的状态。未来的温度监控技术必然朝着更精确、更有效、更智能的方向发展。
原文:https://blog.csdn.net/hunanchenxingyu/article/details/46476545
参考:https://www.reddit.com/r/askscience/comments/2zkvwc/how_is_a_cpus_temperature_measured/