找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 51|回复: 0

[硬件] 电子设备工作温度

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:245
  • 打卡月天数:2
  • 打卡总奖励:7719
  • 最近打卡:2025-12-05 20:56:49

350

主题

557

回帖

1万

积分

管理员

积分
10407
发表于 2025-1-2 03:59:14 | 显示全部楼层 |阅读模式

电子设备的工作的极限温度(Extreme-Temperature Electronics,ETE)是个很有趣的话题。有些特殊设计的器件,可以在比0K(−270°C)仅仅高几度的温度下运行,而有些则可以在700°C的高温下正常工作,还有些器件能在−270°C到350°C,范围达600多度的范围内工作。看来我们不能小觑电子设备的灵活性。这里我们不考虑这些为极端情况专门设计的个别器件。我们来看看我们日常能接触到的电脑它的工作温度有多大。
CPU可以工作的温度在-50°C到110°C之间。在-50°C以下,CPU将不能稳定工作。在110°C以上,CPU有烧毁的风险。这个范围之外,因为CPU内部器件比热容不同,膨胀系数不同,会导致CPU内部器件产生裂缝和虚焊等等风险。实际上CPU内部的传感器会不停的向CPU内部的管理器报告温度状况,这些传感器不但有最高值,也有最低值。他们的差不变,但中位线可以调整。就像一个滑动窗口,随时监控CPU各种温度异常,超过范围就会强制关闭CPU。这个窗口大致会在-35°C到110°C之间。
电路板的温度不能低于-50°C,否则会发生裂口,电路板上的器件比热容不同,膨胀系数不同,太低的温度会导致器件脱落等等问题。温度太高业不行。
锂电池的工作温度要求较高,往往要求高于0°C,否则会切断输出,保护电池,
散热
如何散热是个很大的问题。太空中没有空气,没有热传递,传统的风扇和散热片将毫无作用。甚至在舱内,因为没有重力,热空气不会上升,冷空气不会下降,空气的不良热导体的特性就体现了出来,会形成热岛。不加处理的话,散热就只能靠热辐射了。可以通过黑体辐射散热的算式计算出来:
净放射功率是吸收功率和放出功率的差值:

代入黑体辐射的斯特藩-玻尔兹曼定律:

因为电脑表面积很小,散热十分缓慢。那怎么办呢?
ISS中大量使用热管来进行散热。热管在我们日常笔记本和某些散热片中经常见到:

热管这项技术早在1963年就在位于美国的LosAlamos国家实验室中诞生了。对于热管的工作原理,其实很简单,当受热端开始受热的时候,管壁周围的液体就会瞬间汽化,产生蒸气,此时这部分的压力就会变大,蒸气流在压力的牵引下向冷凝端流动。蒸气流到达冷凝端后冷凝成液体, 同时也放出大量的热量,最后借助毛细力回到蒸发受热端完成一次循环。

这里的heat source就是我们的电脑热源部分,包括CPU,芯片组等等。热管将热量带到散热部分,而这个散热部分是一个可以展开的巨大辐射散热片:

借助黑体散热,将热量辐射出去。叶片可以调整角度,可以收起和打开。整个系统构成了温度控制系统(TCS)。热管导热能力已远远超过任何已知金属的导热能力。它工作的如此之好,以至于它被广泛应用在宇航、军工等行业


聪明的工程师们早已开发出有效的处理器温度监控、保护技术。以特殊而敏锐的“嗅觉”随时监测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的叠加。
2.  THERMTRIP#
为保证CPU不会被毁坏,这是最后一道防线,当发生灾难性温度时(catastrophic Critical Temperature),THERMTRIP#会被置起用以通知外部管理器件,同时CPU电源管理器会立刻强制关闭电源。这是一种类似保险丝的熔断机制,你会看到系统立刻掉电了,只有在系统凉下来之后,你才能恢复上电。
这里需要特别指出的是,主板厂商根据需要,可以在BIOS设定一个比TjMAX更低的温度来规避可能的风险,这个温度同样也可以产生TjMAX一样的相关动作。
好了,CPU有了这两个双保险,看起来性命无忧了,但是我们的数据呢?达到THERMTRIP#可是会自动断电的。这就要靠软件来保证了。
软件
要读懂软件需要ACPI的背景知识(ACPI与UEFI - 知乎专栏)。ACPI规定了几个温度阈值,如下图:


