TW201508480A - 控制處理器功率消耗之數位功率評估器 - Google Patents

控制處理器功率消耗之數位功率評估器 Download PDF

Info

Publication number
TW201508480A
TW201508480A TW103116632A TW103116632A TW201508480A TW 201508480 A TW201508480 A TW 201508480A TW 103116632 A TW103116632 A TW 103116632A TW 103116632 A TW103116632 A TW 103116632A TW 201508480 A TW201508480 A TW 201508480A
Authority
TW
Taiwan
Prior art keywords
dpe
processors
threshold
circuit
operating point
Prior art date
Application number
TW103116632A
Other languages
English (en)
Other versions
TWI522801B (zh
Inventor
Jong-Suk Lee
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of TW201508480A publication Critical patent/TW201508480A/zh
Application granted granted Critical
Publication of TWI522801B publication Critical patent/TWI522801B/zh

Links

Classifications

    • 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/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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

在一實施例中,可提供一數位功率評估器(DPE),其可監視處理器以評估正被消耗之功率量。若該評估超出一功率臨限值,則該DPE可對該等處理器中之一或多者進行節流。另外,節流事件可經監視以判定是否需要操作點的一改變。在一項實施例中,可對該等DPE節流事件進行計數,且若該等計數超出一計數臨限值,則可請求該操作點至一減少之操作點的一改變。另外,若該DPE評估低於該功率臨限值(或一第二功率臨限值),則可維持事件之一第二計數。若該第二計數超出一臨限值且該操作點為該減少之操作點,則可請求至該原始操作點的一返回。

Description

控制處理器功率消耗之數位功率評估器
本發明係關於處理器中之功率管理。
可併入於給定半導體基板上以形成積體電路之電晶體的數目繼續增加。並行地,積體電路被操作之時脈頻率(「操作頻率」)亦繼續增加。儘管供電電壓量值已隨時間而減低,但積體電路之功率消耗已日益增加。在積體電路用於具有有限能量儲存之器件(例如,在電池上操作之行動器件)中的狀況下,功率消耗為器件在器件必須經再充電之前可使用多長時間的因數。另外,經由功率消耗產生之熱在行動器件及非行動器件中可為一問題。
包括處理器以執行軟體的器件可管理處理器中的功率消耗。通常,若在給定處理器上不存在當前需要執行之軟體,則該處理器可被停止。停止處理器可包括以下兩者:時脈閘控,其中時脈被停止但處理器保持供電,且準備好以在時脈經重新開始時執行指令;及功率閘控,其中處理器經斷電,且將供電並在執行指令之前進行重設。
包括行動器件的許多器件包括多個處理器。處理器亦可為顯著功率取用者,特別是在某些工作負荷下。因此,可存在數個操作點(供電電壓量值與操作頻率之組合),在該等操作點處,若所有處理器正在執行中,則器件處於超出器件中電源供應器之容量的風險。即, 電源供應器能夠起源最大電流量。若所有處理器在一些操作點處正在執行中功率密集型工作負荷,則所得電流汲取可超出電源供應器可提供的電流量。超出電源供應器之容量可引起錯誤操作(例如,供電電壓量值可下降至積體電路不再以操作頻率正確地操作所在的點)。
在一實施例中,可提供一數位功率評估器(DPE),其可監視處理器以評估正被消耗之功率量。若該評估超出一功率臨限值,則該DPE可對該等處理器中之一或多者進行節流。另外,節流事件可經監視以判定是否需要操作點的一改變。在一項實施例中,可對該等DPE節流事件進行計數,且若該等計數超出一計數臨限值,則可請求該操作點至一減少之操作點的一改變。另外,若該DPE評估低於該功率臨限值(或一第二功率臨限值),則可維持事件之一第二計數。若該第二計數超出一臨限值且該操作點為該減少之操作點,則可請求至該原始操作點的一返回。
3Ac‧‧‧信號
4Ac‧‧‧信號
10‧‧‧系統單晶片(SOC)
12‧‧‧記憶體
14‧‧‧中央處理單元(CPU)複合體
16‧‧‧自動功率狀態控制器
18A‧‧‧周邊組件
18B‧‧‧周邊組件
20‧‧‧數位功率評估器(DPE)電路
22‧‧‧記憶體控制器
27‧‧‧通信網狀架構
28‧‧‧CPU處理器
30‧‧‧第二層級(L2)快取記憶體
32‧‧‧功率管理器(PMGR)
40‧‧‧動態電壓及頻率管理(DVFM)資料表
42‧‧‧控制電路
44A‧‧‧暫存器
44B‧‧‧暫存器
44C‧‧‧暫存器
44D‧‧‧暫存器
46A‧‧‧多工器
46B‧‧‧多工器
46C‧‧‧多工器
48A‧‧‧邏輯電路
48B‧‧‧邏輯電路
50‧‧‧決策區塊
52‧‧‧決策區塊
54‧‧‧區塊
56‧‧‧區塊
58‧‧‧決策區塊
60‧‧‧決策區塊
62‧‧‧區塊
64‧‧‧決策區塊
66‧‧‧決策區塊
68‧‧‧區塊
70‧‧‧區塊
72‧‧‧區塊
80‧‧‧區塊
82‧‧‧決策區塊
84‧‧‧區塊
90‧‧‧遲滯計數器
92A‧‧‧區塊
92B‧‧‧區塊
92C‧‧‧區塊
92D‧‧‧區塊
94‧‧‧功率臨限值暫存器
96‧‧‧比較器
98‧‧‧逐加計數器
100‧‧‧逐減計數器
102‧‧‧暫存器
110‧‧‧區塊
112‧‧‧決策區塊
114‧‧‧區塊
116‧‧‧區塊
118‧‧‧區塊
119‧‧‧區塊
120‧‧‧區塊
122‧‧‧決策區塊
124‧‧‧區塊
126‧‧‧區塊
128‧‧‧決策區塊
130‧‧‧區塊
132‧‧‧決策區塊
134‧‧‧區塊
136‧‧‧決策區塊
138‧‧‧區塊
150‧‧‧系統
154‧‧‧周邊裝置
156‧‧‧功率管理單元(PMU)
AI‧‧‧活動指示符
VCPU‧‧‧供電電壓
VSOC‧‧‧供電電壓
以下詳細描述參看隨附圖式,現簡潔地描述該等隨附圖式。
圖1為包括中央處理單元(CPU)複合體之系統單晶片之一項實施例的方塊圖。
圖2為展示於圖1中之自動功率狀態控制器(APSC)之一項實施例的方塊圖。
圖3為說明展示於圖2中之APSC之一項實施例之操作的流程圖。
圖4為說明展示於圖1中之數位功率評估器(DPE)之一項實施例結合APSC的操作之流程圖。
圖5為CPU複合體中DPE之實施例的方塊圖。
圖6為說明選擇性地啟用DPE之一項實施例的流程圖。
圖7為說明圖5中之組件之一項實施例在DPE經啟用時之操作的流 程圖。
圖8為系統之一項實施例的方塊圖。
雖然本發明容許各種修改及替代形式,但其特定實施例在圖式中以舉例方式予以展示,且將在本文中進行詳細描述。然而應瞭解,該等圖式及對其之詳細描述並非意欲將本發明限於所揭示的特定形式,而正相反,本發明意欲涵蓋屬於本發明的由隨附申請專利範圍所界定之精神及範疇的所有修改、等效物或替代例。本文中所使用之標題僅為達成組織性目的,且不意欲用以限制此描述之範疇。如貫穿本申請案所使用,詞語「可」係在允許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)上使用。類似地,詞語「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行一或多個任務。在此等情形下,「經組態以」係對結構之廣泛敍述,從而大體上意謂「具有在操作期間執行該或該等任務之電路」。因而,單元/電路/組件可經組態以甚至在單元/電路/組件當前未接通時仍執行任務。一般而言,形成對應於「經組態以」之結構的電路可包括硬體電路及/或儲存可執行以實施操作之程式指令的記憶體。該記憶體可包括揮發性記憶體(諸如,靜態或動態隨機存取記憶體),及/或非揮發性記憶體(諸如,光碟或磁碟儲存器、快閃記憶體、可程式化唯讀記憶體,等等)。類似地,為了描述之方便起見,各種單元/電路/組件可被描述為執行一或多個任務。此等描述應解譯為包括片語「經組態以」。敍述經組態以執行一或多個任務之一單元/電路/組件明確地不意欲援引35 U.S.C.§ 112第六段對於該單元/電路/組件之解譯。
本說明書包括對「一項實施例」或「一實施例」之參考。片語「在一項實施例中」或「在一實施例中」之顯現未必係指同一實施例,但包括特徵之任何組合的實施例通常被預期到,除非本文中明確 地否認。可以與本發明一致之任何合適方式來組合特定特徵、結構或特性。
現轉至圖1,展示耦接至記憶體12及功率管理單元(PMU)156的SOC 10之一項實施例的方塊圖。如藉由名稱所隱含,SOC 10之組件可整合至單一半導體基板上作為積體電路「晶片」。在一些實施例中,組件可實施於系統中之兩個或兩個以上離散晶片上。然而,本文中將使用SOC 10作為實例。在所說明實施例中,SOC 10之組件包括中央處理單元(CPU)複合體14、周邊組件18A至18B(更簡潔地「周邊裝置」)、記憶體控制器22、功率管理器(PMGR)32及通信網狀架構27。組件14、18A至18B、22及32可皆耦接至通信網狀架構27。記憶體控制器22在使用期間可耦接至記憶體12。在所說明實施例中,CPU複合體14包括一或多個處理器28、第二層級(L2)快取記憶體30、自動功率狀態控制器16及數位功率評估器(DPE)電路20。
CPU複合體14可包括充當SOC 10之CPU的一或多個CPU處理器28。系統之CPU包括執行系統之主要控制軟體(諸如作業系統)的處理器。通常,由CPU在使用期間執行的軟體可控制系統之其他組件以實現系統的所要功能性。處理器28亦可執行其他軟體,諸如應用程式。應用程式可提供使用者功能性,且可依賴於針對較低層級器件控制的作業系統。因此,處理器28亦可被稱作應用程式處理器。CPU複合體14可進一步包括諸如L2快取記憶體30之其他硬體,及/或至系統之其他組件的介面(例如,至通信網狀架構27的介面)。
APSC 16可經組態以監視使用中的處理器28,且可經組態以基於當前操作點及使用中的處理器的數目來動態地修改CPU複合體14的操作點。特定而言,在一些操作點處,若最大數目個以上之處理器係使用中的,則所消耗之總功率可超出PMU 156的能力,從而在每一處理 器中提供最差狀況功率消耗下的功率。APSC 16可經組態以偵測最大數目個以上處理器係使用中的時間,且可經組態以減少操作點以防止消耗之功率超出PMU 156的能力。減少之操作點可為所消耗之總功率可能不超出PMU 156之能力的操作點,即使使用中的處理器28之全部正消耗最差狀況功率亦如此。
處理器28之最大數目可比處理器之總數目少一個以上。舉例而言,處理器28之總數可為N,且給定操作點之處理器的最大數目可為N-M,其中N及M為整數,且N大於M。可存在針對給定操作點定義之M個減少之操作點,且M個減少之操作點中的一者可基於使用中的處理器之數目來進行選擇。即,若使用中的處理器之數目比最大數目多一個,則可選擇M個減少之操作點中的一者;若使用中的處理器之數目比最大數目多兩個,則可選擇M個經減少之操作點中的另一者,等等。替代地,可存在針對M個處理器經充分減少以在最差狀況功率消耗情況下係使用中的一個減少之操作點。處理器之最大數目可為操作點特定的。即,一個操作點可具有N-M1作為最大數目,且另一操作點可具有N-M2作為最大數目,其中M1及M2為並不相同的整數。一些操作點可不具有最大數目(亦即,所有N個處理器可為使用中的)。
例如,當含有最高功率消耗指令之程式碼在處理器28中經重複地執行時,最差狀況功率消耗可發生。哪些指令為最高功率消耗指令可在處理器28之實施之間發生變化。在一些狀況下,最高功率消耗指令可為特定類型之指令(例如,浮點指令相較於媒體或整數指令可為較高功率消耗指令,或媒體指令可為最高功率消耗指令,等等)。該類型之指令內的特定指令可高於其他指令(例如,乘加浮點指令相較於其他浮點指令可為較高功率消耗指令)。
最差狀況功率消耗同時發生於每一使用中的核心中的可能性可為低的。然而,由於故障在最差狀況的確發生情況下可發生,因此 APSC 16可經組態以防止該可能性。若該可能性未被防止,則包括SOC 10之系統將易受所謂「功率病毒(power virus)」攻擊,在該「功率病毒」攻擊中,邪惡行動者試圖藉由使得最差狀況情境發生而引起故障。
在一些實施例中,DPE電路20亦可被包括,且可結合APSC 16操作以防止最差狀況功率消耗引起故障,但可允許減少之操作點設定於相對較高點(相較於單獨使用APSC 16的情況)。舉例而言,減少之操作點可基於執行各種基準點程式時處理器28之功率消耗來設定,此等基準點程式表示系統中的常見工作負荷。可選擇最高功率消耗基準點,且可設定減少之操作點,使得最高功率消耗基準點可在不超出PMU 156之能力情況下在每一使用中的處理器28中被執行。DPE電路20可經組態以監視處理器28從而偵測功率消耗正超出臨限值的狀況,且可經組態以對處理器28中的一或多者進行節流以減少功率消耗。因此,若處理器28正執行引起功率消耗超出最高功率消耗基準點的程式碼,則除了其他可能用於短時間週期(例如,一或幾個時脈循環),DPE電路20可防止PMU 156之能力被超出。
操作點可指CPU複合體14之供電電壓量值及操作頻率的組合。操作頻率可為對處理器28進行計時之時脈的頻率。在一些狀況下,CPU複合體14中之其他電路可以自操作頻率導出的較低時脈頻率操作(例如,L2快取記憶體30可以較低時脈頻率操作)。可使供電電壓量值與操作頻率相關。舉例而言,供電電壓量值可至少足夠高以使處理器28在操作頻率下正確地操作。在一實施例中,供電電壓量值可為處理器28針對對應操作頻率正確地操作所在的最小供電電壓量值。操作點可亦被稱作操作狀態或功率狀態。
隨著供電電壓量值及操作頻率增加,CPU複合體14消耗之功率通常可增加。因此,在操作點(較低供電電壓量值及操作頻率)處,處理 器28可消耗較少功率,且可准許更多處理器在任何給定時間為使用中的。通常,若處理器被供電,則處理器可為使用中的。處理器可在很少延遲情況下可用於指令執行(例如,若指令已準備好以供執行,則處理器可經時脈閘控)。若處理器經斷電或處於顯著延遲在可執行指令之前可被經歷的另一低功率狀態,則處理器可係非使用中的。舉例而言,若處理器需要鎖相迴路(PLL)之重設或重新鎖定,則處理器可為非使用中的,即使處理器保持供電亦如此。
由DPE 20進行之處理器28的節流通常可指在不撤銷啟動處理器或改變其當前操作點情況下限制由處理器28進行的指令執行。節流可包括限制指令(或特定指令,諸如高功率消耗指令)之發佈速率,從而限制指令的執行速率等。
通常,處理器可包括經組態以執行在由處理器實施之指令集架構中定義的指令之任何電路及/或微碼。處理器可涵蓋與其他組件一起實施於積體電路上作為系統單晶片(SOC 10)的處理器核心或其他層級整合。處理器可進一步涵蓋離散微處理器、處理器核心及/或整合於多晶片模組實施中的微處理器、實施為多個積體電路的處理器等。
記憶體控制器22通常可包括用於自SOC 10之其他組件接收記憶體操作且用於存取記憶體12以完成記憶體操作的電路。記憶體控制器22可經組態以存取任何類型之記憶體12。舉例而言,記憶體12可為靜態隨機存取記憶體(SRAM)、諸如包括雙資料速率(DDR、DDR2、DDR3等)DRAM之同步DRAM(SDRAM)的動態RAM(DRAM)。可支援DDR DRAM之低功率/行動版本(例如,LPDDR、mDDR等)。記憶體控制器22可包括記憶體操作之佇列,從而用於對操作排序(且潛在地對操作重新排序)且將操作呈現給記憶體12。記憶體控制器22可進一步包括資料緩衝器以儲存等待寫入至記憶體寫入資料及等待傳回至記憶體操作源的讀取資料。在一些實施例中,記憶體控制器22可包括快 取記憶體以儲存新近存取的記憶體資料。在SOC實施中,例如,若快取記憶體被預期為很快再次進行存取,則快取記憶體可藉由避免資料自記憶體12之重新存取來減少SOC中的功率消耗。在一些狀況下,與諸如L2快取記憶體30或處理器28中之快取記憶體的私密快取記憶體相對,快取記憶體亦可被稱作伺服僅某些組件的系統快取記憶體。另外,在一些實施例中,系統快取記憶體不需要定位於記憶體控制器22中。
周邊裝置18A至18B可為包括於SOC 10中之額外硬體功能性的任何集合。舉例而言,周邊裝置18A至18B可包括視訊周邊裝置,諸如經組態以處理來自攝影機或其他影像感測器的影像捕捉資料的影像信號處理器,經組態以將視訊資料顯示於一或多個顯示器件上的顯示器控制器,圖形處理器單元(GPU)、視訊編碼器/解碼器、按比例調整器、旋轉器、調合器等。周邊裝置可包括音訊周邊裝置,諸如麥克風、揚聲器、至麥克風及揚聲器之介面、音訊處理器、數位信號處理器、混頻器等。周邊裝置可包括用於在SOC 10外部之各種介面的介面控制器(例如,周邊裝置18B),包括諸如通用串列匯流排(USB)之介面、周邊組件互連(PCI)(包括PCI Express(PCIe))、串列及並列埠等。周邊裝置可包括諸如媒體存取控制器(MAC)的網路連接周邊裝置。可包括任何硬體集合。
通信網狀架構27可為用於在SOC 10之數個組件之間進行通信的任何通信互連及協定。通信網狀架構27可基於匯流排,從而包括共用匯流排組態、橫條組態及具有橋接器的階層式匯流排。通信網狀架構27亦可基於封包,且藉由橋接器、橫條、點對點或其他互連而為階層式。
PMGR 32經組態以控制自PMU 156請求之供電電壓量值。可存在由SOC 10之PMU 156產生的多個供電電壓。舉例而言,圖1中說明 VCPU及VSOC。VCPU可為CPU複合體14的供電電壓。VSOC通常可為SOC 10的在CPU複合體14外部之剩餘部分的供電電壓。在一些實施例中,可存在用於SOC 10之剩餘部分的多個供電電壓。在一些實施例中,亦可存在用於CPU複合體14及/或SOC 10中之各種記憶體陣列的記憶體供電電壓。可使用記憶體供電電壓,其中供應至邏輯電路之電壓(例如,VCPU或VSOC)可具有低於確保強健記憶體操作所需要之電壓量值的電壓量值。在一些實施例中,各種組件本端之邏輯(例如,APSC 16)可控制組件之包括供電及斷電的功率狀態,及支援一個以上操作點之彼等組件的各種其他操作點。在其他實施例中,PMGR 32可控制SOC 10之其他組件的供電及斷電,或可支援一些組件之本端控制與其他組件之PMGR控制的組合。PMGR 32可係在直接軟體控制下(例如,軟體可直接請求組件之供電及/或斷電),及/或可經組態以監視SOC 10且判定各種組件將被供電或斷電的時間。
PMU 156通常可包括如下電路:產生供電電壓且將彼等供電電壓提供至系統之其他組件,諸如SOC 10、記憶體12、各種晶片外周邊組件(圖1中未展示)(諸如,顯示器件、影像感測器、使用者介面器件等)。PMU 156可因此包括可程式化電壓調節器、介面連接至SOC 10的邏輯,且更特定而言接收電壓請求的PMGR 32等。
請注意,SOC 10之組件的數目(及展示於圖1中諸如CPU複合體14內之彼等之子組件的數目)可在實施例之間發生變化。相較於展示於圖1中之數目,可存在較多或較少的每種組件/子組件。
圖2為APSC 16之一項實施例的方塊圖。在所說明實施例中,APSC 16包括動態電壓及頻率管理(DVFM)資料表40、控制電路42、暫存器44A至44D、多工器(mux)46A至46C,及邏輯電路48A至48B。DVFM資料表40耦接至暫存器44A、多工器46A至46C及邏輯電路48A至48B。邏輯電路48A至48B經耦接以將選擇控制提供給多工器46A至 46C。多工器46A至46C分別耦接至暫存器44B至44D。控制電路耦接至暫存器44A至44B且接收DPE事件及APSC事件。暫存器44C及44D之輸出被分別輸送至PMGR 32及時脈控制(ClkCtl)單元(未圖示)。
DVFM資料表40包括多個項目,該等項目可藉由描述各種操作點或狀態的資料(藉由圖2中之DVFM狀態欄所指示)而程式化。暫存器44A可藉由來自軟體之目標操作點選擇(TgtSel)而程式化,從而識別用於CPU複合體14的所要操作點。暫存器44A可耦接至資料表40上之讀取埠,且來自對應項目之資料可由資料表40輸出作為至多工器46B至46C的第一輸入。描述每一操作點之資料可為供電電壓量值(圖2中之電壓欄)及操作電壓(圖2中之頻率欄)的指示。資料可進一步包括處理器28之於在操作點處進行操作時被准許的最大數目的指示。可使用任何指示(例如,最大數目之計數、如下文論述之位元向量、在無操作點之改變情況下可並非使用中的數目的計數等)。
在所說明實施例且類似實施例中,指示可為具有針對處理器之每一數目之位元的位元向量,該數目可高於針對至少一可能操作點之最大數目。因此,對於所說明實施例,存在四個處理器,且有可能的是,三個使用中的處理器可高於最大值(Limit3位元),且四個使用中的處理器可高於最大值(Limit4位元)。當程式化資料表40中之項目時,軟體可又基於最差狀況功率分析或在使用DPE電路20之實施例中基於諸如基準點之更多標稱工作負荷的功率分析來填入位元向量。位元在第一狀態下可指示,處理器之數目高於極限,且在第二狀態下指示處理器之數目不高於極限。在所說明實施例中,第一狀態可為設定狀態,且第二狀態可為清除狀態。其他實施例可使用設定狀態及清除狀態的相反意義。
Limit3及Limit4位元的實例值針對DVFM狀態0至3展示於資料表40中。在DVFM狀態0及1兩者中,在未呈現高於PMU 156之能力的電 力消耗情況下,任何數目個處理器可為使用中的。因此,對於資料表40中之此等項目,Limit3及Limit4位元兩者為清除的。在DVFM狀態2中,極限可為3個處理器,且因此Limit4位元經設定,且Limit3位元為清除的。在DVFM狀態3中,極限可為2個處理器,且因此Limit3及Limit4位元兩者經設定。
資料表40可輸出藉由暫存器44A編索引之Limit3及Limit4位元分別至及(AND)閘48A至48B。另外,指示存在三個使用中的核心(3Ac)抑或4個使用中的核心(4Ac)的信號可被分別輸入至AND閘48A至48B。3Ac及4Ac信號可藉由控制電路42產生。因此,若Limit3位元經設定且存在三個使用中的核心,則AND閘48A可確證其輸出信號。若Limit4位元經設定且存在四個使用中的核心,則AND閘48B可確證其輸出信號。
經由多工器46A至46C進行之預設選擇可為第一輸入(其可為回應於用於多工器46B至46C之暫存器44A中的值及用於多工器46A之暫存器44A的輸出而自資料表40輸出的資料)。若來自AND閘48A至48B之多工器選擇皆不被確證,則可選擇預設輸出。
在此實施例中,資料表40包括超出DVFM狀態項目的額外項目。若當前操作點限制使用中的處理器之最大數目且最大數目係使用中的(或變為使用中的),則此等額外項目可儲存待使用之所減少的操作點。更特定而言,3rdCoreMax項目可儲存描述對應於Limit3位元之所減少操作點的資料(當2個處理器為最大數目時)。4thCoreMax項目可儲存對應於Limit4位元之所減少操作點(當3個處理器為最大數目時)。4thCoreMax項目在使用期間相較於3rdCoreMax項目通常可儲存表示較低操作點的資料(依據每處理器的潛在功率消耗)。
資料表40可經組態以將來自3rdCoreMax及4thCoreMax項目的資料輸出至多工器46B至46C。來自3rdCoreMax項目之資料可回應於來 自AND閘48A之選擇的確證而被選擇,且來自4thCoreMax項目之資料可回應於來自AND閘48B之選擇的確證而被選擇。對應識別符可經由多工器46A來選擇,以識別當前操作點,同時目標操作點可保持於暫存器44A中。在一些實施例中,3rdCoreMax及4thCoreMax項目可並不藉由軟體經選擇作為所請求的操作點(例如,項目可不由可被寫入至暫存器44A的任何值來編索引)。在其他實施例中,項目亦可經由暫存器44A來選擇。在此等實施例中,3rdCoreMax及4thCoreMax項目之極限位元向量(Limit3及Limit4欄位)可經提供,且經適當地程式化(或可硬接線至3rdCoreMax項目的Limit3 1、Limit4 1以及4thCoreMax項目的Limit3 0、Limit4 1)。
請注意,雖然AND閘48A至48B在圖2中說明為與控制電路42分離,但AND閘48A至48B可為控制電路42的部分。此外,任何其他邏輯實施可替代AND閘48A至48B而使用,包括AND閘48A至48B的任何布林(Boolean)等效物。
暫存器44B至44D可儲存描述當前操作點(或CPU複合體14轉變至的操作點,若轉變係在進展中)的資料。暫存器44B可儲存當前操作點之識別符(CPU複合體14之來自暫存器44A的所請求目標識別符,或更動識別符,若使用中的處理器之數目超出所請求操作點的最大值)。控制電路42可經耦接以接收暫存器44A至44B的輸出以判定針對各種APSC事件及DPE事件採取的行動。暫存器44C可儲存當前請求之供電電壓量值的指示,其可被輸送至PMGR電路32以傳達至PMU 156。類似地,當前請求之操作頻率的指示可自暫存器44D提供至時脈控制電路以設定CPU複合體14的操作頻率。時脈控制電路可為PMGR 32之部分、CPU複合體14的部分,或各種實施例中SOC 10內的其他地方。
現轉至圖3,展示說明APSC 16(且更特定而言包括AND閘48A至48B之控制電路42)之一項實施例之操作的流程圖。雖然為易於理解以 特定次序來展示區塊,但可使用其他次序。區塊可在APSC 16/控制電路42中之組合邏輯中並行地執行。區塊、區塊之組合及/或流程圖總體上在需要時可在多個時脈循環上進行管線作業。APSC 16及/或控制電路42可經組態以實施說明於圖3中的操作。
如先前所提及,APSC 16/控制電路42可接收CPU複合體14中的各種APSC事件。APSC事件可包括處理器啟動及撤銷啟動事件。若處理器啟動事件發生(決策區塊50,「是」支線),則APSC 16/控制電路42可更新其使用中的處理器的計數。若使用中的處理器之經更新數目可潛在地超出PMU極限(決策區塊52,「是」支線),則APSC 16/控制電路42可經由多工器46A至46C選擇正確CoreMax功率狀態(或操作點)以減少當前操作點,從而防止超出PMU極限的可能(區塊54)。在本實施例中,若來自當前所選擇目標項目中之位元向量的對應極限位元經設定,則使用中的處理器的經更新數目可超出PMU極限。在一些實施例中,一個以上此轉變可發生。舉例而言,若目標操作點為圖2中的DVFM狀態3且兩個處理器最初為使用中的,則可建立目標操作點。因此,第三處理器之啟動可引起操作點至3rdCoreMax狀態的減少。在處於3rdCoreMax狀態同時(或甚至在轉變至3rdCoreMax狀態同時),第四處理器可啟動且引起至4thCoreMax狀態的轉變。
轉變至減少之狀態可花費時間。舉例而言,約4.5毫秒可用以減少操作頻率,且接著約5毫秒可用以減少供電電壓量值。在轉變時間期間,新啟動之處理器可開始執行,此情形可導致PMU極限被超出,直至建立減少之操作點。為了防止此情形,APSC 16/控制電路42可使用時脈除法器(例如,使時脈頻率除以2或某其他整數)來減少操作頻率。舉例而言,此操作頻率改變相較於如指定於不同操作點中之頻率之間的改變可更快速地達成,此情形可需要重新鎖定鎖相迴路(PLL)至新時脈頻率。即,將除法器改變至係當前整數之2之冪的不同整數 可不改變時脈信號的相位,且因此PLL鎖定可不失去且不需要被重新獲取。減少之頻率可保持有效,直至至減少之操作點的轉變完成。
若APSC事件為處理器之撤銷啟動(決策區塊58,「否」支線),則控制電路42可更新使用中的處理器的數目。若當前操作點為減少之操作點中的一者,則可為安全的是基於使用中的處理器之經更新數目返回至目標操作點或較高操作點中的一者(例如,3rdCoreMax狀態,若當前操作點為4thCoreMax狀態)。若經更新數目指示可使用較高操作點(決策區塊60,「是」支線),則APSC 16/控制電路42可經由多工器46A至46C來選擇新操作點(區塊62)。
如由暫存器44A中之TgtSel值所表示,可影響當前操作點之另一類型的APSC事件為所選擇操作點的改變。控制電路42可監視暫存器44A以偵測改變,或軟體可更新另一暫存器以指示操作點的改變,該改變可為APSC事件。若TgtSel經改變以指示不同操作點(決策區塊64),則不同操作點可潛在地導致PMU極限對於當前使用中的處理器被超出。因此,若改變了TgtSel(決策區塊64,「是」支線)且新選擇操作點結合當前活動處理器的數目指示,PMU極限可被潛在地超出(決策區塊66,「是」支線),則類似於以上論述,APSC 16/控制電路42可經由多工器46A至46C選擇正確CoreMax狀態,且可減少操作頻率,直至轉變完成(區塊68及70)。若新選擇之操作點在當前使用中的處理器之數目情況下可不導致PMU極限被超出(決策區塊66,「否」支線),則APSC 16/控制電路42可選擇TgtSel操作點,且可轉變至所選擇操作點(區塊72)。
如先前所提及,一些實施例亦可使用DPE電路20,且此等實施例可准許3rdCoreMax及4thCoreMax項目被程式化至相較於在不包括DPE電路20情況下將被准許之操作點較高的操作點(較高供電電壓量值及操作頻率)。圖4為說明結合APSC 16使用之DPE電路20之一項實施例 之操作的流程圖。雖然為易於理解以特定次序來展示區塊,但可使用其他次序。區塊可在DPE電路20中之組合邏輯中並行地執行。區塊、區塊之組合及/或流程圖總體上在需要時可在多個時脈循環上進行管線作業。DPE 20可經組態以實施說明於圖4中的操作。
DPE電路20可監視CPU複合體14中之使用中的處理器,且可經組態以形成功率消耗之數位評估(區塊80)。數位評估可以任何樣式來產生。舉例而言,DPE電路20可經組態以與處理器一起監視各種區塊(例如,管線級、執行單元、其他微型架構區塊等)。DPE電路可經組態以偵測來自每一區塊之活動層級、事件或任何其他活動量測,且可評估由經監視活動消耗之功率。DPE電路20可(例如)藉由針對每一經監視活動之數字因數而可程式化,且可對針對每一活動之因數求和以形成評估。在一些實施例中,評估可經按比例調整至當前操作頻率及供電電壓量值。DPE電路20可經組態以判定使用中的處理器之功率評估是否指示PMU極限可被超出(決策區塊82)。若PMU極限被超出(決策區塊82,「是」支線),則DPE電路20可經組態以對一或多個使用中的處理器進行節流(區塊84)。
請注意,在一些實施例中,DPE電路20亦可經組態以判定處理器是否已被節流超出臨限數目次。偵測此操作可指示,CPU複合體14正經歷最差狀況功率消耗,且因此可指示其他減少之操作點可為所要的以減少節流。在一實施例中,DPE電路20可產生DPE事件至控制電路42以請求此改變。在此等實施例中,DPE電路20亦可偵測到,DPE電路20尚未對處理器進行節流高於臨限數目次,且若操作點先前被進一步減少則可產生DPE事件以使操作點返回至先前層級。下文更詳細地論述一些此等實施例。
現轉至圖5,展示CPU複合體14之一部分的一項實施例的方塊圖。在所說明實施例中,CPU複合體14包括DPE電路20、處理器28及 遲滯計數器90。DPE電路20耦接至處理器28及遲滯計數器90,且提供DVFM請求。處理器28中之一者展示為包括區塊92A至92D。其他處理器28可為類似的。DPE電路20可包括一或多個功率臨限值暫存器94及比較器96。遲滯計數器90可包括逐加計數器(up counter)98、逐減計數器(down counter)100,及暫存器102中的一或多個計數臨限值。
區塊92A至92D可實施處理器28的各種子功能。舉例而言,區塊92A至92D可為處理器28的管線級。區塊92A至92D可為處理器28內的執行單元。區塊92A至92D除了為執行單元以外亦可為其他微型架構元件(例如,快取記憶體、解碼單元、分支預測硬體、重新命名硬體、重新排序緩衝器、排程器、保留站等)。可按需要進行任何區塊分割。每一區塊92A至92D可將一或多個活動指示符(AI)提供至DPE電路20。在一些實施例中,並非所有區塊92A至92D可提供活動指示符。處理器28中之區塊的數目在實施例之間可發生變化。
基於活動指示符,DPE電路20可經組態以產生對處理器28的功率評估。DPE電路可經組態以比較功率評估與來自暫存器94的功率臨限值。若功率評估超出功率臨限值,則DPE電路20可經組態以對處理器28中的一或多者進行節流。舉例而言,DPE電路20可對正消耗最多功率的處理器28進行節流。替代地,DPE電路20可對處理器28同等地進行節流。至區塊92A至92D之節流指示可對各種區塊進行節流。在一些實施例中,並非所有區塊92A至92D可接收到節流指示。此外,DPE電路20可組態以向遲滯計數器90發信號,功率評估超出功率臨限值。若功率評估並不超出功率臨限值,則DPE電路20可並不對處理器28進行節流,且可向遲滯計數器90發信號,功率評估器並不超出功率臨限值。替代地,功率臨限值暫存器94可儲存第二功率臨限值,且比較器96可比較第二功率臨限值與功率評估值,且向遲滯計數器90發信號,功率評估並不超出第二功率臨限值。第二功率臨限值可經程式化 為低於此段落中較早提及的其他功率臨限值。
功率臨限值可基於PMU 156之能力經程式化,且可包括保護條帶效應以確保PMU能力不被超出。接著,若DPE電路20經單獨使用,則功率臨限值在DPE電路20結合APSC 16使用之實施例中可經不同地程式化(例如,臨限值在結合APSC 16使用時可較高)。
遲滯計數器可經組態以回應於功率臨限值已被超出的信號而使逐加計數器98遞增,且可經組態以回應於功率臨限值尚未被超出而使逐減計數器遞增。可比較計數與來自臨限值暫存器102之計數臨限值,且遲滯計數器90可經組態以在臨限值被超出情況下向DPE電路20發信號。若臨限值被逐加計數器超出,則DPE電路20可經組態以產生DVFM請求以減少操作點。若臨限值被逐減計數器超出,則DPE電路20可經組態以在操作點先前已被減少情況下產生還原操作點的DVFM請求。在一些實施例中,在暫存器102中可存在用於逐加計數器98及逐減計數器100的分離計數臨限值。在其他實施例中,可使用相同臨限值。
在一項實施例中,遲滯計數器90可經組態以在使逐加計數器遞增時清除逐減計數器,且反之亦然。因此,逐加計數器98可為在無並未超出功率臨限值(或第二功率臨限值)的介入評估情況下超出功率臨限值的連續功率評估之數目的計數。類似地,逐減計數器100可為在無超出功率臨限值的介入功率評估情況下並未超出功率臨限值(或第二功率臨限值)的連續功率評估之數目的計數。以此方式,在引起DVFM轉變之前可存在功率評估上的遲滯。功率評估可花費對處理器28計時之時脈的每一時脈循環。替代地,功率評估可基於貫穿間隔之活動而以較低間隔進行。
現轉至圖6,展示說明DVFM硬體及/或軟體以與DPE電路20互動之一項實施例之操作的流程圖。雖然為易於理解以特定次序來展示區 塊,但可使用其他次序。對於以硬體(例如,在各種實施例中,APSC 16及/或PMGR 32)實施之彼等特徵,區塊可在DVFM硬體中在組合邏輯中並行地執行。區塊、區塊之組合及/或流程圖總體上在需要時可在多個時脈循環上進行管線作業。DVFM硬體可經組態以實施說明於圖6中的操作。對於以軟體實施之彼等特徵,軟體碼可包括可執行(例如,藉由處理器28中之一者)以實施所描述特徵之操作的指令。
DVFM硬體/軟體可選擇CPU複合體14的操作點(區塊110)。多種因數可影響操作點的選擇。舉例而言,待執行之任務的排程可影響選擇。若存在待執行之更多工作,則可需要較高操作點(因為較高操作點應導致較高效能)。另一方面,若存在很少任務來執行,則可選擇較低操作點來節省功率。系統之可用能量(例如,插入至壁式插座中對電池功率,及保持電池功率的可用量)可為影響所要操作點的因數。在一些狀況下,熱問題可導致減少之操作點。
若足夠處理器為使用中的,則DVFM硬體/軟體可判定CPU複合體14是否可潛在地超出操作點處的PMU極限(決策區塊112)。若超出操作點處的PMU極限(決策區塊112,「是」支線),則DVFM硬體/軟體可啟用DPE電路20以監視使用中的處理器(區塊114)。在一些實施例中,DVFM硬體/軟體亦可程式化DPE電路20中之功率臨限值及遲滯計數器90中的計數臨限值(區塊116)。在一些實施例中,功率臨限值及/或計數臨限值可基於所選擇操作點而發生變化,且每當DPE電路20經啟用時可經程式化。在其他實施例中,臨限值對於每一操作點可為相同的,且其(例如)在SOC 10之初始化期間可被程式化一次。若CPU複合體14在所選擇操作點處可不超出PMU極限(決策區塊112,「否」支線),則DVFM硬體/軟體可停用DPE電路20,此係由於不需要監視(區塊118)。在任一狀況下,DVFM硬體/軟體可起始至所選擇操作點的改 變(區塊119)。
現轉至圖7,展示說明DPE電路20及遲滯計數器90之一項實施例之操作的流程圖。雖然為易於理解以特定次序來展示區塊,但可使用其他次序。區塊在DPE電路20及/或遲滯計數器90中在組合邏輯中可並行地執行。區塊、區塊之組合及/或流程圖總體上在需要時可在多個時脈循環上進行管線作業。DPE電路20及/或遲滯計數器90可經組態以實施說明於圖7中的操作。
DPE電路20(在啟用時)可經組態以監視處理器28中之處理器活動,且產生功率評估(區塊120)。DPE電路20可經組態以比較評估與較高功率臨限值(決策區塊122)及低功率臨限值(決策區塊128)。高功率臨限值可為功率臨限值,DPE電路20比較功率評估與該功率臨限值,以判定在兩個臨限值經實施時是否超出功率臨限值。低臨限值可為功率臨限值,DPE電路20比較功率評估與該功率臨限值,以在實施兩個臨限值時判定是否可准許至較高操作點的返回。在一些實施例中,可實施僅一個臨限值,且可進行與單一臨限值的比較(大於/小於)。
若功率評估超出高功率臨限值(決策區塊122,「是」支線),則DPE電路20可經組態以對處理器28進行節流(區塊124)。另外,DPE電路20可經組態以向遲滯計數器90進行發信號,此情形可經組態以使逐加計數器98遞增,且清除逐減計數器100(區塊126)。另一方面,若功率評估小於低臨限值(決策區塊128,「是」支線),則DPE電路20可經組態以向遲滯計數器90發信號,其可經組態以使逐減計數器100遞增且清除逐加計數器98(區塊130)。
遲滯計數器90可經組態以比較逐加計數器98及逐減計數器100中之逐加計數及逐減計數與臨限值暫存器102中的計數臨限值(或在實施情況下針對逐加計數器及逐減計數器的分離臨限值)。若逐加計數超 出計數臨限值(決策區塊132,「是」支線),則遲滯計數器90可向DPE電路20發信號,此情形可向DVFM硬體發信號以改變至較低操作點(區塊134)。若逐減計數器136超出計數臨限值(決策區塊136,「是」支線),則遲滯計數器90可向DPE電路20發信號,此情形可向DVFM硬體發信號以在操作點基於逐加計數先前已被減少情況下還原較高操作點(區塊138)。在包括APSC 16之實施例中,DVFM硬體可為APSC 16。在其他實施例中,APSC 16可能不被包括,且DVFM硬體可係在PMGR 32中。
接著轉至圖8,展示系統150之一項實施例的方塊圖。在所說明實施例中,系統150包括耦接至一或多個周邊裝置154及外部記憶體12之SOC 10的至少一個個例。提供PMU 156,PMU 156將供電電壓供應至SOC 10以及將一或多個供電電壓供應至記憶體12及/或周邊裝置154。在一些實施例中,SOC 10之一個以上個例可被包括(且一個以上記憶體12可又被包括)。
視系統150之類型而定,周邊裝置154可包括任何所要電路。舉例而言,在一項實施例中,系統150可為行動器件(例如,個人數位助理(PDA)、智慧型電話等),且周邊裝置154可包括用於各種類型之無線通信(諸如,wifi、藍芽、蜂巢式、全球定位系統等)的器件。周邊裝置154亦可包括額外儲存器,包括RAM儲存器、固態儲存器,或磁碟儲存器。周邊裝置154可包括使用者介面器件,諸如顯示螢幕(包括觸控顯示螢幕或多點觸控顯示螢幕)、鍵盤或其他輸入器件、麥克風、揚聲器等。在其他實施例中,系統150可為任何類型之計算系統(例如,桌上型個人電腦、膝上型電腦、工作站、桌上型易網機(net top)等)。
外部記憶體12可包括任何類型之記憶體。舉例而言,外部記憶體12可為SRAM,諸如同步DRAM(SDRAM)、雙資料速率(DDR、 DDR2、DDR3等)SDRAM、RAMBUS DRAM、DDR DRAM之低功率版本(例如,LPDDR、mDDR等)之動態RAM(DRAM)等。外部記憶體12可包括記憶體器件安裝至之一或多個記憶體模組,諸如單列直插式記憶體模組(SIMM)、雙列直插式記憶體模組(DIMM)等。替代地,外部記憶體12可包括在晶片堆疊或封裝堆疊實施中掛接於SOC 10上的一或多個記憶體器件。
對於熟習此項技術者而言,一旦已完全瞭解了上述揭示內容,眾多變化及修改便將變得顯而易見。意欲將以下申請專利範圍解譯為為涵蓋所有此等變化及修改。
14‧‧‧中央處理單元(CPU)複合體
20‧‧‧數位功率評估器(DPE)電路
28‧‧‧CPU處理器
90‧‧‧遲滯計數器
92A‧‧‧區塊
92B‧‧‧區塊
92C‧‧‧區塊
92D‧‧‧區塊
94‧‧‧功率臨限值暫存器
96‧‧‧比較器
98‧‧‧逐加計數器
100‧‧‧逐減計數器
102‧‧‧暫存器
AI‧‧‧活動指示符

