北京单场玩法

CPU風扇停轉后會發生什么?CPU憑什么燒不壞

2017-07-03

當你坐在電腦前愉快的玩耍時,有沒有想過一個細思恐極的問題:如果忽然我的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的疊加。

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.

這么多的溫度閾值,軟件方法和硬件方法,他們是怎么協同工作的呢?我們通過一個例子來串聯一下所有的知識點。

Case Study

還是回到我們最初的例子。你正在愉快的玩著游戲,忽然有什么事情發生了:周圍忽然好安靜。喧囂的CPU風扇忽然沒了聲音,更糟糕的是,你的操作系統也忽然死機了,游戲的人物僵住了。

正在你腦子里在考慮是不是某個敵人放出了時間停止魔法,你的電腦機箱里面正在進行一場溫度與時間的賽跑。CPU溫度越來越高了,一個個報警器都開始運作了:

1. 溫度首先突破軟件的_PSV。因為OS死掉,CPU溫度繼續升高。

2. 連續突破_AC0、_AC1和TjMAX。OS還是無所作為,硬件Adaptive Thermal Monitor開始發揮作用,降頻和抽頻,溫度上升有所減緩,但因為風扇不轉,溫度繼續上升。

3. 突破_CRT。太可惜了,因為OS死機,沒有抓住最后的機會保存你的游戲,你的進度丟失了。

4. 突破THERMTRIP#! 你就聽吧嗒一下,你的世界更清凈了,電腦直接關機了,電源風扇和顯示器都關閉了。

這時如果你不信邪,按下電源鍵試圖再次開機,會發現沒有任何反應。你拆開機箱,折騰了半天,徒勞無功,并開始懷疑人生。最后抱著僅剩的一點點希望,你顫抖的手按向電源,同時向上天祈禱。哇,開機了,電腦沒壞啊!這時你應該注意到了呆掉的CPU風扇,并意識到CPU溫度管理救了你一命。誰說這不是個智能家電,你的眼睛里充滿著劫后余生之后感動的淚水!

原文地址:https://zhuanlan.zhihu.com/p/27624654?utm_source=tuicool&utm_medium=referral

  • 查看地圖,了解我們的位置
  • 關注微信,一舉一動盡在掌握

億校云是一支致力于開拓學校型軟件的團隊,
專注于為校園互聯網建設提供解決方案。

    • 公司:杭州億校云信息技術有限公司
    • 地址:杭州市濱江區濱文路426號文苑大廈13樓1308
    • 電話:0571-85100351
    • 郵箱:[email protected]
Close
北京单场玩法 腾讯德州扑克怎么没了 杰克游戏规则 福建时时2元网 龙王捕鱼手机版 绝对 老时时彩历史开奖记录 博棋牌娱乐 大乐透中奖规律与技巧 快乐10开奖结果 叩富网怎么赚钱 pk10模式长期稳赚6码