TWI525425B - 用於多核處理器的漏變化感知功率管理系統及其方法 - Google Patents

用於多核處理器的漏變化感知功率管理系統及其方法 Download PDF

Info

Publication number
TWI525425B
TWI525425B TW102115600A TW102115600A TWI525425B TW I525425 B TWI525425 B TW I525425B TW 102115600 A TW102115600 A TW 102115600A TW 102115600 A TW102115600 A TW 102115600A TW I525425 B TWI525425 B TW I525425B
Authority
TW
Taiwan
Prior art keywords
processor core
power
processor
power control
change indicator
Prior art date
Application number
TW102115600A
Other languages
English (en)
Other versions
TW201346527A (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 TW201346527A publication Critical patent/TW201346527A/zh
Application granted granted Critical
Publication of TWI525425B publication Critical patent/TWI525425B/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
    • 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
    • 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
    • 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
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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/3246Power saving characterised by the action undertaken by software initiated power-off
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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
    • 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)
  • Hardware Redundancy (AREA)

Description

用於多核處理器的漏變化感知功率管理系統及其方法
本公開涉及多核處理器。更具體地,本公開涉及管理多核處理器的處理器核的功耗。
現代技術的不斷發展和迅速改進已產生電子裝置的廣泛可用性和用途。電子裝置被用於今天生活的幾乎方方面面。電子裝置和零部件製造商正在不斷開發以增長的速率消耗功率的附加特性和功能。隨著電子裝置越來越便攜和功能強大,製造商和消費者已對提高電子裝置的功率效率具有越來越大的興趣。
本發明提供了一種方法,包括:在運行期間,測量處理器核的變化(variation)指示器;基於所述變化指示器,確定用於所述處理器核的功率控制無冗餘時間;基於所述處理器核的所述功率控制無冗餘時間,將功率管理模式應用於所述處理器核。
上述方法還包括:當所述處理器核改變性能水平時,更新所述處理器核的所述功率控制無冗餘時間。
在上述方法中,更新當前無冗餘時間包括:當所述處理器核改變性能水平且無其他處理器核活動(active,啟動)時,更新所述處理器核的所述功率控制無冗餘時間。
上述方法還包括:識別所述處理器核的期望閒置時間。
在上述方法中,應用功率管理模式包括:當所述期望閒置時間大於所述處理器核的當前無冗餘時間時,將第一功率管理模式 應用於所述處理器核;以及當所述期望閒置時間小於所述處理器核的所述功率控制無冗餘時間時,將不同於所述第一功率管理模式的第二功率管理模式應用於所述處理器核。
在上述方法中,應用第一功率管理模式包括:在未關閉所述處理器核的情況下,選通與所述處理器核相關聯的時鐘,且其中,應用第二功率管理模式包括:選通與所述處理器核相關聯的時鐘:以及關閉所述處理器核。
在上述方法中,所述確定包括:將所述變化指示器映射到在映射表中的功率控制無冗餘時間。
本發明提供了一種系統,包括:多核處理器,包括第一處理器核和第二處理器核;變化監測器電路,可操作地用於:測量所述第一處理器核的變化指示器;以及測量所述第二處理器核的變化指示器:以及功率管理電路,可操作地用於:基於所述第一處理器核的變化指示器,將第一功率控制無冗餘時間分配給所述第一處理器核;基於所述第二處理器核的變化指示器,將第二功率控制無冗餘時間分配給所述第二處理器核;識別所述第一處理器核或所述第二處理器核或者兩者的期望閒置時間;以及基於所述期望閒置時間和所述功率控制無冗餘時間,將功率管理模式應用於所述第一處理器核或所述第二處理器核。
在上述系統中,所述功率管理電路進一步可操作地用於:在所述多核處理器中,除所述第一處理器核之外沒有其他處理器核活動時:當所述第一處理器核改變性能水平時,更新所述第一功率控制無冗餘時間。
在上述系統中,所述功率管理電路進一步可操作地用於:在所述多核處理器中,除所述第二處理器核之外沒有其他處理器核活動時:當所述第二處理器核改變性能水平時,更新所述第二功率控制無冗餘時間。
在上述系統中,所述功率管理電路可操作地用於通過在未關 閉所述第一處理器核的情況下選通與所述第一處理器核相關聯的時鐘、在未關閉所述第二處理器核的情況下選通與所述第二處理器核相關聯的時鐘、選通與所述第一處理器核相關聯的所述時鐘且關閉所述第一處理器核、選通與所述第二處理器核相關聯的所述時鐘且關閉所述第二處理器核、或以上的任何組合,應用功率管理模式。
上述系統還包括:儲存器,與所述第一處理器核和所述第二處理器核通訊;以及當所述第一處理器核的所述期望閒置時間大於所述第一功率控制無冗餘時間時,所述功率管理電路通過以下方式將功率管理模式應用於所述第一處理器核:保存所述儲存器的內容;以及關閉所述儲存器。
上述系統還包括:儲存器,與所述第一處理器核和所述第二處理器核通訊;以及當所述第二處理器核的所述期望閒置時間大於第二當前無冗餘時間時,所述功率管理電路可操作地用於通過以下方式將功率管理模式應用於所述第二處理器核:保存所述儲存器的內容;以及關閉所述儲存器。
在上述系統中,所述變化指示器電路包括矽性能監測器。
本發明還提供了一種系統,包括:處理器核;評估邏輯,與所述處理器核通訊,所述評估邏輯可操作地用於:獲得以第一性能水平操作的所述處理器核的變化的第一評估;以及從所述第一評估確定用於所述第一性能水平的第一功率控制時序閾值;以及功率控制邏輯,與所述處理器核通訊,所述功率控制邏輯可操作地用於:獲得用於所述處理器核的期望閒置時間;以及基於所述期望閒置時間和所述第一功率控制時序閾值,確定用於所述處理器核的可適用功率節省模式。
本發明還提供了一種系統,包括:如上所述的系統,其中,所述功率控制邏輯可操作地用於通過確定所述期望閒置時間是否超過所述第一功率控制時序閾值來確定所述可適用功率節省模 式。
上述系統還包括與所述處理器核通訊的矽性能監測器。
在上述系統中,所述評估邏輯進一步可操作地用於:獲得以第二性能水平操作的所述處理器核的變化的第二評估;以及從所述第二評估確定用於所述第二性能水平的第二功率控制時序閾值;以及其中:用於所述處理器核的所述可適用功率節省模式基於以下被確定:當所述處理器核以所述第一性能水平操作時的所述期望閒置時間和所述第一功率控制時序閾值;以及當所述處理器核以所述第二性能水平操作時的所述期望閒置時間和所述第二功率控制時序閾值。
在上述系統中,所述可適用功率節省模式被選擇為最小化所述處理器核在所述期望閒置時間上的功耗。
在上述系統中,所述可適用功率節省模式被選擇為最小化所述處理器核在所述期望閒置時間上的功耗,所述功耗包括以下功率成本:停止所述處理器核、重新啟動所述處理器核、保存儲存器狀態、或以上的任何組合。
100‧‧‧功耗時序實例
110‧‧‧PM1損失洩漏功率
120‧‧‧PM2損失行為和洩漏功率
121‧‧‧PM2損失行為和洩漏功率
200‧‧‧系統
210‧‧‧處理器核
220‧‧‧L1高速緩衝儲存器
230‧‧‧變化監測器
240‧‧‧評估邏輯
250‧‧‧功率管理器
252‧‧‧儲存器
260‧‧‧變化表
262‧‧‧變化表條目
264‧‧‧處理器核ID字段
266‧‧‧第一性能水平變化指示器字段
267‧‧‧第二性能水平變化指示器字段
268‧‧‧第三性能水平變化指示器字段
270‧‧‧映射表
271~275‧‧‧映射表條目
282‧‧‧變化指示器字段
284‧‧‧功率控制無冗餘時間字段
300‧‧‧系統
305‧‧‧多核處理器
310‧‧‧處理器核
311‧‧‧L1高速緩衝儲存器
312‧‧‧處理器核
313‧‧‧L1高速緩衝儲存器
314‧‧‧處理器核
315‧‧‧L1高速緩衝儲存器
316‧‧‧處理器核
317‧‧‧L1高速緩衝儲存器
320‧‧‧L2高速緩衝儲存器
350‧‧‧功率控制無冗餘時間表
351‧‧‧當前功率控制無冗餘時間條目
352‧‧‧第一字段
353‧‧‧第二字段
354‧‧‧第三字段
355‧‧‧第四字段
360‧‧‧變化表
370‧‧‧映射表
371~375‧‧‧條目
380‧‧‧隨機存取儲存器
400‧‧‧系統
405‧‧‧多核處理器
410‧‧‧處理器核
411‧‧‧L1高速緩衝儲存器
412‧‧‧處理器核
413‧‧‧L1高速緩衝儲存器
420‧‧‧L2高速緩衝儲存器
430‧‧‧L3高速緩衝儲存器
460‧‧‧變化表
461‧‧‧多核處理器1部分
462‧‧‧多核處理器2部分
470‧‧‧映射表
471‧‧‧多核處理器1部分
472‧‧‧多核處理器2部分
500‧‧‧示例性表格
510~515‧‧‧變化表條目
521‧‧‧處理器ID字段
522‧‧‧處理器核ID字段
523‧‧‧第一性能水平變化指示器字段
524‧‧‧第二性能水平變化指示器字段
525‧‧‧第三性能水平變化指示器字段
530~539‧‧‧映射表條目
541‧‧‧處理器ID字段
542‧‧‧變化指示器字段
543‧‧‧功率控制無冗餘時間字段
600‧‧‧功率控制邏輯
602‧‧‧步驟
700‧‧‧功率控制邏輯
702~722‧‧‧步驟
800‧‧‧示例性功率損耗時序圖
參照以下附圖和描述可更好地理解本發明。在附圖中,類似附圖標記在整個不同的圖中指示相應部件。
圖1示出了處理器的功耗時序實例。
圖2示出了用於動態管理處理器核上的功率控制的示例性系統。
圖3示出了用於動態管理在多核處理器的處理器核上的功率控制的示例性系統。
圖4示出了用於動態管理在多核處理器的處理器核上的功率控制的示例性系統。
圖5示出了可被用於動態計算多核處理器的處理器核的功率控制的無冗餘(break-even,無損失)時間的示例性表格。
圖6示出了系統可實施為硬體、軟體或兩者的功率控制邏輯。
圖7示出了系統可實施為硬體、軟體或兩者的功率控制邏輯。
圖8示出了各種示例性功耗時序圖。
由於多種原因,在集成電路(“IC”)(諸如處理器核)中可能發生功率損耗。通常,在IC中的功率損耗可被表徵為由於切換變化而可能發生的動態耗散,或由於即使在沒有切換變化的情況下也存在的漏電流的原因而可能發生的靜態耗散。由於漏電流產生的這種靜態功耗也可被稱為漏功率,且只要處理器核上電(power on)就可能發生。為控制和最小化功率損耗,處理器核可進入各種功率管理模式。
下面的討論參考功率控制無冗餘時間,這可通過圖1來更好理解。圖1示出了處理器核的功耗時序實例100。功耗時序實例100描述了在不同時間點以不同模式操作的處理器。在時間t1之前和在時間t4之後表示處理器核可以正常執行模式(例如,沒有特別的功率管理模式是可用的、被施加或強加在處理器核上的模式)操作的時間。
在時間t1與t4之間,功耗時序實例100示出了根據兩個功率管理模式PM1和PM2的處理器核的功率損耗。可存在被定義在包括處理器核的系統中的附加和不同功率管理模式。下面描述的功率管理模式僅是實例。
第一功率管理模式(PM1)可通過停止處理器核的切換變化來實施。例如,選通處理器核的時鐘可進行操作以中止處理器核的變化,從而限制處理器核中的動態功率耗散。然而,通過第一功率管理模式停止處理器核的切換變化仍可能產生功率損耗。由於處理器核仍通電(例如,由於一個或多個操作電壓仍被施加在處理器核上),所以處理器核可能繼續經歷洩漏功率形式的功率損耗。在圖1的實例中,處理器核從時間t1到t4進入第一功率管理 模式PM1。在該時間期間由處理器核損失的功率可由PM1損失洩漏功率110表示。在一種實施中,損失的洩漏功率可被確定為處理器核的洩漏功率速率乘以處理器核處於第一功率管理模式PM1的時間。
還如圖1所示,第二功率管理模式PM2可通過關閉處理器核來實施。關閉處理器可通過例如消除或斷開正常被施加至處理器核的一個或多個操作電壓,通過大幅降低一個或多個操作電壓,或以其他方式來實現。在處理器核被關閉期間,處理器核通常經歷微小的功率損耗(若有的話),且特別地,若未被完全排除,洩漏功率損耗也是明顯降低的。然而,關閉處理器核可能導致丟失與處理器核相關聯的狀態訊息,諸如儲存在結合在處理器核中或與處理器核相關聯的易失性儲存器(諸如L1高速緩衝儲存器或L2高速緩衝儲存器)中的訊息。因此,當進入第二功率管理模式PM2時,處理器核可執行關閉動作,諸如保存處理器核的儲存器狀態。例如,通過將L1高速緩衝儲存器或L2高速緩衝儲存器的內容儲存在另一儲存器(諸如隨機存取儲存器(“RAM”)或外置儲存器)中,處理器核可保存儲存器的狀態。除儲存器保存動作之外,可實施附加的關閉動作。類似地,當處理器核開始退出第二功率管理模式PM2時,處理器核可執行喚醒動作,諸如恢復處理器核的儲存器狀態或可與關閉動作相關的其他喚醒動作。
基於執行附加的關閉和喚醒動作的切換變化以及在利用處理器核執行附加的儲存器相關動作的時間發生的任何洩漏功率,採用這些附加動作來關閉和喚醒處理器核會產生功率損耗。因此,如圖1所示,處理器核可在時間t1開始功率管理模式PM2,以及在時間t4退出功率管理模式PM2。儘管第二功率管理模式PM2從時間t1延伸到t4,但當處理器從時間t1到時間t2執行關閉動作和從時間t3到t4執行喚醒動作時仍消耗功率。在這一時間期間由處理器核損失的功率可由在時間t1與t2之間示出的PM2損失 行為和洩漏功率120和在時間t3與t4之間示出的PM2損失行為和洩漏功率121的總和來表示,所述在時間t1與t2之間示出的PM2損失行為和洩漏功率120表示通過執行關閉動作以保存處理器核的儲存器狀態所耗散的功率量,所述在時間t3與t4之間所示的PM2損失行為和洩漏功率121表示通過執行喚醒動作以恢復處理器核的儲存器狀態所耗散的功率量。
在某些實施中,功率控制無冗餘時間可被確定為可通過使用在另一不同功率模式上的特定功率模式來節省更多功率的時間段。例如,針對PM1和PM2,功率控制無冗餘時間可被確定為PM1損失洩漏功率110等於PM2關閉損失行為和洩漏功率120與PM2啟動損失行為和洩漏功率121的總和所需的時間量。可供選擇地,在某些實施中,功率控制無冗餘可以是使處理器核在第一功率管理模式PM1下損失的功率量與處理器核在第二功率管理模式PM2下損失的功率量相同的時間段。
如上所述,由於洩漏功率的持續性,很顯然,處理器核保持在第一功率管理模式PM1的時間量越長,累積的功率損耗增加得越多。相反,不管處理器核保持在第二功率管理模式PM2的時間量,由處理器損失的功率保持不變或近似不變。因此,若處理器核進入功率管理模式中的一個的時間量小於處理器核的功率控制無冗餘時間,則進入第一功率管理模式PM1可產生比進入第二功率管理模式PM2更少的功率損耗。另一方面,若處理器核進入功率管理模式中的一個的時間量大於功率控制無冗餘時間,則進入第二功率管理模式PM2可產生比進入第一功率管理模式PM1更少的功率損耗。功率累積比較在圖8中示出,並在下面描述。
各種因素可影響處理器核的功率控制無冗餘時間。首先,結合進入第二功率管理模式PM2而執行的關閉和喚醒動作可影響處理器核的功率控制無冗餘時間。附加的關閉和喚醒動作(諸如在多個位置(例如,DDR RAM或外部儲存器)保存處理器狀態)可 影響功率控制無冗餘時間。此外,當進入第二功率管理模式PM2時可關閉的附加電路也可影響無冗餘時間。例如,通過關閉處理器核和與處理器核相關聯的儲存器(諸如L1高速緩衝儲存器或L2高速緩衝儲存器),可實施第二功率管理模式PM2。在該情況下,可執行附加的關閉動作以保存處理器核的狀態,諸如保存L1高速緩衝儲存器或L2高速緩衝儲存器的內容。相應的附加喚醒動作也可被包括在第二功率管理模式PM2中。由於當進入功率管理模式PM2時,L1高速緩衝儲存器或L2高速緩衝儲存器可被關閉,所以當確定功率管理模式PM1的功率損耗時,L1高速緩衝儲存器或L2高速緩衝儲存器的洩漏功率也可被計算在內。
可影響處理器核的功率控制無冗餘時間的另一因素是處理器核操作的性能水平。處理器核可以不同性能水平操作,該性能水平可以是離散的性能水平。例如,處理器核可以具有第一時鐘頻率的經濟(economy,節約)性能水平操作,以具有比第一時鐘頻率更快的第二頻率的正常性能水平操作,以及以具有比第一和第二時鐘頻率更快的第三時鐘頻率的渦輪性能水平來操作。對於每種性能水平,處理器核可在給定時間段內以不同速度而且以不同功耗執行第二功率管理水平PM2的關閉和喚醒動作。例如,若在以經濟性能水平操作時,處理器核進入第二功率管理模式PM2,則處理器可能佔用更長時間來執行關閉動作,與以渦輪性能水平執行關閉動作所用的較短時間相比會產生更高的洩漏功耗。然而,由於以更高時鐘頻率執行指令所需的更高功率成本,來自以渦輪性能水平執行關閉動作的動態功率損耗可能更高。因此,處理器核的性能水平可影響處理器核的功率控制無冗餘時間。
作為另一實例,功率控制無冗餘時間可受處理器核的洩漏功率特性影響,所述處理器核的洩漏功率特性可在相同處理器核類型的核與核之間改變。用於製造處理器核的製造參數可影響功率控制無冗餘時間,因此,參數可以影響處理器核的切換速度。處 理器核與處理器核之間可改變的製程-電壓-溫度(PVT)變化效應也可影響功率控制無冗餘時間的計算。因此,根據典型-典型(“TT”)製造參數製造的處理器核的功率控制無冗餘時間可與根據快速-快速(“FF”)製造參數製造的處理器核類型的功率控制無冗餘時間不同。
隨著時間改變處理器核屬性的老化效應也可影響處理器核的洩漏功率,從而影響處理器核的功率控制無冗餘時間。因此,相同處理器核的功率控制無冗餘時間可在不同時間點不同。上述因素中的每一個可影響處理器的功率控制無冗餘時間的計算和後續使用。
圖2示出了用於動態管理處理器核上的功率控制的系統200的一個實例。為此,系統200可確定處理器核的功率控制無冗餘時間,作為其操作的一部分。在該實例中,系統200包括處理器核210,所述處理器核210包括L1高速緩衝儲存器220。系統200還包括變化監測器230和評估邏輯240。變化監測器230被可通訊地耦接至處理器核210,以及評估邏輯240被可通訊地耦接至變化監測器230和處理器核210。
在操作中,評估邏輯240可指示變化監測器230例如通過測量處理器核210的變化指示器(indicator,指示符)來獲得對處理器核210的評估或獲取處理器核210的洩漏功率行為。在運行時期間,例如當處理器核210最初啟動時,變化監測器230可測量處理器核210的變化指示器。另外,變化監測器230或評估邏輯240可指示處理器核210執行預先確定的動作,使得變化監測器230能夠測量來自處理器核210的變化指示器。作為一個實例,在變化監測器230可測量處理器核210的變化指示器期間,利用L1高速緩衝儲存器220,評估邏輯240或變化監測器230可指示處理器核210執行保存和恢復操作。
變化指示器可指示處理器核210在運行時期間的洩漏功率行為。換句話說,由變化監測器230採集的變化指示器可反映或示出可能影響處理器的功率控制無冗餘時間的確定的處理器核210的屬性,該屬性包括,例如,處理器核210的PVT變化、製造參數、運行時期間的屬性(例如,核溫度)以及老化效應。變化監測器230可包括被物理連接至每個處理器核或位於每個處理器核(例如,處理器210)內的邏輯或硬體,變化監測器230被連接以測量變化指示器。作為一個實例,變化監測器230可以是矽性能監測器(“SPM”)硬體和邏輯。SPM可測量通常由PVT變化、製造參數、老化效應和可影響處理器210的功率控制無冗餘時間的確定的其他處理器屬性影響的環形振盪器的總切換計數。
如上所述,處理器核210的功率控制無冗餘時間可根據處理器核210的性能水平而改變。因此,評估邏輯240可指示變化監測器230測量針對處理器核210可操作的每個性能水平的處理器核210的變化指示器。為了說明,評估邏輯240可指示處理器核210以不同的性能水平執行預先確定的一組動作,例如,利用L1高速緩衝儲存器三次-第一次以經濟性能水平、第二次以正常性能水平、以及第三次以渦輪性能水平來執行保存和恢復操作。變化監測器230可從處理器核210測量三次變化指示器,每次用於一個性能水平。若處理器核210可以N個性能水平操作,則變化監測器230可測量高達N個變化指示器。
在測量處理器核的變化指示器後,評估邏輯240可基於測量的變化指示器來確定功率控制無冗餘時間。例如,評估邏輯240可將測量的變化指示器映射到功率控制無冗餘時間,如下面更詳細描述。評估邏輯240可確定用於處理器核210可操作的每個性能水平的相應的功率控制無冗餘時間。
接下來,評估邏輯240可從例如系統200外部的邏輯獲得處理器核的期望閒置時間。隨後,評估邏輯240可基於處理器核210 的當前性能水平、期望閒置時間以及可適用的功率控制無冗餘時間來確定用於處理器核210的可適用功率節省模式。例如,若期望閒置時間小於功率控制無冗餘時間,則評估邏輯240可指示處理器核210進入第一功率管理模式,諸如上述的功率管理模式PM1。若期望閒置時間大於功率控制無冗餘時間,則評估邏輯240可指示處理器核210進入第二功率管理模式,諸如上述的功率管理模式PM2。
如圖2所示,評估邏輯240可被實施為功率管理器250和儲存器252。功率管理器250可被實施為硬體、軟體或兩者。例如,功率管理器250可被實施為微控制器(包括微控制器處理器、微控制器儲存器和微控制器指令)或者被實施為處理器和儲存處理器可執行指令的儲存器。功率管理器250可被通訊地耦接至儲存器252,且儲存器252可包括變化表260和映射表270。評估邏輯240還可在寄存器或在儲存器252的位置中儲存處理器核210的當前功率控制無冗餘時間。在操作中,功率管理器250可基於如上所討論的功率控制無冗餘時間,將功率管理模式應用於處理器核210。在這樣做時,功率管理器250可存取(reference,參考)或更新變化表260。功率管理器250還可存取映射表270。
變化表260可儲存處理器核的變化指示器訊息,諸如由變化監測器230測量的處理器核210的變化指示器。圖2中的變化表260包括變化表條目262。變化表條目262包括處理器核ID字段264、第一性能水平變化指示器字段266、第二性能水平變化指示器字段267、以及第三性能水平變化指示器字段268。處理器核ID字段264可識別變化表條目262儲存變化指示器訊息所針對的處理器核。在圖2中,變化表條目262儲存針對核0的變化指示器訊息。當處理器核210以經濟性能水平操作時,第一性能水平變化指示器字段266可儲存由變化監測器230測量的變化指示器,諸如圖2所示的變化指示器60。類似地,當處理器核210以正常 性能水平操作時,第二性能水平變化指示器字段267可儲存測量的變化指示器訊息,以及當處理器核210以渦輪性能水平操作時,第三性能水平變化指示器字段268可儲存測量的變化指示器訊息。因此,變化表條目262指示變化監測器230測量的當處理器核210以經濟性能水平操作時的變化指示器60、當處理器核210以正常性能水平操作時的變化指示器80、以及當處理器核210以渦輪性能水平操作時的變化指示器105。
無論何時變化監測器230測量處理器核210的變化指示器,功率管理器250均可更新變化表260中的條目。如上所討論,變化監測器230可測量當處理器核210初始啟動時的變化指示器。可選擇地,功率管理器250可指示變化監測器230以固定時間間隔(諸如每2毫秒一次)或者當由與功率管理器250通訊的其他系統或邏輯指示時,測量處理器核210的變化指示器。無論何時進行該變化指示器測量,功率管理器250均可在變化表260中更新(或創建)適用的條目。
功率管理器250可存取變化表260和映射表270,以確定處理器核210的功率控制無冗餘時間。如圖2所示,映射表270包括映射表條目271-275。映射表條目275包括變化指示器字段282和功率控制無冗餘時間字段284。映射表條目271-275中的每一個可將變化指示器與用於處理器核(諸如處理器核210)的功率控制無冗餘時間相關聯。因此,根據圖2中的映射表條目275,對於處理器核210,變化指示器60與5 ms的功率控制無冗餘時間相對應。變化指示器80與6 ms的功率控制無冗餘時間相對應…等。
在映射表270中的條目可通過廣泛模擬來生成。即,處理器核210的行為可被模擬來確定處理器核210的變化指示器如何與功率控制無冗餘時間相關。廣泛模擬可包括,根據任何數量的處理器配置或變化參數來測量在第一功率管理模式PM1和第二功率管理模式PM2中的處理器核的功率損耗。模擬還可結合影響功率 控制無冗餘時間計算的其他因素,諸如上述所討論的影響處理器的功率控制無冗餘時間的因素中的任一個。當進入和退出第二功率管理模式PM2時,模擬還可考慮特定的關閉動作和由處理器核執行的喚醒動作。作為另一實例,模擬可包括改變用於在每個處理器角落製作的處理器核的電壓和溫度值,以及基於每個場景確定功率控制無冗餘時間。
通過存取變化表260和映射表270,功率管理器250可確定處理器核210的功率控制無冗餘時間。例如,當處理器核210以經濟性能水平操作時,功率管理器250可存取變化表260來確定測量用於經濟水平操作的變化指示器60。隨後,功率管理器250可存取映射表270,具體存取映射表條目282來確定以經濟性能水平操作的處理器核210的當前功率控制無冗餘時間是5ms。
若在變化表條目中的確切變化指示器值未被儲存為映射表270的條目的一部分,則功率控制無冗餘時間可從其他映射表條目被提取。例如,功率管理器250可確定用於處理器核210的渦輪性能水平的所測量的變化指示器是105。映射表270不包括變化指示器105的條目。相反,映射表條目273將變化指示器100映射到8ms的功率控制無冗餘時間,以及映射表條目272將變化指示器120映射到10ms的功率控制無冗餘時間。因此,功率管理器250可確定以渦輪性能水平操作的處理器核210的當前功率控制無冗餘時間在8ms與10ms之間的某處。作為一個實例,通過在兩個映射表條目之間的線性插入,功率管理器250可確定用於具有變化指示器105的處理器核210的功率控制無冗餘時間,從而產生8.5ms的功率控制無冗餘時間。可選擇地,功率管理器250可應用“最壞情況場景”確定策略,確定功率控制無冗餘時間是10ms。
一旦處理器核的功率控制無冗餘時間被確定,功率管理器250可獲得期望閒置時間,並基於當前的性能水平、期望閒置時間以及功率控制無冗餘時間,將功率管理模式應用於處理器核210。
圖3示出了用於動態管理在多核處理器的處理器核上的功率控制的示例性系統300。為此,系統300可確定多核處理器的處理器核的功率控制無冗餘時間,作為其操作的一部分。系統300包括多核處理器305。多核處理器305包括處理器核310、312、314、316,其各自包括相應的L1高速緩衝儲存器(分別是L1高速緩衝儲存器311、313、315、317)。多核處理器305還包括被通訊地耦接至處理器核310、312、314、316中的每一個的L2高速緩衝儲存器320。系統300還包括功率管理器250和儲存器252。儲存器252包括當前的功率控制無冗餘時間表350、變化表360、以及映射表370。
在操作中,處理器核310、312、314和316可儲存數據和從L2高速緩衝儲存器320讀取數據。功率管理器250可測量用於改變處理器核性能水平的變化指示器,更新或存取變化表360,存取映射表370,以及以如圖2所述的類似方式確定用於處理器核310、312、314和316中的每一個的功率控制無冗餘時間。功率管理器250還可基於處理器核的當前功率控制無冗餘時間、處理器核操作的性能水平以及處理器核的期望閒置時間,將功率管理模式應用於處理器核310、處理器核312、處理器核314或處理器核316。
當前的功率控制無冗餘時間表350可包括當前的功率控制無冗餘時間條目351,該條目351可儲存多核處理器305的每個處理器核的當前功率控制無冗餘時間。當前的功率控制無冗餘時間條目351可包括儲存處理器核310的當前功率控制無冗餘時間的第一字段352、儲存處理器核312的當前功率控制無冗餘時間的第二字段353、儲存處理器核314的當前功率控制無冗餘時間的第三字 段354、以及儲存處理器核316的當前功率控制無冗餘時間的第四字段355。當處理器核改變性能水平時,功率管理器250可更新處理器核的當前功率控制無冗餘時間。例如,若處理器核310從經濟向渦輪改變性能水平,則功率管理器250可確定處理器核310在以渦輪性能水平操作時的功率控制無冗餘時間。隨後,功率管理器250可更新當前功率控制無冗餘時間條目351的第一字段352,以反映處理器核310的性能水平的改變。
在一種實施中,功率管理器250可使用處理器核的功率控制無冗餘時間來確定當沒有多核處理器305的其他處理器核活動時的可適用功率管理模式。當多個核活動時,附加的處理器功率管理邏輯(未示出)可被用於控制處理器核310、312、314和316的功率管理。例如,當多核處理器305的性能需求降低時,附加的處理器功率管理邏輯可基於性能需要且不存取處理器核的功率控制無冗餘時間來關閉處理器核。因此,在該實施中,當沒有其他處理器核活動時,而並非當其他處理器核活動時,功率管理器250可更新處理器核的當前功率控制無冗餘時間。此外,為更新變化表360,功率管理器250可指示變化監測器230來測量當沒有其他處理器活動時用於處理器核310的每個性能水平的變化指示器。這可被完成以便對在功率控制無冗餘時間將被應用的條件期間(例如,當無其他處理器活動時)的洩漏功率行為建模。也可為處理器核312、314和316測量類似的變化指示器測量結果。從處理器核310、312、314和316測量的變化指示器訊息可被儲存在變化表360中。
如上所討論,在處理器核被關閉時,進入第二功率管理模式PM2的處理器核可執行關閉動作。在針對包括多核處理器305的系統300的一種實施中,第二功率管理模式PM2可被調整為還包括關閉L2高速緩衝儲存器。在一種實施中,當處理器核進入被調整的第二功率管理模式PM2時,且當沒有其他處理器核活動時, 被調整的第二功率管理模式PM2可以是可適用的。為了說明,處理器核310可以是多核處理器305中僅有的活動處理器核。結果,處理器310可以是多核處理器305中僅有的使用L2高速緩衝儲存器320的處理器核。
因此,若功率管理器250識別出針對處理器核310的期望閒置時間,則在不影響其他處理器核312、314和316的性能或功能的情況下,L2高速緩衝儲存器320也可被關閉。結果,第二功率管理模式PM2可被調整為使得例如通過將L2高速緩衝儲存器的內容複製到隨機存取儲存器380,關閉動作還包括保存L2高速緩衝儲存器320的內容。第二功率管理模式PM2的喚醒動作也可被調整為包括在喚醒後恢復L2高速緩衝儲存器320的內容。此外,針對第一功率管理模式PM1的功率損耗計算可被調整為包括處理器核310和L2高速緩衝儲存器320兩者的洩漏功率速率。在功率管理模式PM1和PM2中的這些改變可影響處理器核310的功率控制無冗餘時間的計算。這些因素可被結合到用於生成映射表370的模擬中,並在映射表370的條目371-375中反映。
功率管理器250可識別針對處理器核的期望閒置時間。隨後,基於該期望閒置時間和處理器核的當前功率控制無冗餘時間,功率管理器250可將功率管理模式應用於處理器核。
圖4示出了用於動態管理在多核處理器的處理器核上的功率控制的示例性系統400。為此,系統400可確定多核處理器的處理器核的功率控制無冗餘時間,作為其操作的一部分。在圖4中示出的系統400包括多核處理器405和多核處理器305,所述多核處理器405包括兩個處理器核410和412,所述多核處理器305包括四個處理器核310、312、314和316。多核處理器405和305可被通訊地耦接至L3高速緩衝儲存器430。
系統400還包括功率管理器250,該功率管理器250可將功率管理模式應用於多核處理器405和305的處理器核410、412、310、 312、314、316。為此,功率管理器250可被通訊地耦接至包括變化表460和映射表470的儲存器252。儲存器252還可包括當前的功率控制無冗餘時間表(未示出),該時間表儲存用於系統400中的每個處理器核的當前功率控制無冗餘時間。
在操作中,功率管理器250可以與上述圖3所示的類似的方式,將功率管理模式應用於多核處理器405或多核處理器305的處理器核。在一種實施中,功率管理器250可獨立於多核處理器305的處理器核來管理針對多核處理器405的處理器核的功率管理模式。例如,功率管理器250可以與圖3所述的類似的方式管理針對多核處理器305的處理器核310、312、314和316的功率管理模式,其中圖3未示出附加的L3高速緩衝儲存器430或多核處理器405。可選擇地,通過考慮多核處理器405和305的核,功率管理器250可管理功率管理模式。例如,功率管理器250可使用處理器核的功率控制無冗餘時間來確定當沒有多核處理器305或多核處理器405的其他處理器核活動時的可適用功率管理模式。在該情況下,第二功率管理模式PM2可被進一步調整為考慮以與上述在調整第二功率管理模式PM2時考慮如上所述關閉L2高速緩衝儲存器的類似的方式來關閉L3高速緩衝儲存器430。
為說明管理多核處理器305和多核處理器405的功率管理模式,變化表460可包括用於每個多核處理器的單獨部分。圖4中示出的變化表460包括多核處理器1部分461和多核處理器2部分462,所述部分461可儲存用於多核處理器305的變化指示器訊息,所述部分462可儲存用於多核處理器405的變化指示器訊息。
類似地,映射表470可包括用於由功率管理器250管理的每個多核處理器的單獨部分。作為一個實例,在圖4中示出的映射表470包括多核處理器1部分471和多核處理器2部分472,所述部分471可儲存用於多核處理器305的變化指示器到功率控制無 冗餘時間的映射,所述部分472可儲存用於多核處理器405的變化指示器到功率控制無冗餘時間的映射。
圖5示出了可用於動態計算多核處理器的處理器核的功率控制無冗餘時間的示例性表格500。示例性表格500包括變化表460和映射表470。變化表460包括變化表條目510-515。映射表470包括映射表條目530-539。
變化表460可以與上述圖2的變化表260類似的方式被佈置。然而,由於變化表460可儲存用於多個處理器(諸如多核處理器305和多核處理器405)的變化指示器訊息,所以在變化表460中的條目(例如,變化表條目510-515)可包括識別與條目關聯的處理器的附加字段。為了說明,變化表條目515可包括處理器ID字段521、處理器核ID字段522、第一性能水平變化指示器字段523、第二性能水平變化指示器字段524、以及第三性能水平變化指示器字段525。在變化表條目515中的處理器ID字段521可儲存指示該條目與作為多核處理器405的處理器2相關聯的值2。因此,變化表條目514可儲存用於多核處理器405的處理器核410的變化指示器訊息,以及變化表條目515可儲存用於多核處理器405的處理器核412的變化指示器訊息。變化條目510-513可以類似方式分別儲存用於多核處理器305的處理器核310、312、314和316的變化指示器訊息。
映射表470可以與上述圖2的映射表270類似的方式被佈置。映射表條目530-539可將變化指示器與用於多核處理器305或多核處理器405的處理器核的功率控制無冗餘時間相關聯。因此,在映射表470中的條目可包括未被包括在映射表270中的附加字段,以識別該條目所關聯的處理器。為了說明,映射表條目539包括處理器ID字段541、變化指示器字段542和功率控制無冗餘時間字段543。處理器ID字段541可儲存指示映射表條目539與多核處理器405相關聯的值2。在映射表條目535-539中的類似字 段也可指示這些條目與多核處理器405相關聯。通過相同的方式,映射表條目530-534可與多核處理器305相關聯。
在操作中,功率管理器250可根據被更新或被存取的變化指示器訊息涉及哪個處理器、哪個處理器核和哪個性能水平來存取或更新變化表460的相應條目。類似地,功率管理器250可根據處理器和變化指示器來存取映射表470中的相應一個或多個條目。
圖6示出了系統200可實施為硬體、軟體或兩者的功率控制邏輯600。例如,功率控制邏輯600可在功率管理器250中實施。功率管理器250可指示變化監測器230來測量處理器核的變化指示器(步驟602)。若處理器核可以多個性能水平操作,則功率管理器250可指示變化監測器230來測量用於每個性能水平的變化指示器。例如,當處理器核啟動時,功率管理器250可指示處理器核以每個性能水平執行一組動作,於是變化監測器230可測量變化指示器。功率管理器250可從變化監測器230接收測量的變化指示器(步驟604)。接下來,功率管理器250可更新變化表260,以反映測量的變化指示器(步驟606)。
在更新變化表260之後,功率管理器250可確定接下來處理器核何時變為活動(步驟608)。例如,在啟動時測量變化指示器期間執行變化之後,處理器核可以是不活動的,直至稍晚的時間。當處理器核變為活動時,處理器核可以性能水平操作。功率管理器250可確定處理器核的功率控制無冗餘時間(步驟610)。例如,如上所述,功率管理器250可存取變化表260和映射表270來確定用於以性能水平操作的處理器核的功率控制無冗餘時間。功率管理器250隨後可向處理器核指定當前功率控制無冗餘時間(步驟612)。
功率管理器250可確定處理器核是否改變性能水平(步驟614)。若改變,則功率管理器250可更新處理器核的當前功率控制無冗餘時間(步驟616)。通過存取變化表260和映射表270, 功率管理器250可類似確定處理器核改變的性能水平的功率控制無冗餘時間。
若功率管理器250未確定處理器核改變性能,則功率管理器250可識別處理器核的期望閒置時間(步驟618)。期望閒置時間可以不同方式被識別。例如,若處理器核正在處理音樂文件,則功率管理器250或附加邏輯可基於編碼該音樂文件所用的採樣頻率來識別期望閒置時間。例如,若採樣該音樂文件需要處理器核每10 ms的2 ms處理時間,則在執行2 ms的音樂採樣處理之後,功率管理器250可識別8 ms的期望閒置時間。在一種實施中,期望閒置時間由在功率管理器250外部的附加邏輯來確定,於是期望閒置時間隨後由功率管理器250接收。
若功率管理器250未識別或接收期望閒置時間,則功率管理器250可繼續監測處理器核是否改變性能水平(步驟614),或者識別或接收期望閒置時間(步驟618)。若功率管理器250識別或接收期望閒置時間,則功率管理器250可基於當前的功率控制無冗餘時間和期望閒置時間,將功率管理模式應用於處理器核(步驟620)。
圖7示出了系統400可實施為硬體、軟體或兩者的功率控制邏輯700。例如,功率控制邏輯700可在功率管理器250中實施,所述功率管理器250管理在多核處理器中的處理器核的功率管理模式。功率管理器250可指示變化監測器230來測量用於系統中的每個多核處理器的每個處理器核的變化指示器(步驟702)。若任何多核處理器的任何處理器核可以多個性能水平操作,則功率管理器250可指示變化監測器230來測量用於每個多核處理器的每個可用處理器核的每個性能水平的每個變化指示器。在按順序啟動期間,當多核處理器首次上電時,可出現該變化指示器測量結果。當每個多核處理器核啟動時,功率管理器250可指示處理 器核以每個性能水平執行一組動作,於是變化監測器230可測量變化指示器。
接下來,功率管理器250可從變化監測器230接收測量的變化指示器(步驟704)。接下來,功率管理器250可更新變化表260,以反映用於每個多核處理器的每個處理器核的被測量的變化指示器(步驟706)。
在啟動期間,在變化表460初始更新之後,功率管理器250隨後可監測任何多核處理器的任何處理器核何時變為活動,這可包括識別被啟動處理器核開始操作的性能水平(步驟708)。功率管理器250可確定被啟動處理器核的功率控制無冗餘時間(步驟710)。例如,如上所述,功率管理器250可存取變化表460和映射表470來確定用於以性能水平操作的處理器核的功率控制無冗餘時間。隨後,功率管理器250可將當前的功率控制無冗餘時間指定給處理器核(步驟712),所述當前的功率控制無冗餘時間還可被儲存在當前功率控制無冗餘時間表中,諸如如圖3所述。
功率管理器250可繼續監測是否任何多核處理器的任何處理器核變為活動,並確定當前的功率控制無冗餘時間,以及向處理器核指定當前的功率控制無冗餘時間(步驟708-712)。功率管理器250還可在任何點確定是否僅有多核處理器的一個處理器核活動(步驟714)。或者可選擇地,功率管理器250可在任何點確定是否僅有多個多核處理器的一個處理器核活動。若是如此,則功率管理器250隨後可監測處理器核是否改變性能水平(步驟716)。若發生性能水平改變,則例如通過存取變化表260和映射表270,功率管理器250可更新處理器核的當前功率控制無冗餘時間(步驟718)。
若僅一個處理器核活動,則功率管理器250也可識別或接收處理器核的期望閒置時間(步驟720)。若功率管理器250未識別或接收期望閒置時間,則只要僅有一個處理器核保持活動,功率 管理器250即可繼續監測處理器核是否改變性能水平(步驟716),或者識別或接收期望閒置時間(步驟720)。
若期望閒置時間被識別或接收,則功率管理器250可基於當前的功率控制無冗餘時間和期望閒置時間,將功率管理模式應用於處理器核(步驟722)。若在某個時間,另一處理器核變為活動(步驟08),則功率管理器250可不將功率管理模式應用於處理器核,直到僅有一個處理器核活動的情形返回(步驟714)。
圖8示出了各種示例性功率損耗時序圖800。功率損耗時序圖800示出了當期望閒置時間小於處理器核的功率控制無冗餘時間、等於處理器核的功率控制無冗餘時間、以及大於處理器核的功率控制無冗餘時間時,第一功率管理模式PM1與第二功率管理模式PM2之間的累積功率損耗的比較。
在圖8頂部的時序圖示出了當期望閒置時間t3小於處理器核的功率控制無冗餘時間時,第一功率管理模式PM1與第二功率管理模式PM2之間的累積功率損耗的比較。在圖8中示出的第一功率管理模式PM1可以與上述圖1的第一功率管理模式PM1類似的方式被配置。即,在第一功率管理模式PM1中損失的洩漏功率可被確定為處理器核的洩漏功率速率乘以處理器核處於第一功率管理模式PM1的時間。換句話說,當處理器核在時間t0進入第一功率管理模式PM1時,在靜態時,功率以洩漏功率的形式損失,如由對應於由第一功率管理模式PM1隨時間損失的累積功率的直虛線所示。
在圖8中示出的第二功率管理模式PM2可以與上述圖1的第二功率管理模式PM2類似的方式被配置。由處理器核進入第二功率管理模式PM2損失的功率可被理解為,通過執行關閉動作所耗散的功率量(在時間t0與t1之間所示)和通過執行喚醒動作所耗散的功率量(在時間t2與t3之間所示)的總和。如圖8所示,當處理器核進入第二功率管理模式PM2時,由實線表示的PM2功率 損耗僅是在時間t0到t1期間執行關閉動作時和在時間t2到t3期間執行喚醒動作時累積的功率損耗。在時間t1與t2之間,處理器核未耗散洩漏功率且沒有功率被損失。如圖8頂部的時序圖所示,當期望閒置時間等於時間t3時,由處理器進入第二功率管理模式PM2所經歷的功率損耗大於由處理器進入第一功率管理模式PM1所經歷的功率損耗。因此,當接收到的期望閒置時間小於處理器的功率控制無冗餘時間時,處理器核可進入第一功率管理模式PM1。
在圖8中部的時序圖示出了當期望閒置時間t3’等於處理器核的功率控制無冗餘時間時,第一功率管理模式PM1與第二功率管理模式PM2之間的累積功率損耗的比較。類似於圖8頂部的時序圖,在穩態時,由虛線示出的PM1功率損耗增加。類似地,由實線表示的PM2功率損耗僅是在時間t0到t1期間執行關閉動作時和在時間t2’到t3’期間執行喚醒動作時累積的功率損耗。當期望閒置時間等於時間t3’時,由處理器進入第二功率管理模式PM2所經歷的功率損耗等於由處理器進入第一功率管理模式PM1所經歷的功率損耗。在該情況下,處理器可進入第一功率管理模式PM1或第二功率管理模式PM2。
在圖8底部的時序圖示出了當期望閒置時間t3”大於處理器的功率控制無冗餘時間時,第一功率管理模式PM1與第二功率管理模式PM2之間的累積功率損耗的比較。類似於圖8頂部和中部的時序圖,在穩態時,由虛線示出的PM1功率損耗增加。類似地,由實線表示的PM2功率損耗僅是在時間t0到t1期間執行關閉動作時和在時間t2”到t3”期間執行喚醒動作時累積的功率損耗。當期望閒置時間等於時間t3”時,由處理器進入第二功率管理模式PM2所經歷的功率損耗小於由處理器進入第一功率管理模式PM1所經歷的功率損耗。因此,當接收到的期望閒置時間大於處理器 的功率控制無冗餘時間時,處理器核可進入第二功率管理模式PM2。
如圖8所示,當第二功率管理模式PM2在時間t0與t1之間執行關閉動作時所經過的時間長度在所有三個時序圖上一致。類似地,當第二功率管理模式PM2分別在時間t2到t3、時間t2’到t3’以及時間t2”到t3”之間執行喚醒動作時所經過的時間長度在所有三個時序圖上也一致。在所有三個時序圖中執行關閉動作和執行喚醒動作期間累積的PM2功率損耗也一致。換句話說,處理器核進入第二功率管理模式PM2累積的功率損耗在所有三個時序圖中相同。因此,功率控制無冗餘時間表示當隨時間穩定增加的PM1功率損耗等於作為與時間無關的常數的PM2功率損耗時的時間。
上述方法、裝置和邏輯可以多種不同方式在硬體、軟體或硬體和軟體的多種不同組合中實施。例如,系統的全部或部分可包括控制器中的電路、微處理器或專用集成電路(ASIC),或者可採用分立邏輯或組件或者其他類型的模擬或數位電路的組合,結合在單個集成電路上或分佈在多個集成電路中來實施。上述邏輯的全部或部分可被實施為用於由處理器、控制器或其他處理裝置執行的指令,以及可被儲存在易失性或非易失性機器可讀或計算機可讀介質中,諸如閃存、隨機存取儲存器(RAM)或只讀儲存器(ROM)、可擦可編程只讀儲存器(EPROM)或其他機器可讀介質(諸如光碟只讀儲存器(CDROM)或磁碟或光碟)。因此,諸如計算機程序產品的產品可包括儲存介質和儲存在該介質上的計算機可讀指令,當在終端、計算機系統或其他裝置中執行時,該指令使裝置執行根據上述任何一種的操作。
系統的處理能力可被分佈到可選擇地包括多個分佈式處理系統的多個系統組件中,諸如多個處理器和儲存器中。參數、數據庫和其他數據結構可被單獨儲存和管理,可結合到單個內存或數據庫中,可以多種不同方式在邏輯和物理上被組織,以及可以多 種方式來實施,其中包括諸如鏈表、散列表或隱式儲存機制的數據結構。程序可以是單個程序的一部分(例如,子程序)、獨立程序,其分佈在若干儲存器和處理器上,或者以多種不同方式來實施,諸如在庫中、諸如在共享庫(例如,動態鏈接庫(DLL))中實施。例如,DLL可儲存執行處理上述內容的任何系統的代碼。儘管已描述了本發明的各種實施方式,但對於本領域普通技術人員而言,顯然在本發明的範圍內許多其他實施方式和實現方式是可行的。因此,除非根據所附申請專利範圍及其等價物,否則本發明不受限制。
200‧‧‧系統
210‧‧‧處理器核
220‧‧‧L1高速緩衝儲存器
230‧‧‧變化監測器
240‧‧‧評估邏輯
250‧‧‧功率管理器
252‧‧‧儲存器
260‧‧‧變化表
262‧‧‧變化表條目
264‧‧‧處理器核ID字段
266‧‧‧第一性能水平變化指示器字段
267‧‧‧第二性能水平變化指示器字段
268‧‧‧第三性能水平變化指示器字段
270‧‧‧映射表
271~275‧‧‧映射表條目
282‧‧‧變化指示器字段
284‧‧‧功率控制無冗餘時間字段