Claims (20)

  1. 一種裝置,其包含:複數個處理器;一監視電路,其耦接至該複數個處理器且經組態以監視該複數個處理器中的使用中的處理器,其中該監視電路經組態以在該複數個處理器之一所選擇操作點處偵測到由處理器核心消耗之功率潛在地超出將電壓及電流供應至該複數個處理器之一功率管理單元的一能力,且其中該監視電路經組態以回應於該偵測而啟用一數位功率評估器(DPE)電路;及耦接至該複數個處理器之一數位功率評估器(DPE)電路,其中該DPE經組態以監視該等處理器中之每一者中的活動且經組態以評估由該複數個處理器消耗的一功率量,其中該DPE電路經組態以比較該所評估功率量與一臨限值,且回應於該所評估量超出該臨限值,該DPE電路經組態以對該複數個處理器中之一或多個使用中的處理器進行節流,其中該節流限制該等使用中的處理器對指令之執行同時准許指令執行在該等經節流之使用中的處理器中繼續。
  2. 如請求項1之裝置,其進一步包含耦接至該DPE電路之一遲滯計數器,且其中該DPE電路經組態以使得該遲滯計數器回應於偵測到該所評估量超出該臨限值而使一逐加計數遞增,且其中該DPE電路經組態以回應於該逐加計數而產生一請求以減少該複數個處理器的一操作點。
  3. 如請求項2之裝置,其中該DPE電路經進一步組態以偵測到該所評估量小於一第二臨限值,且其中該DPE電路經組態以使得該遲滯計數器回應於偵測到該所評估量小於該第二臨限值而使一逐 減計數遞增,且其中該DPE電路經組態以回應於該逐減計數而產生一請求以還原該複數個處理器的該操作點。
  4. 如請求項3之裝置,其中該遲滯計數器經組態以偵測到該逐減計數超出一計數臨限值,且其中該DPE電路經組態以回應於該逐減計數超出該計數臨限值而產生該請求以還原該操作點。
  5. 如請求項4之裝置,其中該遲滯計數器經組態以偵測到該逐加計數超出該計數臨限值,且其中該DPE電路經組態以回應於該逐加計數超出該計數臨限值而產生該請求以減少該操作點。
  6. 如請求項3之裝置,其中該DPE電路經進一步組態以回應於偵測到該所評估量超出該臨限值而使得該逐減計數被清除,且其中該DPE電路經進一步組態以回應於偵測到該所評估量小於該第二臨限值而使得該逐加計數被清除。
  7. 一種方法,其包含:監視一系統單晶片(SOC)中複數個處理器中的使用中的處理器;若第一數目以上之複數個處理器核心為使用中的,則在該複數個處理器之一所選擇操作點處偵測到由該等處理器核心消耗之功率潛在地超出將電壓及電流供應至該SOC之一功率管理單元的一能力;回應於該偵測而啟用一數位功率評估器(DPE)電路;及回應於該DPE電路評估高於一臨限值的該功率消耗而限制該等使用中的處理器核心中之一或多者上的指令執行。
  8. 如請求項7之方法,其中該限制減少指令執行之一有效速率,但繼續准許某指令執行。
  9. 如請求項8之方法,其中該限制減少相較於其他指令在執行期間消耗更多功率之一指令集的指令執行之一速率。
  10. 如請求項7之方法,其進一步包含:程式化所評估功率消耗之一臨限值,該DPE電路在該臨限值以上引起該限制;回應於該所評估功率消耗超出該臨限值而使一遲滯計數器中的一逐加計數器遞增;及回應於該逐加計數而產生一請求以減少該複數個處理器的一操作點。
  11. 如請求項10之方法,其進一步包含:程式化所評估功率消耗的一第二臨限值;回應於該所評估功率消耗低於該臨限值而使一遲滯計數器中的一逐減計數器遞增;及回應於該逐減計數器而產生一請求以在減少該複數個處理器之一操作點之後使該操作點返回至一先前位準。
  12. 如請求項11之方法,其中該產生一請求以返回包含:偵測到該逐減計數超出一計數臨限值;及回應於偵測到該逐減計數超出該計數臨限值而產生該請求。
  13. 如請求項12之方法,其中該產生一請求以減少包含:偵測到該逐加計數超出一第二計數臨限值;及回應於偵測到該逐加計數超出該第二計數臨限值而產生該請求以減少該操作點。
  14. 如請求項7之方法,其進一步包含:偵測一請求以將該所選擇操作點改變至一不同操作點;若第二數目個以上之該複數個處理器核心為使用中的,則判定到由該等處理器核心消耗之該功率潛在地超出將電壓及電流供應至該SOC之該功率管理單元的一能力;及若第二數目個以上之該複數個處理器核心為使用中的,則回 應於判定到由該等處理器核心消耗之該功率潛在地超出將電壓及電流供應至該SOC之該功率管理單元的一能力而程式化由該DPE電路進行之所評估功率消耗的一或多個臨限值,該一或多個臨限值使得該DPE電路限制指令執行。
  15. 如請求項7之方法,其進一步包含:偵測一請求以將該所選擇操作點改變至一不同操作點;若第二數目個以上之該複數個處理器核心為使用中的,則判定到由該等處理器核心在該不同操作點處消耗之該功率將不超出將電壓及電流供應至該SOC之該功率管理單元的一能力;及回應於判定到由該等處理器核心在該不同操作點處消耗之該功率將不超出該能力而停用該DPE。
  16. 一種系統,其包含:一功率管理單元,其經組態以將複數個電壓供應至一系統單晶片(SOC),其中該複數個電壓中之一第一電壓供應給該SOC中包括複數個處理器的一處理器複合體;及耦接至該功率管理單元之該SOC,該SOC包含該處理器複合體及一功率控制電路,該功率控制電路經組態以請求該複數個電壓的電壓量值,其中該處理器複合體包括耦接至該處理器複合體中之複數個處理器,其中監視電路經組態監視該複數個處理器中的使用中的處理器,其中該監視電路經組態以在該複數個處理器之一所選擇操作點處偵測到由處理器核心消耗之功率潛在地超出將電壓及電流供應至該複數個處理器之一功率管理單元的一能力,且其中該監視電路經組態以回應於該偵測而啟用一數位功率評估器(DPE)電路,且其中該處理器複合體進一步包括該數位功率評估器(DPE)電路,該DPE電路經組態以監視該複數個處理器且評估由該複數個處理器消耗的一功率量,且其中 回應於偵測到該所評估量超出取決於該第一電壓之電壓量值及該複數個處理器之一操作頻率的一臨限量,該DPE電路經組態以對該複數個處理器中之一或多個使用中的處理器進行節流。
  17. 如請求項16之系統,其中該DPE電路經進一步組態以回應於該所評估量超出該臨限量而請求一減少之電壓量值及一減少之操作頻率。
  18. 如請求項17之系統,其中該DPE電路經組態以回應於該所評估量超出該臨限量達一可組態次數而請求該減少之電壓量值及該減少之操作頻率。
  19. 如請求項18之系統,其中該DPE電路經組態以回應於該DPE電路偵測到該所評估量並未超出一第二臨限量達一可組態次數而請求至實際上在該減少之電壓量值及該減少之操作頻率之前的該電壓量值及該操作點的一返回。
  20. 如請求項19之系統,其進一步包含一遲滯計數器,該遲滯計數器耦接至該DPE電路且經組態以對該可組態次數進行計數以觸發該減少之電壓量值及該減少之操作頻率並觸發該返回。