BIOS可以设置这些阈值的具体数值,并通过温度中断告诉CPU阈值被突破。操作系统的OSPM在超过_PSV的温度被报告后,会开始利用EIST(P-State,CPU省电的秘密(一):EIST - 知乎专栏)降频和利用T-State来关掉一部分有效时钟周期,这点和TM1和TM2十分类似,不过是OS发起的。在突破AC1和AC0后,OS通过ACPI提供的方法疯狂提高风扇转速,尽力把情况控制在自己的掌握之中。当温度继续上升,到达_CRT时,OS会立刻发起强制关机,避免数据丢失。通常_CRT温度会小于THERMTRIP#的温度。这种控制温度的方法叫做on demand thermal mode.
这么多的温度阈值,软件方法和硬件方法,他们是怎么协同工作的呢?我们通过两个例子来串联一下所有的知识点。
Happy Ending
在我们最初的例子中,你正在愉快的玩着游戏,忽然有什么事情发生了:周围忽然好安静。喧嚣的CPU风扇忽然没了声音。你还在狐疑中为什么这么安静,你的电脑机箱里面正在进行一场温度与时间的赛跑。CPU温度越来越高了,一个个报警器都开始运作了:
1. 温度首先突破软件的_PSV。windows开始通过EIST降频了,你的人物动作变得一卡一卡的,游戏体验越来越糟糕。
2. 温度连续突破_AC0、_AC1和TjMAX。OS试图提高风扇转速,但因为风扇不转,温度继续上升。硬件这次也参与进来了,你的游戏变得几乎无法操作。
3. 突破_CRT。OS开始关机,熟悉的关机画面出来了。你的游戏如果处理了关机消息的话,还有机会存储你的游戏记录。硬盘数据也不会有损失。
Worst Case
还是回到我们最初的例子。你正在愉快的玩着游戏,忽然有什么事情发生了:周围忽然好安静。喧嚣的CPU风扇忽然没了声音,更糟糕的是,你的操作系统也忽然死机了,游戏的人物僵住了
正在你脑子里在考虑是不是某个敌人放出了时间停止魔法,一切都静止了!但你的电脑机箱里面温度却在突飞猛进:
1.  温度首先突破软件的_PSV。因为OS死掉,CPU温度继续升高。
2.  连续突破_AC0、_AC1和TjMAX。OS还是无所作为,硬件Adaptive Thermal Monitor开始发挥作用,降频和抽频,温度上升有所减缓,但因为风扇不转,温度继续上升。
3.  突破_CRT。太可惜了,因为OS死机,没有抓住最后的机会保存你的游戏,你的进度丢失了。
4. 突破THERMTRIP#! 你就听吧嗒一下,你的世界更清净了,电脑直接关机了,电源风扇和显示器都关闭了。
这时如果你不信邪,按下电源键试图再次开机,会发现没有任何反应。你拆开机箱,折腾了半天,徒劳无功,并开始怀疑人生。最后抱着仅剩的一点点希望,你颤抖的手按向电源,同时向上天祈祷。哇,开机了,电脑没坏啊!这时你应该注意到了呆掉的CPU风扇,并意识到CPU温度管理救了你一命。谁说这不是个智能家电,你的眼睛里充满着劫后余生之后感动的泪水!
扩展阅读1.     现在很多笔记本厂家都引入了一种名叫BD PROCHOT(Bi-directional processor hot)的功能来解决高端GPU和CPU的发热问题。其核心原理就是在独显工作的时候,当其温度超过某一阈值,利用PROCHOT#通知CPU降频以达到减少发热的目的。CPU过热也可以让GPU降频。但是很多玩家不爽这个功能,希望能关掉它,有个软件叫做ThrottleStop,它能帮忙。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-12-7 08:43 , Processed in 0.025755 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表