Claims (10)

  1. 一種方法,包括:在運行期間,測量處理器核的第一變化指示器,其中所述第一變化指示器指示所述處理器核的洩漏功率行為;儲存所述第一變化指示器於第一資料結構中;比較所述第一變化指示器以及儲存於第二資料結構中的第二變化指示器與第三變化指示器,所述第二資料結構包括:所述第二變化指示器至第一參考無冗餘時間的映射;以及所述第三變化指示器至第二參考無冗餘時間的映射;回應所述比較,藉由所述第一參考無冗餘時間與第二參考無冗餘時間之間的內插,確定功率控制無冗餘時間致使所述第一變化指示器所指示之所述處理器核的所述洩漏功率行為;以及基於為了所述處理器核所確定的所述功率控制無冗餘時間,將特定功率管理模式應用於所述處理器核。
  2. 一種系統,包括:多核處理器,包括第一處理器核和第二處理器核;儲存器,與所述第一處理器核和所述第二處理器核通訊;變化監測器電路,可操作地用於:測量所述第一處理器核的第一變化指示器,其中所述第一變化指示器指示所述第一處理器核的洩漏功率行為;測量所述第二處理器核的第二變化指示器,其中所述第二變化指示器指示所述第二處理器核的洩漏功率行為;以及 儲存所述第一變化指示器與所述第二變化指示器於第一資料結構中;以及功率管理電路,可操作地用於:比較所述第一變化指示器以及儲存於第二資料結構中的變化指示器陣列,所述第二資料結構包括所述變化指示器陣列至參考無冗餘時間陣列的映射,所述第二資料結構將所述變化指示器陣列映射至所述多核處理器,所述第二資料結構不同於所述第一資料結構;比較所述第二變化指示器以及所述變化指示器陣列;回應所述第一變化指示器以及所述變化指示器陣列之所述比較,將第一功率控制無冗餘時間分配給所述第一處理器核,所述第一功率控制無冗餘時間致使所述第一變化指示器所指示之所述第一處理器核的所述洩漏功率行為;回應所述第二變化指示器以及所述變化指示器陣列之所述比較,將第二功率控制無冗餘時間分配給所述第二處理器核,所述第二功率控制無冗餘時間致使所述第二變化指示器所指示之所述第二處理器核的所述洩漏功率行為;識別所述第一處理器核或所述第二處理器核或者兩者的期望閒置時間;以及基於所述期望閒置時間和所述第一與所述第二功率控制無冗餘時間,將特定功率管理模式應用於所述第一處理器核或所述第二處理器核。
  3. 根據申請專利範圍第2項所述的系統,其中,所述變化監測器電路包括矽性能監測器
  4. 根據申請專利範圍第2項所述的系統,其中,所述功率管理電路進一步可操作地用於:確定在所述多核處理器中,除所述第二處理器核之外沒有其他處理器核是啟動的,以及對應地:當所述第二處理器核改變性能水平時,更新所述第二功率控制無冗餘時間,以應用所述特定功率管理模式。
  5. 根據申請專利範圍第2項所述的系統,其中,所述功率管理電路可操作地用於通過在未關閉所述第一處理器核的情況下選通與所述第一處理器核相關聯的時鐘、在未關閉所述第二處理器核的情況下選通與所述第二處理器核相關聯的時鐘、選通與所述第一處理器核相關聯的所述時鐘且關閉所述第一處理器核、選通與所述第二處理器核相關聯的所述時鐘且關閉所述第二處理器核、或以上的任何組合,應用所述特定功率管理模式。
  6. 根據申請專利範圍第2項所述的系統,還包括:儲存器,與所述第一處理器核和所述第二處理器核通訊;以及當所述第一處理器核的所述期望閒置時間大於所述第一功率控制無冗餘時間時,所述功率管理電路可操作地用於通過以下方式將所述特定功率管理模式應用於所述第一處理器核:保存所述儲存器的內容;以及關閉所述儲存器。
  7. 根據申請專利範圍第2項所述的系統,還包括:儲存器,與所述第一處理器核和所述第二處理器核通訊;以及 當所述第二處理器核的所述期望閒置時間大於第二功率控制無冗餘時間時,所述功率管理電路可操作地用於通過以下方式將所述特定功率管理模式應用於所述第二處理器核:保存所述儲存器的內容;以及關閉所述儲存器。
  8. 一種系統,包括:處理器核;評估電路,與所述處理器核通訊,所述評估電路可操作地用於:獲得以第一性能水平操作的所述處理器核的變化的第一評估,變化的所述第一評估指示以所述第一性能水平操作的所述處理器核的洩漏功率行為;以及儲存變化的所述第一評估;比較變化的所述第一評估以及變化指示器陣列,所述變化指示器陣列位於所述變化指示器陣列至參考時序閾值之陣列的映射中;回應所述比較,藉由所述參考時序閾值之中的多重獲選者之間的內差,從所述第一評估確定用於所述第一性能水平的第一功率控制時序閾值,所述第一功率控制時序閾值致使以所述第一性能水平操作的所述處理器核的所述洩漏功率行為;以及功率控制電路,與所述處理器核通訊,所述功率控制電路可操作地用於:獲得用於所述處理器核的期望閒置時間;以及基於所述期望閒置時間和所述第一功率控制時序閾值,確定用於所述處理器核的可適用功率節省模式。
  9. 根據申請專利範圍第8項所述的系統,其中,所述功率控制電路可操作地用於通過確定所述期望閒置時間是否超過所述第一功率控制時序閾值來確定所述可適用功率節省模式。
  10. 根據申請專利範圍第8項所述的系統,其中:所述評估電路進一步可操作地用於:獲得以第二性能水平操作的所述處理器核的變化的第二評估,變化的所述第二評估指示以所述第二性能水平操作的所述處理器核的洩漏功率行為;以及從所述第二評估確定用於所述第二性能水平的第二功率控制時序閾值,所述第二功率控制時序閾值致使以所述第二性能水平操作的所述處理器核的所述洩漏功率行為;以及用於所述處理器核的所述可適用功率節省模式基於以下被確定:當所述處理器核以所述第一性能水平操作時的所述期望閒置時間和所述第一功率控制時序閾值;以及當所述處理器核以所述第二性能水平操作時的所述期望閒置時間和所述第二功率控制時序閾值。