TW103116632A 2013-06-21 2014-05-09 控制處理器功率消耗之數位功率評估器 TWI522801B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/924,180 US9195291B2 (en) 2013-06-21 2013-06-21 Digital power estimator to control processor power consumption

Publications (2)

Publication Number Publication Date
TW201508480A true TW201508480A (zh) 2015-03-01
TWI522801B TWI522801B (zh) 2016-02-21

Family

ID=50884489

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103116632A TWI522801B (zh) 2013-06-21 2014-05-09 控制處理器功率消耗之數位功率評估器

Country Status (3)

Country Link
US (2) US9195291B2 (zh)
TW (1) TWI522801B (zh)
WO (1) WO2014204572A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI581106B (zh) * 2015-03-06 2017-05-01 威盛電子股份有限公司 Usb晶片組
US9953393B2 (en) 2015-11-13 2018-04-24 Industrial Technology Research Institute Analyzing method and analyzing system for graphics process of graphic application program
US10061735B2 (en) 2015-03-06 2018-08-28 Via Technologies, Inc. USB chipset
TWI650964B (zh) * 2017-12-15 2019-02-11 瑞昱半導體股份有限公司 偵測訊號功率的裝置及方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9304573B2 (en) 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9389675B2 (en) * 2013-12-19 2016-07-12 International Business Machines Corporation Power management for in-memory computer systems
US9851777B2 (en) 2014-01-02 2017-12-26 Advanced Micro Devices, Inc. Power gating based on cache dirtiness
US20150186160A1 (en) * 2014-01-02 2015-07-02 Advanced Micro Devices, Inc. Configuring processor policies based on predicted durations of active performance states
US9720487B2 (en) 2014-01-10 2017-08-01 Advanced Micro Devices, Inc. Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
JP5986138B2 (ja) * 2014-05-09 2016-09-06 レノボ・シンガポール・プライベート・リミテッド 複数のプロセッサに電力を供給する電源装置の出力を制御する方法、電源システムおよび情報処理装置
TWI653527B (zh) * 2014-12-27 2019-03-11 美商英特爾公司 當計算元件運作時致能系統低電力狀態之技術
US9600052B2 (en) * 2015-03-17 2017-03-21 Sony Mobile Communications Inc. Peak current handler
US9502082B1 (en) * 2015-06-24 2016-11-22 Intel Corporation Power management in dual memory platforms
US9798375B1 (en) 2016-01-05 2017-10-24 Apple Inc. Credit-based processor energy consumption rate limiting system
US10423202B2 (en) 2016-04-07 2019-09-24 Intel Corporation System power management
US10133341B2 (en) * 2016-06-06 2018-11-20 Arm Limited Delegating component power control
US10437313B2 (en) 2016-06-10 2019-10-08 Apple Inc. Processor unit efficiency control
US10613611B2 (en) * 2016-06-15 2020-04-07 Intel Corporation Current control for a multicore processor
US10739842B2 (en) 2017-04-01 2020-08-11 Intel Corporation Power management and protection
US10656700B2 (en) * 2017-07-10 2020-05-19 Oracle International Corporation Power management in an integrated circuit
US11029859B2 (en) * 2017-08-23 2021-06-08 Toshiba Memory Corporation Credit based command scheduling
DE112017007855T5 (de) * 2017-09-28 2020-04-23 Intel Corporation Spitzenleistungsbestimmung für eine vorrichtung mit integrierter schaltung
US11231761B2 (en) 2017-09-29 2022-01-25 Intel Corporation Power monitoring for a processing platform
US11256313B2 (en) 2017-10-10 2022-02-22 Schneider Electric It Corporation Methods and systems for dynamic backup power management at a power node
US11258293B2 (en) 2017-10-10 2022-02-22 Schneider Electric It Corporation Methods and systems for backup power management at a power device
US10790682B2 (en) 2018-03-30 2020-09-29 Intel Corporation Hybrid power boost charging with peak power protection
US11188348B2 (en) * 2018-08-31 2021-11-30 International Business Machines Corporation Hybrid computing device selection analysis
US10969858B2 (en) 2019-01-03 2021-04-06 Apple Inc. Operation processing controlled according to difference in current consumption
US11054882B2 (en) 2019-02-21 2021-07-06 Apple Inc. Externally-triggered throttling
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
US11698671B2 (en) 2021-09-22 2023-07-11 Apple Inc. Peak power management for processing units
WO2023101663A1 (en) * 2021-12-01 2023-06-08 Picoai Limeted Method and apparatus of power control based on block activities
US11836026B1 (en) 2022-02-17 2023-12-05 Apple Inc. System-on-chip with DVFM protection circuit

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US7111178B2 (en) 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6931559B2 (en) 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7281140B2 (en) * 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US7814350B2 (en) 2002-10-03 2010-10-12 Via Technologies, Inc. Microprocessor with improved thermal monitoring and protection mechanism
US7290161B2 (en) 2003-03-24 2007-10-30 Intel Corporation Reducing CPU and bus power when running in power-save modes
US7437581B2 (en) 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US7681054B2 (en) 2006-10-03 2010-03-16 International Business Machines Corporation Processing performance improvement using activity factor headroom
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7793125B2 (en) * 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
US7930574B2 (en) 2007-12-31 2011-04-19 Intel Corporation Thread migration to improve power efficiency in a parallel processing environment
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US20090271646A1 (en) 2008-04-24 2009-10-29 Vanish Talwar Power Management Using Clustering In A Multicore System
US20110213950A1 (en) 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization
US8892916B2 (en) 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management
US8127160B2 (en) 2008-10-13 2012-02-28 International Business Machines Corporation Dynamic frequency and voltage scaling for a computer processor
US8386816B2 (en) 2008-10-30 2013-02-26 Nokia Corporation Methods, apparatuses, and computer program products for reducing power consumption in computing devices
US8788850B1 (en) * 2009-01-22 2014-07-22 Marvell International Ltd. Systems and methods for using a security circuit to monitor a voltage of an integrated circuit to counter security threats to the integrated circuit
US7915910B2 (en) 2009-01-28 2011-03-29 Apple Inc. Dynamic voltage and frequency management
US8190930B2 (en) 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
CN104536555B (zh) 2009-03-30 2017-05-24 高通股份有限公司 自适应电压定标
US8171319B2 (en) 2009-04-16 2012-05-01 International Business Machines Corporation Managing processor power-performance states
US8892931B2 (en) 2009-10-20 2014-11-18 Empire Technology Development Llc Power channel monitor for a multicore processor
KR101620103B1 (ko) 2009-10-21 2016-05-13 삼성전자주식회사 멀티 코어 시스템에서 중앙 처리 장치의 전력 제어 장치 및 방법
US8364997B2 (en) 2009-12-22 2013-01-29 Intel Corporation Virtual-CPU based frequency and voltage scaling
US8271812B2 (en) 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8381006B2 (en) 2010-04-08 2013-02-19 International Business Machines Corporation Reducing power requirements of a multiple core processor
US8381004B2 (en) 2010-05-26 2013-02-19 International Business Machines Corporation Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
US8484498B2 (en) 2010-08-26 2013-07-09 Advanced Micro Devices Method and apparatus for demand-based control of processing node performance
US8793512B2 (en) 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US8756442B2 (en) * 2010-12-16 2014-06-17 Advanced Micro Devices, Inc. System for processor power limit management
US9176550B2 (en) 2010-12-23 2015-11-03 Intel Corporation Thermally downward scalable system
US9086883B2 (en) 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
US8650428B2 (en) 2011-07-19 2014-02-11 Ati Technologies Ulc Dynamic weight calculation in a digital power estimation and management system
US20130097415A1 (en) 2011-10-12 2013-04-18 Qualcomm Incorporated Central Processing Unit Monitoring and Management Based On A busy-Idle Histogram
US9137848B2 (en) 2012-01-31 2015-09-15 Lg Electronics Inc. Mobile terminal, controlling method thereof and recording medium thereof
US9471795B2 (en) 2012-10-11 2016-10-18 Automatic Labs, Inc. System and method providing permission based access to automotive computers
KR102070087B1 (ko) 2013-04-29 2020-01-30 삼성전자주식회사 반도체 소자 제조방법
US9304573B2 (en) 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9772676B2 (en) 2014-02-26 2017-09-26 Advanced Micro Devices, Inc. Adaptive voltage scaling based on stage transitions or ring oscillator revolutions
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI581106B (zh) * 2015-03-06 2017-05-01 威盛電子股份有限公司 Usb晶片組
US10061735B2 (en) 2015-03-06 2018-08-28 Via Technologies, Inc. USB chipset
US9953393B2 (en) 2015-11-13 2018-04-24 Industrial Technology Research Institute Analyzing method and analyzing system for graphics process of graphic application program
TWI650964B (zh) * 2017-12-15 2019-02-11 瑞昱半導體股份有限公司 偵測訊號功率的裝置及方法

Also Published As

Publication number Publication date
US20140380072A1 (en) 2014-12-25
US9195291B2 (en) 2015-11-24
US9817469B2 (en) 2017-11-14
US20160041608A1 (en) 2016-02-11
WO2014204572A1 (en) 2014-12-24
TWI522801B (zh) 2016-02-21

Similar Documents

Publication Publication Date Title
TWI522801B (zh) 控制處理器功率消耗之數位功率評估器
TWI536158B (zh) 基於使用中處理器之動態電壓及頻率管理
CN110109527B (zh) 动态电压裕度恢复
US8656196B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US9104421B2 (en) Training, power-gating, and dynamic frequency changing of a memory controller
CN110573991B (zh) 架构状态保留