TWI829104B - 一種用於自適應調整熱上限的系統及方法 - Google Patents

一種用於自適應調整熱上限的系統及方法 Download PDF

Info

Publication number
TWI829104B
TWI829104B TW111108168A TW111108168A TWI829104B TW I829104 B TWI829104 B TW I829104B TW 111108168 A TW111108168 A TW 111108168A TW 111108168 A TW111108168 A TW 111108168A TW I829104 B TWI829104 B TW I829104B
Authority
TW
Taiwan
Prior art keywords
upper limit
thermal
power consumption
operating conditions
prediction
Prior art date
Application number
TW111108168A
Other languages
English (en)
Other versions
TW202242656A (zh
Inventor
黃柏智
方家偉
陳家明
張雅婷
賴建元
吳政諭
林益斌
謝文雯
王敏書
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202242656A publication Critical patent/TW202242656A/zh
Application granted granted Critical
Publication of TWI829104B publication Critical patent/TWI829104B/zh

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50333Temperature
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Power Sources (AREA)
  • Air Conditioning Control Device (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

系統在運行時執行自適應的熱上限控制。該系統包括計算電路和熱管理模塊。當檢測到影響系統中功耗的運行情況的變化時,熱管理模塊確定對計算電路的熱上限的調整,並根據該確定調整計算電路的熱上限。

Description

一種用於自適應調整熱上限的系統及方法
本發明實施例通常涉及計算系統的熱管理,以及更具體地,涉及一種自適應調整熱上限(thermal ceiling)的系統和方法。
現代的計算系統將多個處理器和多個專用集成電路合併到單個芯片(chip)中。具有有限的外形因素的系統通常具有有限的冷卻能力。芯片的溫度升高會導致系統的可靠性降低。因此,熱管理成為高功率密度環境中的主要問題。
一些系統實現動態電壓頻率縮放(dynamic voltage and frequency scaling,DVFS),這是一種在運行時(at runtime)自動調整處理電路(例如,處理器)的頻率和電壓的技術。一種常見的熱管理技術是利用DVFS來執行節流(throttling)。當處理器的溫度上升到熱上限時,節流被激活以降低(lower)處理器的時鐘頻率和電壓,從而減少功率消耗和發熱量。但是,降低處理器的時鐘頻率和電壓也會降低處理器的性能。
因此,需要改進熱管理以確保系統的安全操作且對性能的影響較小。
以下發明內容僅是說明性的,而無意於以任何方式進行限制。即,提供以下概述來介紹本文描述的新穎和非顯而易見的技術的概念,重點,益處和優點。選擇的實施方式在下面的詳細描述中進一步描述。因此,以下發明內容既不旨在標識所要求保護的主題的必要特徵,也不旨在用於確定所要求保護的主題的範圍。
第一方面,本發明提供了一種用於自適應調整熱上限的系統,其中,該系統包括多個計算電路和耦接該多個計算電路的熱管理模塊,以及,該熱管理模塊用於:檢測影響該系統中功耗的運行情況變化;當檢測到運行情況變化時,確定對該多個計算電路中的計算電路的熱上限的調整值;以及,根據該調整值調整該計算電路的熱上限,其中,不同的運行情況對應的熱上限取值是不同的。
在一些實施例中,該運行情況變化包括動態功耗和洩漏功耗的變化。
在一些實施例中,該熱管理模塊還用於基於功耗的測量和預測來檢測該運行情況變化。
在一些實施例中,該功耗的預測包括基於以下一項或多項的動態功耗的預測:電壓、頻率、系統配置、工作負荷和執行時間。
在一些實施例中,該功耗的預測包括基於以下一項或多項的洩漏功耗的預測:電壓、工藝變化、系統配置和功率門控。
在一些實施例中,該運行情況變化包括該系統中被激活的計算電路的數量的改變。
在一些實施例中,該調整值是基於該計算電路的溫度上升斜率確定的。
在一些實施例中,該熱管理模塊還用於比較該計算電路的當前溫度與該熱上限,以確定是否限制該計算電路的性能。
在一些實施例中,在該系統的溫度上升至該熱上限限定的溫度時,該計算電路的性能被限制。
在一些實施例中,該熱上限隨著運行情況的變化而動態變化。
第二方面,本發明提供了一種用於自適應調整熱上限的方法,包括:檢測影響系統中功耗的運行情況變化;當檢測到運行情況變化時,確定對該系統中的計算電路的熱上限的調整值;以及,根據該調整值調整該計算電路的熱上限,其中,不同的運行情況對應的熱上限取值是不同的。
在一些實施例中,該運行情況變化包括動態功耗和洩漏功耗的變化。
在一些實施例中,檢測該運行情況變化是基於功耗的測量和預測進行的。
在一些實施例中,該功耗的預測包括基於以下一項或多項的動態功耗的預測:電壓、頻率、系統配置、工作負荷和執行時間。
在一些實施例中,該功耗的預測包括基於以下一項或多項的洩漏功耗的預測:電壓、工藝變化、系統配置和功率門控。
在一些實施例中,該運行情況變化包括該系統中被激活的計算電路的數量的改變。
在一些實施例中,該調整值是基於該計算電路的溫度上升斜率確定的。
在一些實施例中,該方法還包括:比較該計算電路的當前溫度與該熱上限,以確定是否限制該計算電路的性能。
在一些實施例中,在該系統的溫度上升至該熱上限限定的溫度時,該計算電路的性能被限制。
在一些實施例中,該熱上限隨著運行情況的變化而動態變化。
本發明實施例可根據運行情況動態地/自適應調整熱上限的取值(也就是說,熱上限的取值並不是一成不變的),從而能夠確保系統的安全操作且對性能的影響較小。
本發明內容是通過示例的方式提供的,並非旨在限定本發明。在下面的詳細描述中描述其它實施例和優點。本發明由申請專利範圍限定。
以下描述為本發明實施的較佳實施例。以下實施例僅用來例舉闡釋本發明的技術特徵,並非用來限制本發明的範疇。在通篇說明書及申請專利範圍當中使用了某些詞彙來指稱特定的組件。所屬技術領域中具有通常知識者應可理解,製造商可能會用不同的名詞來稱呼同樣的組件。本說明書及申請專利範圍並不以名稱的差異來作為區別組件的方式,而係以組件在功能上的差異來作為區別的基準。本發明的範圍應當參考后附的申請專利範圍來確定。在以下描述和申請專利範圍當中所提及的術語“包含”和“包括”為開放式用語,故應解釋成“包含,但不限定於…”的意思。此外,術語“耦接”意指間接或直接的電氣連接。因此,若文中描述一個裝置耦接至另一裝置,則代表該裝置可直接電氣連接於該另一裝置,或者透過其它裝置或連接手段間接地電氣連接至該另一裝置。文中所用術語“基本”或“大致”係指在可接受的範圍內,所屬技術領域中具有通常知識者能夠解決所要解決的技術問題,基本達到所要達到的技術效果。舉例而言,“大致等於”係指在不影響結果正確性時,所屬技術領域中具有通常知識者能夠接受的與“完全等於”有一定誤差的方式。
本發明的實施例提供了一種熱管理技術,其在運行情況(runtime condition)改變/變化時自適應地調整計算電路(例如,處理器)的熱上限(thermal ceiling)。在一示例中,當計算電路和/或系統的功率/功耗(power consumption)在運行期間發生變化(例如,總功耗/總功率從預設區間1變化至落入預設區間2中;再例如,功率/功耗變化量超過預設值)時,則可認為運行情況改變。運行情況變化(runtime condition change,本發明中亦稱為“運行情況的變化”或“運行情況改變”)的另一種示例是當系統接通(turn on)或關閉/斷開(turn off)處理器時,即被接通/激活的處理器的數量發生變化時(相應地,其亦可通過功耗/功率的變化來反映)。運行情況變化的另一種示例是當處理器開始汲取(draw)更多的電流時,這可能是由於工作負荷的增加或其它原因造成的(相應地,其亦可通過功耗/功率的變化來反映)。在一示例中,當檢測/偵測(detect)到運行情況變化時(例如,系統的總功耗從較高的預設區間2變化至落入較低的預設區間1時,或者,系統的總功耗減小了預設值時,等等),增大(increase)一個或多個計算電路的熱上限,以允許在更高溫度(increased temperature)和相同的時鐘頻率下運行。因此,計算電路的性能可被維持更長時間。當熱上限無法被安全地增大時(例如,熱上限已調整至允許的最大值,而總功耗仍在增大或溫度超過當前的熱上限溫度時),系統通過降低(lower)計算電路的時鐘頻率(clock frequency)和電壓來降低性能,以減少功耗(power consumption)和發熱(heat generation)。因此,本文描述的熱管理技術能夠保護系統免遭故障並在安全的情況下盡可能長地維持性能。
在本文描述的系統中,“處理器”可以是中央處理單元(central processing unit,CPU)、數位信號處理器(DSP)、多媒體處理器、圖形處理單元(graphics processing unit,GPU)、向量處理器或其它通用/專用處理電路。在一些系統中,處理器可與術語“核(core)”、“處理器核(processor core)”或“CPU核(CPU core)”指代相同,而在一些其它系統中,處理器可包括多個核。多處理器系統也可稱為多核系統。
第1圖是根據一實施例示出的系統100的示例。系統100包括處理單元(processing unit)131,處理單元131進一步包括處理器130(例如,P1、P2、...、Pn)和專用電路(special-purpose circuit)190(例如,C1、C2、...、Cm),其中,索引n和索引m可以是大於或等於1的任意整數。每個處理器130可以是任意的計算電路,例如,通用處理器、圖形處理單元(GPU)、數位信號處理器(digital signal processor,DSP)、媒體處理器等。每個專用電路190可以是專用集成電路(application-specific integrated circuit,ASIC)等。在替代實施例中,系統100可包括處理器130和/或專用電路190的任何組合。為了便於描述,在通篇說明書中使用術語“計算電路(computing circuit)150”來表示處理器130中的任何一個和/或專用電路190中的任何一個。本文描述的熱上限調整技術和方法可以應用於在操作期間接收電壓和時鐘信號並產生熱量的任何計算電路150。
處理器130可以具有相同的處理器類型和/或不同的處理器類型。不同處理器類型的處理器具有不同的硬體特性,這些特性可以通過它們的能力(例如,以每秒百萬條指令(million instructions per second,MIPS)來衡量)和/或能源效率(例如,以功耗來衡量)來衡量。不同處理器類型的處理器可共享相同的指令集架構(instruction set architecture,ISA);也就是說,它們可以執行相同的程序(program)和軟體應用程序。在一實施例中,不同處理器類型的處理器可具有不同的微體系結構(microarchitecture),以提供不同的計算性能和不同的功率效率。
在一實施例中,處理單元131包括多個溫度傳感器(temperature sensor)180(在附圖中,每個表示為S),以測量每個計算電路150的溫度。附加的溫度傳感器可分佈在整個系統100中,以測量系統100的環境溫度(environmental temperature)。在一實施例中,處理單元131能夠集成在單個的集成電路裸晶(die)上,或者集成在多電路封裝中的獨立裸晶上。在一實施例中,系統100可被集成為片上系統(system-on-a-chip,SOC)。
系統100還包括記憶體(memory)120。記憶體120可以包括片上和片外記憶體裝置(on-chip and off-chip memory device),例如,動態隨機存取記憶體(dynamic random access memory,DRAM)、靜態RAM(static RAM,SRAM)、閃存以及其它易失性或非易失性存儲裝置。系統100還包括用於提供功率(power)的電源(power source)171和用於向每個計算電路150提供時鐘信號的時鐘電路(clock circuit)172。系統100可以連接到網絡(例如,個人局域網、局域網、廣域網等)。應當理解,第1圖的實施例是為了說明的目的而被簡化的示意圖。其它實施例中可以包括額外的硬體組件。
在一實施例中,系統100包括動態電壓頻率縮放(dynamic voltage frequency scaling,DVFS)控制器170,以控制激活的(activated)計算電路150的操作點(例如,頻率和電壓)。術語“激活的”在此等同於“通電(powered on)”。DVFS控制器170可以控制時鐘電路172單個地(individually)增大或降低相應計算電路150的時鐘頻率,並且可以控制電源172單個地增大或降低被提供給相應計算電路150的電壓。
在一實施例中,系統100包括監測模塊(monitor module)160。監測模塊160與溫度傳感器180及分佈在處理單元131和整個系統100中的其它傳感器和測量電路(measurement circuit)進行通信。測量電路可以測量每個計算電路150在切換期間(例如,重載切換至輕載)汲取的動態電流(dynamic current)和流經每個計算電路150的洩漏電流(leakage current)。測量值和傳感器提供的資料被用作每個計算電路150的動態功耗和洩漏功耗的指標(indicator)。監測模塊160還與每個計算電路150通信以收集關於其操作狀態的資訊。監測模塊160可以與以硬體和/或軟體中實現的監控器(monitor)和/或計數器(counter)通信,以監控每個計算電路150的操作。例如,監測模塊160可以獲知每個計算電路150的工作負荷量(amount of workload)、執行時間(execution time)、通電或斷電情況等等。由監測模塊160收集的資訊被發送到熱管理(thermal management,TM)模塊110。
熱管理(TM)模塊110與監測模塊160通信,以及,熱管理(TM)模塊110還可以與處理單元131通信以獲得測量值、傳感器提供的溫度資料和每個計算電路150的操作狀態。基於獲得的資訊,熱管理(TM)模塊110檢測運行情況是否發生變化並確定對一個或多個計算電路150的熱上限的相應調整(如果有的話)。
在一實施例中,熱管理(TM)模塊110包括功率測量模塊(power measurement module)112,功率測量模塊112被配置為基於操作電壓的直接測量值和每個計算電路150汲取的電流計算每個計算電路150的動態功耗(dynamic power consumption)和洩漏功耗(leakage power consumption)。例如,動態功耗指時鐘(clock)有在動作時電路的功率,洩漏功耗指時鐘或電源開關(power switch)關閉時電路的功率。熱管理(TM)模塊110還包括功率預測模塊(power predictor module)113,功率預測模塊113被配置為基於來自監測模塊160和處理單元131的資訊預測每個計算電路150的動態功耗和洩漏功耗。在一實施例中,功率預測模塊113可執行機器學習操作,以基於計算電路150的物理特性以及計算電路150的過去和當前的操作狀態來預測功耗。基於功率測量模塊112獲得的功率/功耗測量值和功率預測模塊113獲得的預測值,熱管理(TM)模塊110檢測運行情況是否發生變化。例如,在第一示例實施例中,通過檢測總功耗(如動態功耗和洩漏功耗之和)的落入區間來檢測運行情況是否發生變化。在該示例實施例中,可將功耗的可能取值範圍(如0~Pmax,其中,Pmax為系統允許操作的最大功率值)預先設置成多個預設區間(例如,將可能的功率取值區間0~Pmax劃分為N個預設區間,N>1且是整數,如第3圖中的示例N=4),其中,每個預設區間對應不同的熱上限取值。例如,可預先獲得預設區間與熱上限取值的關係(如通過仿真或模型獲得),具體地,本發明實施例不做限制,例如,也可以預先獲得預設區間與溫度上升斜率之間的預設關係,或者動態獲得等。因此,在通過功耗檢測到運行情況變化時,可根據最新測量、預測或通過兩者綜合得到的功耗值(如動態功耗和洩漏功耗之和所表示的總功耗)所落入的預設區間自適應調整熱上限的取值(例如,將熱上限從當前值調整至新落入的預設區間所對應的熱上限取值)。在該第一示例實施例中,當檢測到溫度超過當前所處預設區間對應的熱上限溫度值時,系統降低計算電路的時鐘頻率和電壓(降低性能),以減少功耗和發熱。在第二示例性實施例中,可通過確定系統的功耗變化量是否超過預設值來檢測運行情況是否發生變化。例如,系統通常每隔預設時長就會去確定當前的功耗,當最新獲得的功耗值與上一次獲得的功耗值之間的變化量超過預設值時,可認為檢測到運行情況變化,從而,可進一步確定新的熱上限值(例如,通過計算/估計溫度上升斜率來確定熱上限的調整值/更新值)。在第三示例實施例中,可通過簡單地確定接通/激活的處理器的數量來檢測運行情況是否發生變化,例如,可預先建立接通處理器的不同數量與不同熱上限之間的關係,從而,接通的處理器數量不同時,對應的熱上限取值也是不同的。然而,在該第三示例實施例中,隨著時間的推移,即便處理器接通的數量沒有改變,但也有可能總功耗會變大,原因是長時間的運行可能會導致散熱不佳進而導致功耗增大。因此,在該第三示例實施例中,即便被接通/激活的處理器數量沒有改變,也可進一步基於總功耗來檢測運行情況是否改變。響應於該檢測的結果,熱管理(TM)模塊110中的調整模塊111確定對受該運行情況變化影響的一個或多個計算電路150(如激活的計算電路)的熱上限的調整量(如果有的話)。可選地,調整模塊110可用信號通知(signal)DVFS控制器170去調整一個或多個計算電路150的時鐘頻率和工作電壓。當電路的熱上限不能被提高時(例如,當熱上限的增加會導致計算電路在違反最小安全裕度的溫度下運行時),調整模塊111確定出降低計算電路150的時鐘頻率和/或工作電壓。有關安全裕度的更多詳細資訊將結合第2圖提供。
DVFS控制器170、監視模塊160和熱管理(TM)模塊110中的一個或多個可以在硬體電路、由硬體電路執行的軟體或硬體和軟體的組合中實現。硬體電路可以是專用或通用硬體。軟體可以存儲在任何非暫時性計算機可讀介質上,以供系統100或由系統100執行的方法使用。在一實施例中,熱管理(TM)模塊110可以是執行軟體(例如,用於功耗預測的機器學習算法)。可選地,該軟體可由一個或多個計算電路150執行。
第2圖是根據一實施例示出的動態熱上限調整的示意圖。在該示例實施例中,系統可通過確定功耗變化量(如當前獲得的功耗與上次獲得的功耗之間的差異)是否超過預設值來檢測運行情況變化。如果檢測到運行情況變化,則進一步確定熱上限能否被安全的增大,如考慮當前的運行情況下的溫度上升斜率等因素。計算電路P(例如,第1圖中的任何計算電路150)的溫度用實線示出,計算電路P的溫度上限(temperature upper bound)用點虛線示出,以及,計算電路P的熱上限(thermal ceiling)用短虛線示出。可以理解地,溫度上限是指系統能承受的最大溫度,通常,系統運行時,為了避免當機,不會讓系統溫度真的升高到該溫度上限,因此會預留/抓一個邊限/裕度(margin)。熱上限指的是溫度上限減去該預留的裕度,在本發明實施例中,該預留的裕度可根據運行情況的變化動態調整。例如,系統的功耗越小,預留的裕度可越小;相反,系統的功耗越大,則預留的裕度也越大,這是因為不同的功耗導致溫度上升的速率是不同的,具體而言,功率/功耗越大,則越容易在短時間內導致溫度顯著上升,從而應預留更大的裕度空間,避免估計誤差或延遲導致故障。在時間段T1期間,計算電路P的溫度升高到熱上限temp0,例如,熱上限temp0可以為系統默認的熱上限,隨著系統的運行,系統的溫度上升,并達到熱上限。此時,系統檢測到運行情況變化(在本文中稱為“第一運行情況變化”,例如,功耗下降至更低級別/區間)。在檢測到第一運行情況變化時(例如,可確定出此時的熱上限能夠被安全地增大),系統(例如,第1圖中的熱管理(TM)模塊110)將計算電路P的熱上限從temp0提高到temp1。在時間段T2期間,計算電路P的溫度繼續升高且上升到新的熱上限temp1。此時,系統又檢測到另一運行情況變化(“第二運行情況變化”)。第一運行情況變化和第二運行情況變化可具有相同或不同的根本原因(例如,工作負荷的增加、執行時間的延長等)。在檢測到第二運行情況變化時(例如,可確定出此時的熱上限不能夠被安全地增大),系統100通過降低計算電路P的時鐘頻率來限制/壓制(throttle)計算電路P的性能。因此,計算電路P的溫度在時間段T3的期間下降。請注意,計算電路P的溫度在任何時候都不會達到溫度上限(tmax),否則,計算電路P會發生故障。在另一示例實施例中,每個預設區間可以有對應的熱上限。以接通的處理器數量來檢測運行情況變化的示例來說,若運行情況是4核(例如,4個CPU全部被激活)全開,溫升劇烈(如20℃/5ms)會導致熱上限需要抓的裕度加大,因此熱上限可設為相對較小的temp0(如85℃)。若運行情況僅1核(例如,僅1個CPU被激活),溫升緩和,便可將熱上限往上調至接近溫度上限(如107℃)的temp1(如100℃)。
是否增大熱上限或是否限制/壓制性能的決定取決於計算電路可安全操作的安全裕度(safety margin)的量。當增大熱上限仍然能夠與溫度上限保持足夠的安全裕度時,熱管理(TM)模塊110(第1圖)可以提高(raise)計算電路P的熱上限。當最小安全裕度(minimal safety margin)不能被維持時,熱管理(TM)模塊110不增大該熱上限。計算電路P的最小安全裕度取決於計算電路P的溫度升高的速率(rate)或斜率(slope)等因素。例如,溫度升高斜率(亦稱為升溫速度/速率)取決於系統中被激活的計算電路(即,通電)的數量。當系統中有更多被激活的計算電路時,更多的電流將流過系統,以及,每個被激活的計算電路將經歷更快的升溫速度。
在第2圖的示例中,時間段Tl期間的安全裕度是Ml以及時間段T2期間的安全裕度是M2,其中,Ml>M2。當檢測到第二運行情況變化時,系統可確定出M2是給定運行情況下針對計算電路P的最小安全裕度;也就是說,M2的任何減少將會導致計算電路P故障(fail)。因此,系統決定壓制計算電路P的性能,而不是進一步增大P的熱上限。安全裕度提供了溫度測量中的誤差的裕度。例如,如果每5毫秒(millisecond,ms)向熱管理(TM)模塊110提供一次溫度測量值,則可以將最小安全裕度設置為至少5 ms內的溫度升高估計值。例如,預估計算電路在5ms或5ms以上的時間內可能上升的溫度量。
當增大熱上限將違反最小安全裕度時,計算電路的時鐘頻率和/或電壓被降低(throttled)從而溫度因此降低。當計算電路的溫度降低到一定程度時(例如,低於temp1或在temp0處),系統可以恢復時鐘頻率和/或電壓。
第3圖根據一實施例示出了熱上限與被激活的處理器的數量的示例。該熱上限隨著運行情況的變化而動態變化。在該示例實施例中,可將功耗的可能取值預先設置成多個預設區間(和/或,根據接通/激活的處理器的不同數量預先設置多個級別,例如,第3圖中的示例將區間/級別的個數以處理器的總個數為例進行示例說明,但本發明并不限於該示例),其中,每個預設區間/級別對應不同的溫度上升斜率(例如,每個區間/級別對應的Imax不同,從而,溫度上升的快慢程度也是不同的)和/或熱上限值。應當說明的是,第3圖僅為一種示例描述,而不是對本發明的限制。在第3圖的示例中,Imax指處理器的當下的最大電流(第3圖所示表格中的電流數值只是範例)。可選地,也可以在運行過程中動態確定/預估每個預設區間/級別對應的溫度上升斜率和/或熱上限值,具體地,本發明不做限制,但為了便於說明與理解,第3圖示出了預先設置的示例。例如,系統可通過確定當前功耗是否落入另一預設區間和/或接通的處理器數量是否改變來檢測運行情況變化。下面以接通/激活的處理數量的示例為例進行說明。儘管在該示例中使用了處理器,但是應當理解該示例適用於第1圖中的任何計算電路150。在該示例中,例如,被激活的處理器的數量作為運行情況被監控。當被激活的處理器數量減少(即通電的處理器減少)時,消耗更少的電流,因此溫度升高會減慢。響應於被激活的處理器的減少,系統可以增大激活的(一個或多個)處理器的熱上限,以維持它們的時鐘頻率和性能。在此示例中,溫度上限(temperature upper bound)為107攝氏度(degrees Celsius,℃)。每5毫秒以攝氏度為單位測量的溫度升高斜率(temperature increase slope)作為系統的預校準參數。最小安全裕度被計算為超過5毫秒的溫度升高斜率(例如,其可以通過仿真預估得到或提前實驗得到,可選地,也可以在運行過程中動態獲得,具體地,本發明實施例不做任何限制)與容差係數(fudge factor,例如,2攝氏度)之和。默認的熱上限是85攝氏度。當一個或多個處理器關閉/斷電(turned off)時(可表明運行情況變化),每個激活的處理器的熱上限可以從當前的熱上限值(如85攝氏度)升高至等於溫度上限減去最小安全裕度的量(amount)。在第3圖的示例中,1個、2個和3個激活的處理器的熱上限可以分別提高到100、95和90攝氏度。而常規技術中的熱上限值被恆定不變,這容易造成不必要的限流。本發明實施例中的熱上限值是根據運行情況變化而動態變化的。例如,針對總功耗較高的運行情況,熱上限值較小。例如,在第3圖的示例中,P1<P2<P3<P4<Pmax(Pmax為系統允許操作的最大功率),當檢測到系統的功率處於區間P0~P1(如對應第一運行情況)時,熱上限值為100℃,在該情形中,如果檢測到溫度超過/達到該熱上限,則需要通過限制系統的性能來降溫。再例如,如果檢測到系統的功率落入區間P4~Pmax(如對應第四運行情況),則熱上限值被適應性調整為85℃。
第4圖是根據一實施例示出的熱上限調整的過程400的流程示意圖。過程400可由系統執行,例如,第1圖中的系統100,或者,一個或多個計算電路的任何系統。
系統監控運行情況;例如,每個計算電路或系統的動態功耗和洩漏功耗。在步驟410,系統檢測到系統的運行情況的變化(例如,功率變化量超過預設值,或者,最新獲得的功率值落入另一預設區間,或者激活的處理器數量變化等等)。該檢測考慮許多因素,包括但不限於:動態功率測量(dynamic power measurement)411、洩漏功率測量(leakage power measurement)412、動態功率預測(dynamic power prediction)413和洩漏功率預測(leakage power prediction)414。
在一實施例中,在檢測到運行情況變化時,系統計算受該運行情況變化影響的一個或多個計算電路(例如,被激活/接通的處理器P)的熱上限(步驟420)。該計算考慮計算電路P的溫度升高斜率(其可以動態獲得或預先獲得,本發明對此不做限制)。例如,通過從溫度上限中減去安全裕度(亦可稱為安全邊界)來計算得到熱上限,其中,該安全裕度等於溫度升高斜率(例如,每5ms上升的溫度量)與容差係數(例如,2℃)之和。例如,在第3圖所示的示例中,以激活的處理器/計算電路的數量為3為例,可預估安全裕度為17(15+2=17),從而可確定出熱上限可調整至90℃(107-17=90)。在一些實施例中,計算結果可表明熱上限應保持不變;例如,熱上限的增加會違反最小安全裕度。如果計算結果表明熱上限能夠被調整,則P的熱上限被調整為計算值(步驟430)。在步驟440處(如果熱上限不能夠被調整),將計算電路P的當前溫度與熱上限進行比較。如果當前溫度超過熱上限,則系統通過降低其電壓和頻率來壓制計算電路P的性能(步驟450)。如果當前溫度沒有超過新的熱上限,則過程400返回到步驟410,在步驟410中,系統繼續監視並檢測運行情況變化。
在一實施例中,動態功率測量411和洩漏功率測量412能夠分別通過動態電流(dynamic current)和洩漏電流(leakage current)的直接測量獲得。動態功率預測413可以基於多個因素中的一個或多個獲得/進行,該多個因素包括但不限於:電壓、頻率、系統配置(例如,系統中被激活的計算電路的數量)、工作負荷(例如,通過每週期的平均指令數(averaged number of instructions per cycle,IPC)測量的)、主動執行任務的計算電路的執行時間等。洩漏功率預測414可以基於多個因素中的一個或多個進行,該多個因素包括但不限於:電壓、由製造工藝造成的工藝變化、系統配置(例如,系統中被激活的計算電路的數量)、電源門控(例如,在計算電路中被通電或斷電的電路的數量)等。在一實施例中,動態功率預測413和洩漏功率預測414所基於的一些或全部因素可以由監測模塊160(第1圖)收集或監控。
在具有多個計算電路的系統中,該系統可以相互獨立地調整每個計算電路的熱上限。動態功率測量411、洩漏功率測量412、動態功率預測413和洩漏功率預測414可以基於每個計算電路的物理特性(例如,工藝變化等)和操作狀態(例如,電壓、工作負荷、功率門控等)在每個計算電路上執行。多個計算電路共有的因素,例如,系統中激活的計算電路的數量,也可以用於確定多個計算電路的熱上限調整。
第5圖是根據一實施例示出的用於調整計算電路的熱上限的方法500的流程示意圖。方法500可由計算系統執行,例如,第1圖中的系統100或者具有一個或多個計算電路的系統。在步驟510中,系統檢測影響系統中功耗的運行情況變化。在步驟520中,當檢測到運行情況變化時,系統確定對系統中計算電路的熱上限的調整值(如第3圖所示,可透過監測功耗和/或接通/激活的計算電路的數量來檢測運行情況變化,以及,通過各運行情況與相應熱上限之間的預設關係可確定出熱上限的調整值,其中,相應熱上限的取值是參考相應的運行情況下的溫度上升斜率給出的,不同的運行情況對應不同的熱上限值,第3圖中的示出的運行情況為4個,其僅為示例性說明,而不應當是對本發明的限制)。在步驟530中,系統根據確定後的調整值自適應調整計算電路的熱上限,其中,不同的運行情況對應的熱上限取值是不同的。例如,假設系統檢測到從第一運行情況(CASE1)變化至第三運行情況(CASE3),則可將熱上限從100℃調整/下降至90℃,接下來,如果檢測到系統從第三運行情況變化至第二運行情況(CASE2),則將熱上限從90℃調整/增大至95℃。應當說明的是,第3圖僅為一種示例表現,例如,具體實現中可根據功率變化量是否超過預設值來檢測運行情況變化,若檢測到運行情況變化,則計算/估計溫度上升斜率,以確定出熱上限的調整值。
在一實施例中,運行情況變化包括動態功耗和洩漏功耗的變化。運行情況變化可以包括系統中激活的計算電路數量的變化。運行情況變化的檢測可以基於功耗的測量和預測。功耗的預測可以包括基於以下一項或多項的動態功耗的預測:電壓、頻率、系統配置、工作負荷和執行時間。功耗的預測可以包括基於以下一項或多項的洩漏功耗的預測:電壓、工藝變化、系統配置和功率門控。
在一實施例中,熱上限調整是基於計算電路的溫度上升斜率確定的。系統將計算電路的當前溫度與計算電路的熱上限進行比較,以確定是否對計算電路的性能進行限制。可在運行期間動態改變壓制的溫度。熱上限隨著運行情況的變化而動態變化。
第4圖和第5圖的流程示意圖的操作已經參考第1圖的示例性實施例進行了描述。然而,應當理解,第4圖和第5圖的流程示意圖的操作可由本發明不同於第1圖的其它實施例執行,以及,第1圖的實施例可以執行與參照流程示意圖所討論的操作不同的操作。雖然第4圖和第5圖的流程示意圖示出了由本發明的某些實施例執行的特定操作順序,但應當理解,這種順序是示例性的(例如,替代實施例可以以不同的順序執行操作、組合某些操作、重疊某些操作等)。應當說明的是,所屬技術領域的普通技術人員應當理解:本發明實施例中的術語“功率”和“功耗”可互換使用。
本文已經描述了各種功能組件、塊或模塊。如本領域技術人員將理解的,功能塊或模塊可以通過電路(例如,專用電路或通用電路,其在一個或多個處理器和編碼指令的控制下操作)來實現,其通常包括電晶體,被配置為根據本文描述的功能和操作來控制電路的操作。
在申請專利範圍中使用諸如“第一”,“第二”,“第三”等序數術語來修改申請專利要素,其本身並不表示一個申請專利要素相對於另一個申請專利要素的任何優先權、優先級或順序,或執行方法動作的時間順序,但僅用作標記,以使用序數詞來區分具有相同名稱的一個申請專利要素與具有相同名稱的另一個元素要素。
雖然已經對本發明實施例及其優點進行了詳細說明,但應當理解的係,在不脫離本發明的精神以及申請專利範圍所定義的範圍內,可以對本發明進行各種改變、替換和變更,例如,可以通過結合不同實施例的若干部分來得出新的實施例。所描述的實施例在所有方面僅用於說明的目的而並非用於限制本發明。本發明的保護範圍當視所附的申請專利範圍所界定者為准。所屬技術領域中具有通常知識者皆在不脫離本發明之精神以及範圍內做些許更動與潤飾。
100:系統 171:電源 172:時鐘電路 170:DVFS控制器 110:熱管理(TM)模塊 111:調整模塊 112:功率測量模塊 113:功率預測模塊 150:計算電路 130:處理器 190:專用電路 180:溫度傳感器 131:處理單元 120:記憶體 160:監測模塊 400:熱上限調整的過程 410,420,430,440,450,510,520,530:步驟 411:動態功率測量 412:洩漏功率測量 413:動態功率預測 414:洩漏功率預測 500:用於調整計算電路的熱上限的方法
附圖(其中,相同的數位表示相同的組件)示出了本發明實施例。包括的附圖用以提供對本公開實施例的進一步理解,以及,附圖被併入並構成本公開實施例的一部分。附圖示出了本公開實施例的實施方式,並且與說明書一起用於解釋本公開實施例的原理。可以理解的是,附圖不一定按比例繪製,因為可以示出一些部件與實際實施中的尺寸不成比例以清楚地說明本公開實施例的概念。 第1圖是根據一實施例示出的一種系統的示意圖。 第2圖是根據一實施例示出的動態熱上限調整的示意圖。 第3圖根據一實施例示出了熱上限與激活的處理器的數量的示例。 第4圖是根據一實施例示出的熱上限調整過程的流程示意圖。 第5圖是根據一實施例示出的用於調整計算電路的熱上限的方法的流程示意圖。 在下面的詳細描述中,為了說明的目的,闡述了許多具體細節,以便所屬技術領域中具有通常知識者能夠更透徹地理解本發明實施例。然而,顯而易見的是,可以在沒有這些具體細節的情況下實施一個或複數個實施例,不同的實施例或不同實施例中披露的不同特徵可根據需求相結合,而並不應當僅限於附圖所列舉的實施例。
500:方法
510,520,530:步驟

Claims (20)

  1. 一種用於自適應調整熱上限的系統,其中,該系統包括多個計算電路和耦接該多個計算電路的熱管理模塊,其中,該熱管理模塊用於:檢測影響該系統中功耗的運行情況變化;當檢測到運行情況變化時,確定是否對該多個計算電路中的計算電路的熱上限進行調整;以及,如果確定為調整,將該計算電路的熱上限調整至該當前運行情況對應的熱上限取值,其中,不同的運行情況對應的熱上限取值是不同的,以及,相同的運行情況對應相同的熱上限取值,該熱上限取值是參考相應運行情況下的溫度上升斜率確定的。
  2. 如請求項1所述的系統,其中,該運行情況變化包括動態功耗和洩漏功耗的變化。
  3. 如請求項1所述的系統,其中,該熱管理模塊還用於基於功耗的測量和預測來檢測該運行情況變化。
  4. 如請求項3所述的系統,其中,該功耗的預測包括基於以下一項或多項的動態功耗的預測:電壓、頻率、系統配置、工作負荷和執行時間。
  5. 如請求項3所述的系統,其中,該功耗的預測包括基於以下一項或多項的洩漏功耗的預測:電壓、工藝變化、系統配置和功率門控。
  6. 如請求項1所述的系統,其中,該運行情況變化包括該系統中被激活的計算電路的數量的改變。
  7. 如請求項1所述的系統,其中,是否進行該調整是基於該計算電路的溫度上升斜率確定的。
  8. 如請求項1所述的系統,其中,該熱管理模塊還用於比較該計算電路的當前溫度與該熱上限,以確定是否限制該計算電路的性能。
  9. 如請求項8所述的系統,其中,在該系統的溫度上升至該熱上限限定的溫度時,該計算電路的性能被限制。
  10. 如請求項1所述的系統,其中,該熱上限隨著運行情況的變化而動態變化。
  11. 一種用於自適應調整熱上限的方法,包括:檢測影響系統中功耗的運行情況變化;當檢測到運行情況變化時,確定是否對該系統中的計算電路的熱上限進行調整;以及,如果確定為調整,將該計算電路的熱上限調整至該當前運行情況對應的熱上限取值,其中,不同的運行情況對應的熱上限取值是不同的,以及,相同的運行情況對應相同的熱上限取值,該熱上限取值是參考相應運行情況下的溫度上升斜率確定的。
  12. 如請求項11所述的方法,其中,該運行情況變化包括動態功耗和洩漏功耗的變化。
  13. 如請求項11所述的方法,其中,檢測該運行情況變化是基於功耗的測量和預測進行的。
  14. 如請求項13所述的方法,其中,該功耗的預測包括基於以下一項或多項的動態功耗的預測:電壓、頻率、系統配置、工作負荷和執行時間。
  15. 如請求項13所述的方法,其中,該功耗的預測包括基於以下一項或多項的洩漏功耗的預測:電壓、工藝變化、系統配置和功率門控。
  16. 如請求項11所述的方法,其中,該運行情況變化包括該系統中被激活的計算電路的數量的改變。
  17. 如請求項11所述的方法,其中,是否進行該調整是基於該計算電路的溫度上升斜率確定的。
  18. 如請求項11所述的方法,其中,該方法還包括:比較該計算電路的當前溫度與該熱上限,以確定是否限制該計算電路的性能。
  19. 如請求項18所述的方法,其中,在該系統的溫度上升至該熱上限限定的溫度時,該計算電路的性能被限制。
  20. 如請求項11所述的方法,其中,該熱上限隨著運行情況的變化而動態變化。
TW111108168A 2021-04-15 2022-03-07 一種用於自適應調整熱上限的系統及方法 TWI829104B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163175074P 2021-04-15 2021-04-15
US63/175,074 2021-04-15
US17/490,663 2021-09-30
US17/490,663 US11989005B2 (en) 2021-04-15 2021-09-30 Adaptive thermal ceiling control system

Publications (2)

Publication Number Publication Date
TW202242656A TW202242656A (zh) 2022-11-01
TWI829104B true TWI829104B (zh) 2024-01-11

Family

ID=83601332

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111108168A TWI829104B (zh) 2021-04-15 2022-03-07 一種用於自適應調整熱上限的系統及方法

Country Status (3)

Country Link
US (1) US11989005B2 (zh)
CN (1) CN115220553A (zh)
TW (1) TWI829104B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215394B (zh) * 2023-11-07 2024-01-23 北京数渡信息科技有限公司 一种面向多核处理器的片上温度和能耗控制装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200612334A (en) * 2004-03-16 2006-04-16 Sony Computer Entertainment Inc Methods and apparatus for reducing power dissipation in a multi-processor system
US7917772B1 (en) * 2006-09-29 2011-03-29 Koniaris Kleanthes G Dynamic chip control
US20110231030A1 (en) * 2010-03-18 2011-09-22 International Business Machines Corporation Minimizing Aggregate Cooling and Leakage Power
US20180203494A1 (en) * 2015-07-29 2018-07-19 Zte Corporation Method and apparatus for controlling hot plug operation of cpu in mobile terminal

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012069881A1 (en) * 2010-11-25 2012-05-31 Freescale Semiconductor, Inc. Method and apparatus for managing power in a multi-core processor
US9618988B2 (en) * 2012-07-03 2017-04-11 Nxp Usa, Inc. Method and apparatus for managing a thermal budget of at least a part of a processing system
CN104871109B (zh) * 2012-12-17 2017-08-04 惠普发展公司,有限责任合伙企业 基于温度的触摸便携式计算设备
FR3010545B1 (fr) * 2013-09-06 2016-12-09 Commissariat Energie Atomique Procede de commande d'un circuit electronique
US20170068261A1 (en) * 2015-09-08 2017-03-09 Mediatek Inc. Adaptive Thermal Slope Control
EP3264268A1 (en) * 2016-06-29 2018-01-03 Intel Corporation Distributed processing qos algorithm for system performance optimization under thermal constraints
JP2018005569A (ja) * 2016-07-01 2018-01-11 富士通株式会社 半導体装置及び半導体装置の制御方法
KR102252572B1 (ko) * 2019-05-14 2021-05-17 어보브반도체 주식회사 그립 센싱 방법 및 장치
KR20220059243A (ko) * 2020-11-02 2022-05-10 삼성전자주식회사 전력 측정에 기초한 온도 검출 및 열 관리를 위한 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200612334A (en) * 2004-03-16 2006-04-16 Sony Computer Entertainment Inc Methods and apparatus for reducing power dissipation in a multi-processor system
US7917772B1 (en) * 2006-09-29 2011-03-29 Koniaris Kleanthes G Dynamic chip control
US20110231030A1 (en) * 2010-03-18 2011-09-22 International Business Machines Corporation Minimizing Aggregate Cooling and Leakage Power
US20180203494A1 (en) * 2015-07-29 2018-07-19 Zte Corporation Method and apparatus for controlling hot plug operation of cpu in mobile terminal

Also Published As

Publication number Publication date
US20220334558A1 (en) 2022-10-20
CN115220553A (zh) 2022-10-21
US11989005B2 (en) 2024-05-21
TW202242656A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
US7549177B2 (en) Advanced thermal management using an average power controller over an adjustable time window
JP5985708B2 (ja) マルチコアプロセッサにおける電力消費の管理
US9590639B2 (en) Semiconductor device and control method
US7352641B1 (en) Dynamic memory throttling for power and thermal limitations
US9261949B2 (en) Method for adaptive performance optimization of the soc
JP6154843B2 (ja) 電力制御方法および電力制御装置
KR101534450B1 (ko) 누설 전류 측정으로부터 열 관리 폴리시를 결정하는 시스템 및 방법
US8868947B2 (en) Fan control for determining a fan speed that is closer to an optimal fan speed based on an amount of measured change in system power consumption and temperature of a processor
US10275001B2 (en) Thermal throttling of electronic devices
KR100974972B1 (ko) 저전력 디바이스의 대기 전력 제어를 위한 방법, 장치 및 시스템
US10627878B2 (en) Electronic devices and cooling methods adapted to electronic device
US8949635B2 (en) Integrated circuit performance improvement across a range of operating conditions and physical constraints
US20150378424A1 (en) Memory Management Based on Bandwidth Utilization
US20070106428A1 (en) Systems and methods for thermal management
US20130173946A1 (en) Controlling power consumption through multiple power limits over multiple time intervals
US20140365793A1 (en) Thermal management of an integrated circuit
JP2009522688A (ja) 独立周波数及び/又は電圧で集積回路の構成要素を動作させるシステムならびに方法
WO2013095943A1 (en) System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US20150046729A1 (en) Semiconductor apparatus and control method therof
EP3036598B1 (en) Power signal interface
TWI829104B (zh) 一種用於自適應調整熱上限的系統及方法
US20160282929A1 (en) Technologies for managing power of an embedded controller during a low-power state
US9117511B2 (en) Control circuits for asynchronous circuits
US20230004185A1 (en) System and method for controllilng electrical current supply in a multi-processor core system via instruction per cycle reduction
US20210271300A1 (en) Dynamic thermal control