TW102115600A 2012-05-14 2013-05-01 用於多核處理器的漏變化感知功率管理系統及其方法 TWI525425B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/471,226 US9176563B2 (en) 2012-05-14 2012-05-14 Leakage variation aware power management for multicore processors

Publications (2)

Publication Number Publication Date
TW201346527A TW201346527A (zh) 2013-11-16
TWI525425B true TWI525425B (zh) 2016-03-11

Family

ID=48325359

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102115600A TWI525425B (zh) 2012-05-14 2013-05-01 用於多核處理器的漏變化感知功率管理系統及其方法

Country Status (5)

Country Link
US (1) US9176563B2 (zh)
EP (1) EP2664977B1 (zh)
KR (1) KR101492953B1 (zh)
CN (1) CN103425232B (zh)
TW (1) TWI525425B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141159B2 (en) 2011-11-03 2015-09-22 International Business Machines Corporation Minimizing aggregate cooling and leakage power with fast convergence
US9229524B2 (en) * 2012-06-27 2016-01-05 Intel Corporation Performing local power gating in a processor
US9164565B2 (en) * 2012-12-28 2015-10-20 Intel Corporation Apparatus and method to manage energy usage of a processor
US9081577B2 (en) * 2012-12-28 2015-07-14 Intel Corporation Independent control of processor core retention states
CN103197717B (zh) * 2013-02-28 2015-11-25 华为技术有限公司 自适应电压调整方法、芯片以及系统
US9477568B2 (en) 2013-09-27 2016-10-25 International Business Machines Corporation Managing interconnect electromigration effects
WO2016000174A1 (zh) * 2014-06-30 2016-01-07 华为技术有限公司 一种功耗管理方法、功耗管理装置,及处理器
US9671850B2 (en) 2014-07-07 2017-06-06 Empire Technology Development Llc Leakage current variability based power management
US20170038813A1 (en) * 2015-08-05 2017-02-09 Qualcomm Incorporated System and method for cache aware low power mode control in a portable computing device
US9959075B2 (en) 2015-08-05 2018-05-01 Qualcomm Incorporated System and method for flush power aware low power mode control in a portable computing device
CN105278651A (zh) * 2015-11-27 2016-01-27 中国科学院微电子研究所 一种冗余控制系统
US20180188797A1 (en) * 2016-12-29 2018-07-05 Intel Corporation Link power management scheme based on link's prior history
KR102663815B1 (ko) * 2018-06-01 2024-05-07 삼성전자주식회사 컴퓨팅 장치 및 이의 동작 방법
KR102613979B1 (ko) * 2020-11-03 2023-12-14 주식회사 에이직랜드 멀티 코어 프로세서 전력 관리 장치 및 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380147B1 (en) * 2005-10-24 2008-05-27 Western Digital Technologies, Inc. Computer device employing a sliding window to set an idle mode timeout interval
WO2007090431A1 (en) * 2006-02-09 2007-08-16 Freescale Semiconductor, Inc. Electronic apparatus and method of conserving energy
JP5235870B2 (ja) * 2007-04-09 2013-07-10 パナソニック株式会社 マルチプロセッサ制御装置、その制御方法および集積回路
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8112651B2 (en) * 2008-09-25 2012-02-07 Intel Corporation Conserving power in a computer system
US20110265090A1 (en) * 2010-04-22 2011-10-27 Moyer William C Multiple core data processor with usage monitoring
US8782456B2 (en) * 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8942932B2 (en) * 2010-08-31 2015-01-27 Advanced Micro Devices, Inc. Determining transistor leakage for an integrated circuit
US20120166731A1 (en) * 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
US8954017B2 (en) * 2011-08-17 2015-02-10 Broadcom Corporation Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
CN103218032B (zh) * 2011-11-29 2017-07-14 英特尔公司 利用相对能量损益平衡时间的功率管理
US8984311B2 (en) * 2011-12-30 2015-03-17 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including dynamic C0-state cache resizing

