EC FW - DTS
Digital Thermal Sensor(DTS)簡介與運作原理
Digital Thermal Sensor(DTS) 最早應用於 Intel 雙核心處理器架構。由於每個核心可以獨立執行或暫停運作,整體 CPU 晶片的溫度會隨各核心運作狀態而變動。為了更精確地監控並管理溫度,Intel 設計了 DTS,以便即時回報各核心的溫度資訊給系統 BIOS。
當 CPU 溫度變化達到某個門檻時,DTS 會透過 SMI(System Management Interrupt) 觸發中斷,通知系統 BIOS。BIOS 中的 SMI 中斷服務程式會被呼叫,進而讀取各核心的即時溫度。
DTS 的運作流程:
-
開機階段:
系統 BIOS 會從 EC RAM 中讀取 DTS 對應的每階溫度上升/下降限制值(Threshold)。 -
溫度變化觸發:
當 CPU 核心的溫度發生變化,DTS 會觸發 SMI 中斷,BIOS 經由中斷服務程式取得各核心的溫度資訊。並且設定下一階段的上限及下限溫度點 -
比較溫度與限制值:
BIOS 會使用多個核心中最高的溫度與 DTS 設定的限制值進行比較。 -
對應 Thermal Table 處理:
若溫度高於或低於某個限制,BIOS 會依據 Thermal Table 找出對應的控制階數(Thermal Level)。 -
風扇控制:
BIOS 將對應的階數傳給 EC(嵌入式控制器),由 EC 控制風扇的轉速或其他散熱裝置的行為,以達到散熱調節的效果。
EC Firmware 與 BIOS 搭配處理 DTS 溫度流程
使用經驗與設計因應
儘管 Intel 所設計的 Digital Thermal Sensor (DTS) 可即時監控各核心的溫度並透過 SMI 通知 BIOS,但其仍存在一個重要的限制:
當 CPU 溫度超過其 臨界點(例如:TJ100 = 99℃、TJ85 = 84℃)時,DTS 將不再更新或上報溫度變化,也不會再通知 BIOS。
為避免系統處於高溫而未能適時調整散熱策略,嵌入式控制器(EC)仍需透過外部的 Thermal Diode 取得 CPU 實際溫度。當偵測到溫度過高時,EC 有責任啟動降頻機制或直接關機,以保護系統安全。
-
初始化階段:
-
EC 在上電後,會將預設的 Thermal Table 搬移至 EC RAM。
-
系統 BIOS 可透過標準介面(I/O Port 62h/66h)讀取該 Thermal Table,並設定到 CPU 的 DTS 相關暫存器中。
-
-
DTS 溫度觸發:
-
當 CPU 溫度超過或低於 Thermal Table 所定義的臨界門檻時,DTS 將觸發 SMI 中斷。
-
BIOS 的 SMI 處理程序會讀取當前 CPU 的 DTS 溫度,並與 Thermal Table 比較,得出新的溫度階數。
-
-
傳遞與控制:
-
BIOS 將新的階數回傳給 EC。
-
EC 會與上次紀錄的階數進行比較:
-
若新階數較高,代表溫度升高,EC 將該階數視為當前控制值。
-
若新階數較低,則代表溫度降低,EC 亦做相應調整。
-
-
但此處的調整僅限於 DTS 所提供的數值,尚需進一步驗證真實溫度。
-
-
溫度比對與風扇控制:
-
EC 將 DTS 溫度與來自**Remote Thermal Diode(外部熱感測器)**的溫度進行比較:
-
若溫度在合理誤差範圍內,使用 DTS 資料控制風扇轉速。
-
若 DTS 資料明顯失準(例如已達 TJ 限制無更新),則改用 Remote Thermal Diode 所提供的溫度值進行風扇控制。
-
-
在實際運作中,經常觀察到 Intel DTS 在溫度變化(上升/下降)時,未能即時觸發風扇轉速調整,導致整體系統溫度異常偏高。為強化可靠性,EC Firmware 採用 DTS 與 Remote Thermal Diode 雙重驗證機制,以獲得更準確的 CPU 溫度資訊,從而有效控制風扇,保障系統穩定與安全。
留言
張貼留言