TWI536158B - 基於使用中處理器之動態電壓及頻率管理 - Google Patents

基於使用中處理器之動態電壓及頻率管理 Download PDF

Info

Publication number
TWI536158B
TWI536158B TW103116144A TW103116144A TWI536158B TW I536158 B TWI536158 B TW I536158B TW 103116144 A TW103116144 A TW 103116144A TW 103116144 A TW103116144 A TW 103116144A TW I536158 B TWI536158 B TW I536158B
Authority
TW
Taiwan
Prior art keywords
processors
operating point
power
processor
control circuit
Prior art date
Application number
TW103116144A
Other languages
English (en)
Other versions
TW201508466A (zh
Inventor
鍾碩 李
丹尼爾C 慕瑞
練維漢
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 TW201508466A publication Critical patent/TW201508466A/zh
Application granted granted Critical
Publication of TWI536158B publication Critical patent/TWI536158B/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/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
    • 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
    • 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
    • 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
    • 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
    • G06F1/3215Monitoring of peripheral devices
    • 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
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

基於使用中處理器之動態電壓及頻率管理
本發明係關於處理器中之功率管理。
可併入於給定半導體基板上以形成積體電路之電晶體的數目繼續增加。並行地,積體電路被操作之時脈頻率(「操作頻率」)亦繼續增加。儘管供電電壓量值已隨時間而減低,但積體電路之功率消耗已日益增加。在積體電路用於具有有限能量儲存之器件(例如,在電池上操作之行動器件)中的狀況下,功率消耗為器件在器件必須經再充電之前可使用多長時間的因數。另外,經由功率消耗產生之熱在行動器件及非行動器件中可為一問題。
包括處理器以執行軟體的器件可管理處理器中的功率消耗。通常,若在給定處理器上不存在當前需要執行之軟體,則該處理器可被停止。停止處理器可包括以下兩者:時脈閘控,其中時脈被停止但處理器保持供電,且準備好以在時脈經重新開始時執行指令;及功率閘控,其中處理器經斷電,且將供電並在執行指令之前進行重設。
包括行動器件的許多器件包括多個處理器。處理器亦可為顯著功率取用者,特別是在某些工作負荷下。因此,可存在數個操作點(供電電壓量值與操作頻率之組合),在該等操作點處,若所有處理器正在執行中,則器件處於超出器件中電源供應器之容量的風險。即, 電源供應器能夠起源最大電流量。若所有處理器在一些操作點處正在執行中功率密集型工作負荷,則所得電流汲取可超出電源供應器可提供的電流量。超出電源供應器之容量可引起錯誤操作(例如,供電電壓量值可下降至積體電路不再以操作頻率正確地操作所在的點)。
在一實施例中,一種系統可包括多個處理器及一自動功率狀態控制器(APSC),該自動功率狀態控制器(APSC)經組態以在各種操作點之間切換該等處理器。該等操作點可藉由程式化至該APSC中之資料來描述,且該APSC可包括一暫存器,該暫存器藉由一目標操作點請求而可程式化,該目標操作點請求自該等所描述操作點中識別用於該等處理器的一目標操作點。描述該等操作點之該資料亦可包括在該操作點處可同時係使用中之處理器之數目是否受到限制的一指示。基於該指示及使用中的處理器之該數目,該APSC可藉由一減少之操作點更動該所請求操作點。該減少之操作點可為該數目個使用中的處理器可安全地進行操作(例如,在不超出電源供應器之容量情況下)所在的一操作點。在一些實施例中,一數位功率評估器(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個經減少之操作點中的另一者,等等。替代地,可存在針對N個處理器經充分減少以在最差狀況功率消耗情況下係使用中的一個減少之操作點。處理器之最大數目可為操作點特定的。即,一個操作點可具有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上的一或多個記憶體器件。
對於熟習此項技術者而言,一旦已完全瞭解了上述揭示內容,眾多變化及修改便將變得顯而易見。意欲將以下申請專利範圍解譯為涵蓋所有此等變化及修改。
3Ac‧‧‧信號
4Ac‧‧‧信號
16‧‧‧自動功率狀態控制器
40‧‧‧動態電壓及頻率管理(DVFM)資料表
42‧‧‧控制電路
44A‧‧‧暫存器
44B‧‧‧暫存器
44C‧‧‧暫存器
44D‧‧‧暫存器
46A‧‧‧多工器
46B‧‧‧多工器
46C‧‧‧多工器
48A‧‧‧邏輯電路
48B‧‧‧邏輯電路

Claims (19)

  1. 一種裝置,其包含:複數個處理器;耦接至該複數個處理器之一功率控制電路,其中該功率控制電路藉由描述該複數個處理器之複數個操作點的資料而可程式化,且其中該資料進一步包括針對該複數個操作點之每一各別操作點的一指示,用於依該各別操作點指示對該複數個處理器中的使用中的處理器之一數目之一極限,其中若該等使用中的處理器消耗最差狀況功率,則超出在該各別操作點處之使用中的處理器之該極限會超出一功率管理單元之一能力,該功率管理單元提供功率至該複數個處理器,且其中該功率控制電路經組態以偵測到使用中的核心之該數目超出針對一所選擇操作點的該極限且回應於該偵測藉由一第二操作點更動該所選擇操作點。
  2. 如請求項1之裝置,其中該第二操作點相較於該所選擇操作點為一較低功率操作點。
  3. 如請求項2之裝置,其中該第二操作點中該複數個處理器的一時脈頻率低於該所選擇操作點中該複數個處理器的一時脈頻率。
  4. 如請求項2之裝置,其中該第二操作點中該複數個處理器的一供電電壓量值低於該所選擇操作點中該複數個處理器的一供電電壓量值。
  5. 如請求項1之裝置,其中該功率控制電路經組態以回應於該複數個處理器中之一第一處理器啟動而偵測到使用中的處理器的該數目超出該極限,且其中在該第一處理器啟動之一時間該所選擇操作點為一當前操作點。
  6. 如請求項1之裝置,其中該功率控制電路經組態以回應於將該複數個處理器之一當前操作點改變至該所選擇操作點的一請求而偵測到使用中的處理器的該數目超出該極限。
  7. 如請求項1之裝置,其中該功率控制電路經組態以回應於該複數個處理器中之一者撤銷啟動,同時該複數個處理器之一當前操作點係該第二操作點,而偵測到使用中的處理器的該數目小於該極限,且其中該功率控制電路經組態以回應於偵測到該撤銷啟動而改變至該所選擇操作點。
  8. 如請求項1之裝置,其中該複數個處理器及該功率控制電路整合至一積體電路中,且其中該積體電路進一步包含一功率管理器電路,該功率管理器電路經組態以在該積體電路外部傳達針對該積體電路之電源供應器電壓量值請求,且其中該功率管理器電路耦接以自該複數個處理器之該功率控制電路接收一所請求供電電壓量值,其中視該第二操作點是否正更動該所選擇操作點而藉由該所選擇操作點或該第二操作點來指定該所請求供電電壓量值。
  9. 如請求項1之裝置,其中該指示包含在超出該複數個操作點之一最高操作點處准許的一數目情況下針對處理器之每一數目的一位元向量,其中若設定一對應位元,則該對應數目超出該各別操作點處的該極限。
  10. 如請求項9之裝置,其中該功率控制電路支援包括該第二操作點的複數個更動操作點,其中該複數個更動操作點中的每一者對應於在該位元向量中表示的使用中的處理器之一不同數目。
  11. 如請求項1之裝置,其進一步包含一數位功率評估器,該數位功率評估器耦接至該複數個處理器且經組態以評估由該複數個處理器消耗之一功率量,且其中該數位功率評估器經組態以回應 於該功率量超出一臨限量而對該複數個處理器中的一或多者進行節流。
  12. 一種方法,其包含:監視一系統中複數個處理器中的使用中的處理器之一數目;偵測到該數目超出對於該複數個處理器之一目前操作點可准許的使用中的處理器之一最大數目,其中該偵測係回應於與該目前操作點相關聯的一指示,且其中若該等使用中的處理器消耗最差狀況功率,則超出在該目前操作點處之使用中的處理器之該最大數目會超出一功率管理單元之一能力,該功率管理單元提供功率至該複數個處理器;及回應於偵測到該數目超出該最大數目而將該目前操作點更動至一第二操作點。
  13. 如請求項12之方法,其中該偵測進一步回應於對啟動該複數個處理器中的當前係非使用中之一處理器的一請求。
  14. 如請求項12之方法,其進一步包含:偵測到當前使用中的處理器的該數目超出對於該複數個處理器之一所請求操作點可准許的使用中的處理器之該最大數目;及回應於該偵測而將該目前操作點改變至小於該所請求操作點的一第二操作點。
  15. 如請求項14之方法,其進一步包含:偵測該等使用中的處理器中之一者的一撤銷啟動,其中該撤銷啟動將使用中的處理器之該數目減少至對於該所請求操作點可准許的一數目;及回應於該偵測而將該目前操作點改變至該所請求操作點。
  16. 如請求項12之方法,其進一步包含: 偵測該等使用中的處理器中之一者的一撤銷啟動,其中該撤銷啟動將使用中的處理器之該數目減少至對於該目前操作點可准許的一數目;及回應於該偵測而還原該目前操作點。
  17. 一種系統,其包含:一功率管理單元,其經組態以將複數個供電電壓供應至一系統單晶片;及耦接至該功率管理單元之該系統單晶片,其中該系統單晶片包含:一功率管理器電路,其經組態以向該功率管理單元請求用於該複數個供電電壓的複數個供電電壓量值;及包含複數個處理器及耦接至該複數個處理器之一功率控制電路的一中央處理單元複合體,其中該功率控制電路經組態以回應於該複數個處理器中使用中的處理器的一數目超出與該複數個處理器的一操作點相關聯之使用中的處理器的一最大數目而自動地減少該操作點,且其中該功率控制電路經組態以回應於該減少而將一所請求供電電壓量值傳輸至該功率管理器電路,且其中若該等使用中的處理器消耗最差狀況功率,則超出在該操作點處之使用中的處理器之該最大數目會超出該功率管理單元之一能力。
  18. 如請求項17之系統,其進一步包含該功率控制電路,該功率控制電路回應於偵測到使用中的處理器之該數目小於或等於與該操作點相關聯之該最大數目而還原該操作點。
  19. 如請求項17之系統,其中該功率控制電路藉由表示複數個操作點及該最大數目之複數個指示的資料而可程式化,該複數個指示中的每一者與該複數個操作點中之一各別操作點相關聯。
TW103116144A 2013-06-21 2014-05-06 基於使用中處理器之動態電壓及頻率管理 TWI536158B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/924,164 US9304573B2 (en) 2013-06-21 2013-06-21 Dynamic voltage and frequency management based on active processors

Publications (2)

Publication Number Publication Date
TW201508466A TW201508466A (zh) 2015-03-01
TWI536158B true TWI536158B (zh) 2016-06-01

Family

ID=50733432

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103116144A TWI536158B (zh) 2013-06-21 2014-05-06 基於使用中處理器之動態電壓及頻率管理

Country Status (7)

Country Link
US (4) US9304573B2 (zh)
EP (1) EP3011450B1 (zh)
JP (1) JP6154071B2 (zh)
KR (1) KR101703467B1 (zh)
CN (1) CN105308571B (zh)
TW (1) TWI536158B (zh)
WO (1) WO2014204568A1 (zh)

Families Citing this family (33)

* 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
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
TWI653527B (zh) 2014-12-27 2019-03-11 美商英特爾公司 當計算元件運作時致能系統低電力狀態之技術
US9990024B2 (en) * 2015-09-09 2018-06-05 Qualcomm Incorporated Circuits and methods providing voltage adjustment as processor cores become active based on an observed number of ring oscillator clock ticks
US20170185128A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Method and apparatus to control number of cores to transition operational states
US10146286B2 (en) * 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
US10133341B2 (en) * 2016-06-06 2018-11-20 Arm Limited Delegating component power control
US10248186B2 (en) 2016-06-10 2019-04-02 Microsoft Technology Licensing, Llc Processor device voltage characterization
US10209726B2 (en) 2016-06-10 2019-02-19 Microsoft Technology Licensing, Llc Secure input voltage adjustment in processing devices
US10338670B2 (en) 2016-06-10 2019-07-02 Microsoft Technology Licensing, Llc Input voltage reduction for processing devices
US10310572B2 (en) 2016-06-10 2019-06-04 Microsoft Technology Licensing, Llc Voltage based thermal control of processing device
US10359833B2 (en) 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
JP2018106591A (ja) * 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、動作制御方法、及びプログラム
US10649518B2 (en) * 2017-01-26 2020-05-12 Ati Technologies Ulc Adaptive power control loop
US11231769B2 (en) 2017-03-06 2022-01-25 Facebook Technologies, Llc Sequencer-based protocol adapter
US10921874B2 (en) * 2017-03-06 2021-02-16 Facebook Technologies, Llc Hardware-based operating point controller for circuit regions in an integrated circuit
US10884811B2 (en) * 2017-06-04 2021-01-05 Apple Inc. Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping
US10474211B2 (en) * 2017-07-28 2019-11-12 Advanced Micro Devices, Inc. Method for dynamic arbitration of real-time streams in the multi-client systems
CN108158593B (zh) * 2017-12-26 2021-02-26 三诺生物传感股份有限公司 一种动态血糖仪的电源管理设备及电源管理方法
US11281281B2 (en) 2018-02-28 2022-03-22 Intel Corporation Controlling a processing performance level depending on energy expenditure
US11216556B2 (en) * 2018-12-17 2022-01-04 Intel Corporation Side channel attack prevention by maintaining architectural state consistency
US10969858B2 (en) 2019-01-03 2021-04-06 Apple Inc. Operation processing controlled according to difference in current consumption
US10936041B2 (en) * 2019-03-29 2021-03-02 Intel Corporation Adjusting a throttling threshold in a processor
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
US11635739B1 (en) 2020-04-30 2023-04-25 Marvell Asia Pte Ltd System and method to manage power to a desired power profile
US11340673B1 (en) * 2020-04-30 2022-05-24 Marvell Asia Pte Ltd System and method to manage power throttling
JP2022032339A (ja) * 2020-08-11 2022-02-25 富士通株式会社 電力制御装置、及び、電力制御方法
GB2604981B (en) * 2020-12-18 2023-03-22 Advanced Risc Mach Ltd Balancing high energy events
US20220382353A1 (en) * 2021-05-28 2022-12-01 Hewlett-Packard Development Company, L.P. Power limits based on processor throttling
US20230071427A1 (en) * 2021-09-08 2023-03-09 International Business Machines Corporation Providing deterministic frequency and voltage enhancements for a processor
US11768531B2 (en) * 2021-12-30 2023-09-26 Western Digital Technologies, Inc. Power management for storage controllers

Family Cites Families (67)

* 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
US6195750B1 (en) * 1999-03-09 2001-02-27 Amdhal Corporation Method and apparatus for dynamic CPU reconfiguration in a system employing logical processors
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
GB2387456B (en) * 2002-04-12 2005-12-21 Sun Microsystems Inc Configuring computer systems
US7814350B2 (en) * 2002-10-03 2010-10-12 Via Technologies, Inc. Microprocessor with improved thermal monitoring and protection mechanism
KR100885213B1 (ko) * 2002-10-15 2009-02-24 주식회사 포스코 코일 권취공정의 스트립 용접부위 흠 발생 방지장치
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
US7895455B2 (en) * 2007-06-25 2011-02-22 Hewlett-Packard Development Company, L.P. Dynamic converter control for efficient operation
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
US8245070B2 (en) * 2008-12-30 2012-08-14 Intel Corporation Method for optimizing voltage-frequency setup in multi-core processor systems
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
EP2405323A4 (en) * 2009-03-05 2012-07-04 Hitachi Ltd COMPUTER AND POWER MANAGEMENT SYSTEM FOR A COMPUTER
EP2414908B1 (en) 2009-03-30 2020-08-12 QUALCOMM Incorporated Adaptive voltage scaling
US8190930B2 (en) * 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
US8904200B2 (en) * 2009-04-06 2014-12-02 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method for optimizing the operation of a multiprocessor integrated circuit, and corresponding integrated circuit
US8171319B2 (en) * 2009-04-16 2012-05-01 International Business Machines Corporation Managing processor power-performance states
US8078800B2 (en) * 2009-06-05 2011-12-13 Apple Inc. Dynamic operating point modification in an integrated circuit
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
US8510740B2 (en) * 2010-09-16 2013-08-13 Qualcomm Incorporated System and method of performing dynamic voltage and frequency scaling operations on a mobile device
US8943334B2 (en) * 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US9261949B2 (en) * 2010-10-29 2016-02-16 Advanced Micro Devices, Inc. Method for adaptive performance optimization of the soc
US8793512B2 (en) * 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US8627128B2 (en) * 2010-11-09 2014-01-07 International Business Machines Corporation Power management for processing capacity upgrade on demand
WO2012069881A1 (en) * 2010-11-25 2012-05-31 Freescale Semiconductor, Inc. Method and apparatus for managing power in a multi-core processor
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
US9009451B2 (en) * 2011-10-31 2015-04-14 Apple Inc. Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle
US20130117589A1 (en) 2011-11-04 2013-05-09 Anand Satyamoorthy Stability control in a voltage scaling system
US9075610B2 (en) * 2011-12-15 2015-07-07 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation
US20130155081A1 (en) * 2011-12-15 2013-06-20 Ati Technologies Ulc Power management in multiple processor system
US9137848B2 (en) * 2012-01-31 2015-09-15 Lg Electronics Inc. Mobile terminal, controlling method thereof and recording medium thereof
US9436245B2 (en) * 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
US9223373B2 (en) 2012-03-21 2015-12-29 Hgst Technologies Santa Ana, Inc. Power arbitration for storage devices
US9223383B2 (en) * 2012-12-21 2015-12-29 Advanced Micro Devices, Inc. Guardband reduction for multi-core data processor
US9075556B2 (en) * 2012-12-21 2015-07-07 Intel Corporation Controlling configurable peak performance limits of a processor
US9335803B2 (en) * 2013-02-15 2016-05-10 Intel Corporation Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores
US9377841B2 (en) * 2013-05-08 2016-06-28 Intel Corporation Adaptively limiting a maximum operating frequency in a multicore processor
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
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
US9625984B2 (en) * 2015-03-27 2017-04-18 Intel Corporation Technologies for managing power during an activation cycle

Also Published As

Publication number Publication date
US9304573B2 (en) 2016-04-05
CN105308571B (zh) 2018-09-04
US9703354B2 (en) 2017-07-11
US11003233B2 (en) 2021-05-11
US20140380071A1 (en) 2014-12-25
TW201508466A (zh) 2015-03-01
US20160179169A1 (en) 2016-06-23
EP3011450B1 (en) 2020-05-27
US20170262036A1 (en) 2017-09-14
US10303238B2 (en) 2019-05-28
JP6154071B2 (ja) 2017-06-28
KR101703467B1 (ko) 2017-02-06
US20190235601A1 (en) 2019-08-01
KR20160003833A (ko) 2016-01-11
WO2014204568A1 (en) 2014-12-24
EP3011450A1 (en) 2016-04-27
CN105308571A (zh) 2016-02-03
JP2016527609A (ja) 2016-09-08

Similar Documents

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