Also Published As

Publication number Publication date
CN103425232B (zh) 2016-12-28
US20130305068A1 (en) 2013-11-14
US9176563B2 (en) 2015-11-03
KR20130128333A (ko) 2013-11-26
KR101492953B1 (ko) 2015-02-12
CN103425232A (zh) 2013-12-04
EP2664977B1 (en) 2017-12-20
EP2664977A2 (en) 2013-11-20
EP2664977A3 (en) 2016-04-06
TW201346527A (zh) 2013-11-16

Similar Documents

Publication Publication Date Title
TWI525425B (zh) 用於多核處理器的漏變化感知功率管理系統及其方法
Liu et al. Flikker: Saving DRAM refresh-power through critical data partitioning
US8171319B2 (en) Managing processor power-performance states
JP5499123B2 (ja) 動的な電圧及び周波数管理
KR100974972B1 (ko) 저전력 디바이스의 대기 전력 제어를 위한 방법, 장치 및 시스템
CN109388339B (zh) 存储器控制器及其操作方法
JP5689965B2 (ja) コンピュータシステムにおける電流および電力管理
US20130205149A1 (en) Apparatus and method for dynamically adjusting frequency of central processing unit
US8245060B2 (en) Memory object relocation for power savings
US9026822B2 (en) Dynamically adjusting operating frequency of a arithemetic processing device for predetermined applications based on power consumption of the memory in real time
US20130290758A1 (en) Sleep mode latency scaling and dynamic run time adjustment
US20140237272A1 (en) Power control for data processor
US9256535B2 (en) Conditional notification mechanism
KR20100017874A (ko) 동적 프로세서 전력 관리 디바이스 및 그 방법
KR20130088885A (ko) 동적 전압 펄스 스킴에 의한 개선된 전력 전송 성능을 위한 장치, 방법 및 시스템
CN109642924B (zh) 动态可靠性质量监测
US20210026649A1 (en) Configurable reduced memory startup
WO2005069148A2 (en) Memory management method and related system
CN117642710A (zh) 用于响应于电压下降在超频期间启用时钟拉伸的系统和方法
US9760145B2 (en) Saving the architectural state of a computing device using sectors
Sasan et al. History & Variation Trained Cache (HVT-Cache): A process variation aware and fine grain voltage scalable cache with active access history monitoring
US11822418B2 (en) System and method for power consumption management
US9785218B2 (en) Performance state selection for low activity scenarios
US20230071427A1 (en) Providing deterministic frequency and voltage enhancements for a processor
US20240143445A1 (en) Stability Testing for Memory Overclocking

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees