專利名稱:基于系統(tǒng)級功率管理的性能分析的制作方法
基于系統(tǒng)級功率管理的性能分析
本發(fā)明涉及包含單個或多個處理器的片上系統(tǒng)實施方式中的動態(tài)自
適應(yīng)功率(power)管理,更具體地,涉及利用有助于準(zhǔn)確判斷高度數(shù)據(jù) 相關(guān)的多媒體應(yīng)用需求的運行時間性能計數(shù)器,優(yōu)化系統(tǒng)級功耗。
因為許多現(xiàn)代設(shè)備具有嚴(yán)格的熱量和電池電量限制,所以需要節(jié)電技 術(shù)。處理器時鐘頻率及其操作電壓很大程度上確定了其功耗和熱量產(chǎn)生。 在電池供電的移動/手持設(shè)備中使用的微處理器對電源尤其敏感,因而嘗試 使用仍可以產(chǎn)生必要性能的最低供電電壓。
在便攜式平臺上日益復(fù)雜的多媒體應(yīng)用程序需要更大的計算能力和 操作功率。現(xiàn)在用于使功率需求最小化的特殊硬件電路仍不能滿足要求。 在另一個方面,僅通過觀察應(yīng)用程序、SoC、或調(diào)度以及映射算法,不能 預(yù)測針對不同SoC組件的最優(yōu)功率電平。因而需要動態(tài)地遵循軟件應(yīng)用程 序的需求以及運行時間中系統(tǒng)硬件結(jié)構(gòu)的主動功率管理方案。
在準(zhǔn)確度方面,尤其是多媒體應(yīng)用程序中,使性能估計比較困難的原 因在于這些多媒體應(yīng)用程序是數(shù)據(jù)相關(guān)(data dependent)的。需要對新的 應(yīng)用程序進(jìn)行與預(yù)安裝以及預(yù)特征化的程序一樣有效地電源管理。 一些設(shè) 備具有不斷引入新應(yīng)用程序的下載能力。不能將靜態(tài)定義的電源管理通用 方式應(yīng)用到新的應(yīng)用程序,因為它們在行為上不同,并且不能有效地連接 所有不同的映射以及調(diào)度隱含操作(implication)。以及在任何應(yīng)用程序中,
映射和/或調(diào)度可以是動態(tài)的。
現(xiàn)有技術(shù)、基于狀態(tài)的應(yīng)用-行為預(yù)測策略不是十分的準(zhǔn)確。多媒體應(yīng) 用程序性能行為是數(shù)據(jù)相關(guān)的。使用應(yīng)用程序按鈕來定義電源電平的基于 路徑的策略不能遵循應(yīng)用程序的數(shù)據(jù)相關(guān)行為。也不提供針對功率最優(yōu)化 的完全系統(tǒng)視圖。需要應(yīng)用程序性能需求的運行時間摘錄(nm-time extmction)。這可以通過使用硬件性能計數(shù)器來實現(xiàn)。這有助于測量準(zhǔn)確 的性能以及測量應(yīng)用程序?qū)嶋H功率需求。
傳統(tǒng)的性能監(jiān)視使用當(dāng)執(zhí)行程序執(zhí)行時其可以反饋的某種硬件計數(shù) 器或寄存器。累積的計數(shù)指示程序活動,以及它們每單位時間增加的計數(shù) 可以指示程序在其上執(zhí)行的硬件/資源的程序利用。當(dāng)處理器的執(zhí)行速率可 以改變時,知道處理器是否運行太快和費電、或處理器是否運行太慢和過 速十分重要。
硬件性能計數(shù)器可以監(jiān)視諸如處理器、存儲器以及網(wǎng)絡(luò)的系統(tǒng)物理組 件的利用。當(dāng)與應(yīng)用程序一起使用時,性能計數(shù)器可以捕獲關(guān)于該應(yīng)用程 序的性能相關(guān)的數(shù)據(jù)。捕獲所公布的計數(shù)器信息,并且可以將該信息與可 接受的性能標(biāo)準(zhǔn)相比較。硬件性能計數(shù)器設(shè)置為許多現(xiàn)代處理器和核心
(core)的內(nèi)在部分。
針對每個工作電壓,基于靜態(tài)CMOS的處理器具有相對應(yīng)的最大工作 頻率。降低頻率將按比例地減少功耗。但是減少電壓將按平方減少功耗, 因為AP =乎。降低工作頻率和電源電壓將導(dǎo)致功耗以立方減少。
動態(tài)頻率調(diào)整(DFS)以及動態(tài)電壓調(diào)整(DVS)是可以利用可編程 的時鐘生成器以及可編程的、可變電壓DC/DC轉(zhuǎn)換器實現(xiàn)的傳統(tǒng)技術(shù)。
許多現(xiàn)有技術(shù)商業(yè)處理器使用DVS來保存功率,例如,Transmeta Crusoe,因特爾XScale,以及飛利浦Trimedia TM3260處理器。飛利浦 NEXPERIAPNX1500使用V2F動態(tài)功率管理,使設(shè)備能夠通過提供改變 頻率和核心電壓的能力來保存功率。當(dāng)使用外部的、可編程的核心電壓調(diào) 整器配置PNX1500時,其軟件可編程時鐘使CPU能夠以較低的速度運行, 從而減少較少的耗周期任務(wù)期間的功耗。例如,對MP3音頻流解碼需要 少于30MHz的CPU周期。當(dāng)服務(wù)于較低的周期需求時,可以通過調(diào)整時 鐘速度以及外部電壓保存功率。
需要開發(fā)在設(shè)備中動態(tài)采用DFS和DVS、以及系統(tǒng)級功率管理技術(shù) 的智能。ARM智能能量管理器(IEM)的目標(biāo)是相同的,但只限于處理 器核心。Flautner等在2005年5月5日公布的美國專利申請 US2005/0097228 Al中描述了該思想。然而,因為缺少靜態(tài)分析階段,所 以他們的方法不具有良好的開端。許多多媒體應(yīng)用程序具有不穩(wěn)定的初始 階段,并且緣于此,正M方法將需要很長時間來進(jìn)行調(diào)整。
將所監(jiān)視的性能數(shù)據(jù)用于電源管理的動態(tài)電壓和頻率調(diào)整控制。
Murthi Nanja描述了在2005年6月16日公布的美國專利申請 US2005/0132238 Al '(Performance monitoring based dynamic voltage and frequency scaling"。典型地,在傳統(tǒng)操作系統(tǒng)中使用的動態(tài)技術(shù)使用基于 時間間隔的調(diào)度器來預(yù)測將來的工作量。這種方案使用30-100毫秒的統(tǒng)一
時間間隔來間檢查前一時間間隔的處理器使用。然后將所收集的數(shù)據(jù)用于 設(shè)置下一時間間隔的電壓電平?;跁r間間隔的調(diào)度算法簡單,并且容易 實現(xiàn),但是它們假設(shè)將來是過去的重復(fù)。所以當(dāng)應(yīng)用程序工作量改變時, 它們不能準(zhǔn)確地預(yù)測將來的工作量,正如針對數(shù)據(jù)相關(guān)的事件的情況。基 于時間間隔的調(diào)度器做出與將來的工作量不相關(guān)的預(yù)測。不存在使利用因 素準(zhǔn)確地預(yù)測將來工作量的機制。因而,基于執(zhí)行應(yīng)用程序的實際使用模 型,基于時間間隔的調(diào)度器不能在運行時間調(diào)整處理器的電壓和頻率。
因而,功率管理的解決方案必須是動態(tài)的、自適應(yīng)的、以及準(zhǔn)確的。 需要動態(tài)的和自適應(yīng)的方法,用于基于SoC上的多媒體應(yīng)用程序的動態(tài)性 能需求確定最優(yōu)功率需求,以及使用動態(tài)預(yù)測的性能需求,集成自適應(yīng)功 率管理器。
在一個示例性實施例中,用于執(zhí)行數(shù)據(jù)相關(guān)的應(yīng)用程序的、使用動態(tài)
自適應(yīng)功率管理的多處理器片上系統(tǒng)包括策略性放置的性能計數(shù)器,用 于收集任務(wù)的實際運行時間性能。功率管理器對正被監(jiān)視的各種系統(tǒng)資源
采用DVS、 DFS、超時(time-out)、以及其它控制之一。當(dāng)在運行時間期 間任務(wù)執(zhí)行時,分析任務(wù)和所調(diào)度的資源之間的匹配的質(zhì)量。更精確的性 能需求以及相應(yīng)的功率電平,以及由此的控制和調(diào)度然后可用并存儲在性 能需求表中。因此,功率管理是自適應(yīng)的和動態(tài)的。在靜態(tài)分析階段,將 可以針對其性能需求而預(yù)特征化的應(yīng)用程序和任務(wù)簡檔化,并預(yù)加載為初 始起點,用于運行時間內(nèi)的校正。
本發(fā)明的優(yōu)點是提供一種通用方法,足以捕獲針對用于執(zhí)行數(shù)據(jù)相關(guān) 的應(yīng)用程序?qū)嶋H的任何SoC平臺的系統(tǒng)級性能需求,以及最優(yōu)地管理系統(tǒng) 級功耗。
本發(fā)明的上述總結(jié)不意在代表本發(fā)明的每個公開的實施例,或每個方 面。在接下來的圖示以及詳細(xì)描述中提供其它方面以及示例性實施例。 結(jié)合附圖,本發(fā)明更易于從以下對本發(fā)明各種實施例的描述中得以理
解,其中
圖1是使用分布在多處理器系統(tǒng)的片上系統(tǒng)實施方式的性能計數(shù)器的 本發(fā)明的自適應(yīng)動態(tài)功率管理實施例的功能框圖;以及
圖2是使用性能計數(shù)器在多處理器系統(tǒng)的片上系統(tǒng)實施方式中提供自
適應(yīng)動態(tài)功率管理的方法實施例的流程圖。
具體實施例方式
盡管本發(fā)明可以有各種修改和可選形式,但是在附圖中通過示例示出 了其細(xì)節(jié)并詳細(xì)描述。然而,可以理解,該意圖不將本發(fā)明限于所描述的 特定實施例。相反,本發(fā)明覆蓋落入所附權(quán)利要求所限定的本發(fā)明的精神 和范圍內(nèi)所有的修改、等同物和可選項。
圖1是本發(fā)明的自適應(yīng)動態(tài)功率管理系統(tǒng)實施例,并于此由一般參考
號100來指示。系統(tǒng)100包括具有多處理器系統(tǒng)的片上系統(tǒng)(SoC) 102, 其中以第一處理器核心(CPUO 104、第二處理器核心(CPU2) 106、外 圍核心108、內(nèi)部系統(tǒng)總線110、以及存儲器112實現(xiàn)該多處理器系統(tǒng)。 通過收集來自策略性放置的性能計數(shù)器114、 116、 118和120的統(tǒng)計量, 測量系統(tǒng)級處的SoC 102的運行時間性能。可以實現(xiàn)這種性能計數(shù)器來在 預(yù)加載數(shù)量遞減到零之后產(chǎn)生中斷。可以通過執(zhí)行任務(wù)來控制每次遞減, 并且任務(wù)可以將計數(shù)遞減至中斷的迅速程度是運行時間內(nèi)真實硬件性能
、、、^以在多個公開中發(fā)現(xiàn)實現(xiàn)性能計數(shù)器的細(xì)節(jié)。所以這種構(gòu)造細(xì)節(jié)不 需要包括于此。Gilberto Contreras等在2005年8月8-10日CA, San Diego 的ISLPED ,05所發(fā)表的論文中,描述了 "Power Prediction for Intel XScale Processors Using Performance Monitoring Unit Events" 。 Flautner等在2005 年5月5日公開的美國專利申請US 2005/0097228 Al中;MurthiNanja在 2005年6月16日公開的美國專利申請US 2005/0132238 Al中;Morrie Altmejd等在2005年5月17日發(fā)表的美國專利US 6,895,520 Bl中;David Albonesi在2001年3月20日發(fā)表的美國專利US 6,205,537 Bl中描述了性 能計數(shù)器以及在市場上包括該性能計數(shù)器的各種商業(yè)處理器的使用。將這 些材料一并引入作為參考。本發(fā)明實施例的獨特方面是在運行時間內(nèi)使用
了策略性放置在多處理器系統(tǒng)中的多個性能計數(shù)器,以自適應(yīng)地以及動態(tài) 地管理系統(tǒng)級的功率。這里所引的公開只是在于此描述的獨特組合中所使 用的描述組成部分。
再參照圖l,操作系統(tǒng)(OS) 122從存儲器112中執(zhí)行,并且可以主 控包括一系列任務(wù)(每個都具有它們自己的性能需求)的應(yīng)用軟件。如在 流動多媒體應(yīng)用程序中,這種需求是高度數(shù)據(jù)相關(guān)的。
已經(jīng)將一些應(yīng)用程序和它們的任務(wù)簡檔化(profiled),以及可以將關(guān) 于它們的性能需求124的在先數(shù)據(jù)傳送到資源映射表126中。在這里,將 各個任務(wù)性能需求進(jìn)行制表,功率電平(power level)和處理器核心104 和106可以根據(jù)該表供給這些需求。實時地將這種調(diào)度128轉(zhuǎn)發(fā)至功率管 理器130,用于功率控制DVS 132、 DFS 134、超時136等的運行時間動態(tài) 適配。這些功率控制可以以使整體系統(tǒng)級功率效率最大化的組合方式來單 獨地以及獨立地影響CPU1 104、 CPU 2 106、外設(shè)108以及總線110。雖 然這樣針對多處理器系統(tǒng)任何一個功率可控部分不必都是最有效的,但是 它將對整個SoC 102是最有效的。
在應(yīng)用程序及其任務(wù)的運行時間執(zhí)行期間,性能計數(shù)器114、 116、 118、 以及120通過運行時間簡述器(profiler) 140提供關(guān)于各種任務(wù)執(zhí)行統(tǒng)計 的信息。性能預(yù)測模塊144標(biāo)識執(zhí)行階段,并且計算松弛時間測量142, 從而更新在資源映射表126中所需的性能電平。該過程產(chǎn)生新性能需求列 表146。這些甩于填入表126中,并且與可用電壓頻率電平相匹配。
優(yōu)選地,圖1中所描述的全部完全位于SoC 102中。圖1剖析了一些 嵌入的部分,從而在這里更好地描述它們。
圖2代表使用性能計數(shù)器在多處理器系統(tǒng)的片上系統(tǒng)實施方式中提供 自適應(yīng)動態(tài)功率管理的本發(fā)明的功率管理方法實施例。在這里,通過一般 參考號200來指示這種方法。該方法200利用可以是包括具有變化的性能 需求的任務(wù)的流動多媒體應(yīng)用程序的軟件應(yīng)用程序202進(jìn)行操作。軟件應(yīng) 用程序202的性質(zhì)在于這些任務(wù)先前可以是未知以及未特征化的,并且只 有當(dāng)在調(diào)度這些任務(wù)的情況下通過分配的處理器核心實際執(zhí)行這些任務(wù) 時,才可以說明它們確切的性能需求。有時性能需求將很大程度上依據(jù)正 在處理的數(shù)據(jù),所以預(yù)測很困難。
利用針對若干程序計數(shù)器(PC)的預(yù)加載,將任務(wù)列表204發(fā)送到過
程206,其中應(yīng)用程序和/或使用情況己知。這啟動了靜態(tài)分析階段。過程 208針對每個任務(wù)計算松弛時間。這種松弛時間指示使用DVS、 DFS控制 可以使處理器核心慢下多少以節(jié)約功率,并仍能完成工作。處理器210以 可選最優(yōu)功率電平將應(yīng)用程序/任務(wù)需求映射到可用處理器核心。將初始表 值212預(yù)加載至資源需求表214,該資源需求表214也具有每個核心可以 運行的各種電壓電平的詳情,以及各種核心的當(dāng)前運行電壓電平。
這種資源需求表214將應(yīng)用程序列表中的任務(wù)需求映射到可以通過多 處理器系統(tǒng)處理器核心獲得的最優(yōu)功率電平。靜態(tài)分析階段使表214初始 化。調(diào)度器將確切地決定將特定任務(wù)發(fā)送到哪一個處理器核心。在運行時 間內(nèi),資源需求表214將以更精確的任務(wù)性能需求進(jìn)行動態(tài)地更新。將任 務(wù)列表216以軟件應(yīng)用程序202需要它們由任何處理器核心資源執(zhí)行的順 序發(fā)送到調(diào)度器218。這種調(diào)度器218參考資源需求表214以觀察該任務(wù) 適合何種功率電平。調(diào)度器可以調(diào)度已經(jīng)以適合的功率電平工作的處理器 核心,或它可以調(diào)用過程220動態(tài)地給所調(diào)度的處理器核心發(fā)出自適應(yīng)功 率管理器控制,來改變電壓電平/頻率級。加載下一個任務(wù)222,以及過程 224在所選的處理器核心上執(zhí)行所調(diào)度的任務(wù)。
在執(zhí)行期間,過程228從策略性放置在SoC中的幾個點處的性能計數(shù) 器處收集統(tǒng)計量。這種性能計數(shù)器可以預(yù)加載將在零計數(shù)處產(chǎn)生中斷的倒 計數(shù)值。這種事件可以與系統(tǒng)時間相比較,來測量任務(wù)的進(jìn)行中性能,以 及調(diào)度器218是否做出了精確的功率管理分配。過程230實時地提取在運 行時間內(nèi)實際出現(xiàn)的動態(tài)性能,以及將數(shù)據(jù)更新232載入表214中。如果 這次有必要,或者針對下次任務(wù)執(zhí)行時,過程218和220可以校正功率管 理器控制。
性能計數(shù)器提供關(guān)于系統(tǒng)或應(yīng)用程序的某一性能方面的單一度量,例 如,過程中活躍線程數(shù)或在執(zhí)行指示的過程中過程的線程所用的逝去時間 的百分比、或任務(wù)的上下文轉(zhuǎn)換數(shù)量、或任務(wù)激活數(shù)量等。可以將性能計 數(shù)器組織并分組為各種性能計數(shù)器類別。例如,處理器類別包括與諸如處 理器時間、空閑時間、中斷時間之類的處理器操作相關(guān)的所有計數(shù)器。 Windows OS提供許多可以編程檢索或使用性能監(jiān)視器顯示的預(yù)定性能計
數(shù)器。使用這些性能計數(shù)器來件事操作系統(tǒng)資源的使用。典型地,傳統(tǒng)實 施方式只配備該系統(tǒng)的一部分(例如處理器)。在這里,系統(tǒng)級功率管理 基于應(yīng)用程序的性能需求,用于在系統(tǒng)級優(yōu)化整體功耗。
性能分析和動態(tài)功率管理在這里結(jié)合,以獲得有效的功率管理方案。 性能計數(shù)器處理與工作量相關(guān)的應(yīng)用程序,以及幫助適配于在SoC上運行 的任何新的應(yīng)用程序。在最優(yōu)功率策略模型的初始訓(xùn)練之后,針對整個系
統(tǒng)收集功率測量,以及將信息反饋回功率策略模型。與ARMIEM所示例 的OS所獲得的執(zhí)行的歷史觀察相比較,這樣使用硬件性能計數(shù)器導(dǎo)致了 更精確的預(yù)測。本發(fā)明的方法足以通用于獲取任何平臺的系統(tǒng)級性能需 求。
用于將流應(yīng)用程序特征化的實驗驗證了可以以變化的工作量來標(biāo)識 多處理器平臺上多媒體應(yīng)用程序的執(zhí)行階段以及使用動態(tài)調(diào)度。在應(yīng)用程 序在系統(tǒng)上執(zhí)行的期間,在初始、穩(wěn)定和最終階段收集針對執(zhí)行次數(shù)、激 活次數(shù)的性能數(shù)量,以及上下文轉(zhuǎn)換數(shù)量。 一旦將這三個階段特征化,則 有效地使用功率管理技術(shù)來使系統(tǒng)級功耗最小化。
本功率最優(yōu)化方法包括靜態(tài)和動態(tài)分析部分。針對功率最優(yōu)化的動態(tài) 電壓調(diào)整需要獲知松弛時間,即,任務(wù)的當(dāng)前執(zhí)行時間和相對應(yīng)的任務(wù)最 終期限之差。在靜態(tài)分析期間可以確定任務(wù)最終期限。不能精確預(yù)測當(dāng)前 執(zhí)行時間。所以在這里,它基于從硬件性能計數(shù)器收集數(shù)據(jù)的動態(tài)預(yù)測模 型。這樣確定應(yīng)用程序的實際任務(wù)執(zhí)行階段。
靜態(tài)分析使用具有針對諸如任務(wù)最終期限的實時需求的參數(shù)的高級 分析模型。在設(shè)計對間完成系統(tǒng)的行為以及可以在運行時間之前分析的性 能參數(shù)。
在運行期間,利用多個性能計數(shù)器監(jiān)視執(zhí)行周期、上下文轉(zhuǎn)換(context switch)改變以及激活次數(shù)。執(zhí)行周期計數(shù)測量了應(yīng)用程序的執(zhí)行需求。 激活次數(shù)和上下文轉(zhuǎn)換數(shù)據(jù)性能計數(shù)限定了與這些活動相關(guān)聯(lián)的開銷。如 果任務(wù)在短時間內(nèi)做出太多的上下文轉(zhuǎn)換,則嘗試使用電壓調(diào)整是沒有優(yōu) 勢的,因為轉(zhuǎn)換本身使處理器空閑少量的時間。典型地,改變電源電壓需 要100-200毫秒用于在之后穩(wěn)定。
使用性能計數(shù)器,預(yù)測模型144估計應(yīng)用程序任務(wù)的動態(tài)性能,并且
將適合的功率需求分配給應(yīng)用程序任務(wù)。功率管理器130動態(tài)地使用該信 息用于運行時間功率管理。功率管理隨意地適配于不同的輸入數(shù)據(jù)和新應(yīng) 用程序,同時滿足性能需求。
靜態(tài)分析收集針對已知的應(yīng)用程序和使用情況的性能計數(shù)器。使用這 些數(shù)字的離線分析來尋找松弛時間,即,應(yīng)用程序的性能需求和處理器上 應(yīng)用程序的實際計算時間之間的時間差。資源需求和電壓電平映射表將應(yīng) 用程序需求映射到最優(yōu)功率電平。電壓管理器使用該表在應(yīng)用程序的各種階段動態(tài)地應(yīng)用諸如DVS、 DFS、超時等的適合的功率策略,用于最優(yōu)的系統(tǒng)級功耗。靜態(tài)分析是針對功率管理的起始點,因為它將已知數(shù)據(jù)集的 基準(zhǔn)應(yīng)用程序簡檔化。
通過將動態(tài)分析嵌入SoC 102,針對功率管理新的使用情況、以及甚 至全新的應(yīng)用程序。在動態(tài)分析階段,利用統(tǒng)計性能預(yù)測模型,捕獲從應(yīng) 用程序的執(zhí)行階段或性能需求提取的動態(tài)行為。動態(tài)預(yù)測需要運行時間簡 檔化能力來從硬件性能計數(shù)器中收集數(shù)字并進(jìn)行分析。預(yù)測模型的輸出用 于更新列表,該列表映射在運行時間內(nèi)的需求比最優(yōu)功率電平。功率管理 器使用該表有效地應(yīng)用功率管理策略。
可以在系統(tǒng)中的多個點處集成功率管理??梢栽谟布?、固件級、用 戶級、或應(yīng)用程序級上結(jié)合功率管理。在硬件級的電源管理不能看到或使 用應(yīng)用程序的動態(tài)行為需求。系統(tǒng)的全球狀態(tài)在硬件級未知。用戶不知道 組件特性,并且不能做出針對精確電源管理所需的經(jīng)常的決定。在不知道 應(yīng)用程序的動態(tài)行為的情況下,必須使用針對功率管理的應(yīng)用程序級控 制。必須在編譯時間或設(shè)計時間內(nèi)插入這種控制。在運行時間內(nèi),當(dāng)針對 應(yīng)用程序控制太晚時,應(yīng)用程序的行為將會是數(shù)據(jù)相關(guān)的。針對在相同平 臺上運行的多個應(yīng)用程序,在每個應(yīng)用程序中的各個功率控制在系統(tǒng)級不 能最優(yōu)化。只有每個構(gòu)成應(yīng)用程序的控制流可以進(jìn)行功率最優(yōu)化。
在功率管理中的重要機會在于應(yīng)用程序特定性能需求。因而,需要應(yīng)
用程序行為的捕獲以及性能的預(yù)測。本發(fā)明解決了捕獲性能需求以及預(yù)測 應(yīng)用程序的性能的問題,用于使系統(tǒng)級功率最優(yōu)化。在OS的幫助下,系 統(tǒng)動態(tài)適配功率管理考慮了硬件和應(yīng)用程序二者。
盡管結(jié)合幾個特定示例性實施例描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員
將承認(rèn)可以在不偏離下列所附權(quán)利要求所限定的本發(fā)明的精神和范圍內(nèi) 做出許多變化。
權(quán)利要求
1. 一種多處理器片上系統(tǒng)中的動態(tài)自適應(yīng)功率管理的方法,包括根據(jù)任務(wù)的性能需求以及在使用功率管理控制的多處理器系統(tǒng)中可用的資源功率電平、以及不同核心的各種工作電壓和核心的當(dāng)前運行電壓電平,構(gòu)建將應(yīng)用程序202中的任務(wù)204制成表的資源需求表214;在靜態(tài)階段,將資源需求上載到所述表214中;在動態(tài)階段,從多個策略性放置的性能計數(shù)器收集信息228,提取動態(tài)性能需求230,以及更新所述表中的相應(yīng)條目232;參考所述表和使用功率管理器來給針對相應(yīng)任務(wù)而調(diào)度的系統(tǒng)資源設(shè)定相對應(yīng)的功率電平。
2. 如權(quán)利要求1所述的方法,其中所述參考所述表和使用功率管理 器包括選擇在所需功率電平上工作的核心之一,或使用分別獨立地應(yīng)用于所述系統(tǒng)資源之一的DVS、 DFS和超時中的至少一個。
3. 如權(quán)利要求l所述的方法,其中所述從策略性放置的性能計數(shù)器 收集信息228包括將性能計數(shù)器與每個處理器核心、每個外設(shè)、以及內(nèi)部系統(tǒng)總線相關(guān)聯(lián),以提供性能數(shù)據(jù)。
4. 如權(quán)利要求l所述的方法,其中所述將資源需求214上載到所述表214包括使得所述性能計數(shù)器發(fā)出中斷,并針對已知的應(yīng)用程序和使用預(yù)加載所述性能計數(shù)器206,并且計算208每個應(yīng)用程序和使用的松 弛時間來預(yù)估計資源需求。
5. —種使用動態(tài)自適應(yīng)功率管理的多處理器片上系統(tǒng)(SoC) 102, 用于數(shù)據(jù)相關(guān)的應(yīng)用程序的執(zhí)行,其特征在于多個性能計數(shù)器114、 116、 118、 120,其中各個性能計數(shù)器114、 116、 118、 120放置在以片上系統(tǒng) 102實現(xiàn)的多處理器系統(tǒng)的每個處理器114、 116、每個外設(shè)108、以及互 連內(nèi)部系統(tǒng)總線110中;資源需求表126,用于映射在應(yīng)用程序中的任務(wù) 的所調(diào)度資源所需的性能等級;功率管理器130,用于控制針對與性能計 數(shù)器114、 116、 118、 120中的每一個相關(guān)聯(lián)的相應(yīng)系統(tǒng)資源的DVS 132、 DFS 134以及超時136中的至少一個,并在運行時間內(nèi),為了適合的功率 管理設(shè)置而參考資源需求表;靜態(tài)進(jìn)程,用于使用針對已知應(yīng)用程序和使 用的列表的性能需求,預(yù)加載資源需求表126;以及動態(tài)進(jìn)程,用于使用在運行期間已從多個性能計數(shù)器114、 116、 118、 120中收集的數(shù)據(jù)中提 取的性能需求,更新資源需求表126中的條目;其中,功率管理器130發(fā) 出優(yōu)化系統(tǒng)級功率所必需的控制,以及這種控制是動態(tài)的并自適應(yīng)于在運 行時間之前無法預(yù)測的應(yīng)用程序中的變化條件。
6. 如權(quán)利要求5所述的SoC102,還包括運行時間簡述器140,用 于從性能計數(shù)器114、 116、 118、 120中捕獲性能數(shù)據(jù),并在運行時間內(nèi) 將所述性能數(shù)據(jù)提供給性能預(yù)測模型144。
7. 如權(quán)利要求6所述的SoC102,還包括性能需求預(yù)測模型144, 用于使用來自運行時間簡述器140的數(shù)據(jù),并預(yù)測任務(wù)的性能需求。
8. 如權(quán)利要求5所述的SoC 102,還包括功率管理器130,用于針對各個系統(tǒng)資源,采用DVS 132、 DFS 134以及超時136控制中的至少一 個。
9. 一種用于預(yù)測應(yīng)用程序任務(wù)的動態(tài)性能的預(yù)測模型144,所述預(yù)測 模型144使用性能計數(shù)器114、 116、 118、 120,并將適合的功率需求制成 表,以及使用功率管理器130,以將這種制成表的信息動態(tài)地用于在運行 時間進(jìn)行的在線功率管理,從而使所述功率管理在滿足每個任務(wù)的性能需 求的同時,適應(yīng)不同的輸入數(shù)據(jù)和新的應(yīng)用程序。
全文摘要
使用針對執(zhí)行數(shù)據(jù)相關(guān)應(yīng)用程序的動態(tài)自適應(yīng)功率管理的多處理器片上系統(tǒng)102包括策略性放置的性能計數(shù)器,用于收集任務(wù)的運行時間性能需求。功率管理器130對正被監(jiān)視的各種系統(tǒng)資源發(fā)出DVS 132、DFS134、超時136、以及其它控制。當(dāng)在運行時間期間執(zhí)行任務(wù)時,分析任務(wù)和所調(diào)度的資源之間的匹配的質(zhì)量。然后使更精確的功率控制和調(diào)度可用并存儲在性能需求表中。因此,功率管理是自適應(yīng)的和動態(tài)的。在靜態(tài)分析階段,將可以針對其性能需求而預(yù)特征化的應(yīng)用程序和任務(wù)簡檔化,并預(yù)加載為初始起點,用于運行時間內(nèi)的校正。
文檔編號G06F1/32GK101395558SQ200680053248
公開日2009年3月25日 申請日期2006年12月21日 優(yōu)先權(quán)日2005年12月23日
發(fā)明者哈什·德漢德, 斯瑞尼瓦桑·巴拉克瑞南, 納加拉杰·布薩 申請人:Nxp股份有限公司