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