專利名稱:用于動態(tài)功率管理的域特定語言、編譯程序和jit的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于管理計算裝置中的功率的方法,且更特定來說涉及用于有效地確定供移動裝置處理器實(shí)施的適宜低功率模式的方法。
背景技術(shù):
無線通信技術(shù)在過去的幾年里已經(jīng)得到爆發(fā)性增長。此增長已受到向移動公眾提供移動自由且切斷與硬連線通信系統(tǒng)的聯(lián)系的無線服務(wù)的刺激。由于需要服務(wù)增強(qiáng),故期望無線服務(wù)的普及繼續(xù)快速增長。電池壽命是移動電子裝置的關(guān)鍵驅(qū)動因素,因此,實(shí)現(xiàn)電池功率節(jié)約的方法和裝置是電子裝置技術(shù)中的重要考慮因素。
發(fā)明內(nèi)容
各個方面提供用于移動計算裝置的動態(tài)功率管理的域特定語言、編譯程序和即時(JIT)編譯程序。各個方面提供由計算裝置內(nèi)的處理器使用以選擇計算裝置所使用的資源的最佳或接近最佳低功率操作模式的數(shù)據(jù)和方法。所述方法包含使用編譯程序來編譯以可編譯語言編寫的資源描述以產(chǎn)生若干真實(shí)或虛擬低功率模式。各個方面允許組件界定ー個或ー個以上低功率模式(其可包含虛擬低功率模式),且允許處理器從不同資源選擇ー個或ー個以上最佳低功率模式。各個方面可使用域特定編譯程序來檢測ー組組件低功率模式內(nèi)的支配關(guān)系,且將個別低功率資源組合為單一新的合成低功率資源。各個方面提供ー編譯程序,其在注冊時間將若干資源組合為單ー合成資源,借此減少提取不同資源的最佳低功率模式所需的函數(shù)調(diào)用和操縱的量。各個方面提供用于減少必須進(jìn)行比較以確定最佳低功率狀態(tài)的低功率模式的數(shù)目的方法、系統(tǒng)和裝置。各個方面可實(shí)施于多種系統(tǒng)中且針對眾多功率節(jié)省應(yīng)用,包含不實(shí)施休眠模式的系統(tǒng)和應(yīng)用,而實(shí)施。各個方面包含用于節(jié)省具有多個資源和至少ー個處理器的計算裝置中的功率的方法,所述方法包含在可編譯表達(dá)式中界定多個低功率資源模式,所述低功率資源模式識別與資源相關(guān)聯(lián)的一組資源相依性、功率節(jié)省和滯后時間特性,以及當(dāng)不在使用中時所述多個資源中的每ー者可被置于的低功率狀態(tài);編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源,姆ー合成低功率資源具有表不低功率資源模式中的一者或一者以上的功能性、功率節(jié)省、滯后時間和資源相依性特性的ー個或ー個以上合成低功率資源模式;基于模式的功率節(jié)省、滯后時間和相依性要求選擇用于每ー合成低功率資源的至多ー個合成低功率資源模式;以及當(dāng)系統(tǒng)變得閑置以及結(jié)束閑置時以適當(dāng)次序進(jìn)入和退出選定的合成低功率資源模式。在方面方法中,合成低功率資源模式中的每ー者可具有進(jìn)入功能和退出功能,所述進(jìn)入功能可與兩個或兩個以上低功率資源模式的進(jìn)入功能具有相同的功能性,且所述退出功能可與兩個或兩個以上低功率資源模式的退出功能具有相同的功能性。在方面方法中,可使用即時編譯技術(shù)來動態(tài)地重寫與兩個或兩個以上低功率資源模式的功能相關(guān)聯(lián)的代碼以產(chǎn)生與所述兩個或兩個以上低功率資源模式的功能具有相同功能性的単一合成功能。所述方面方法可進(jìn)ー步包含基于處理器和客戶端識別的滯后時間要求來確定滯后時間預(yù)算,且可基于所述低功率資源模式具有小于滯后時間預(yù)算的滯后時間要求而選擇所述低功率資源模式。在方面方法中,可考慮操作溫度來選擇低功率資源模式。在方面方法中,合成低功率資源內(nèi)的所有合成低功率資源模式可產(chǎn)生為相互排斥的。在方面方法中,每ー合成低功率資源模式可界定識別處理器選擇、進(jìn)入和退出合成低功率資源模式所必須遵從的操作次序的排序機(jī)制。在方面方法中,可由遵守低功率資源模式之間的相依性關(guān)系的域特定編譯程序產(chǎn)生合成低功率資源。ー些方面方法可進(jìn)ー步包含評估每ー資源的低功率資源模式以基于資源相依性、功率節(jié)省、預(yù)期閑置時間和滯后時間特性而選擇可置于低功率狀態(tài)的每一資源的一個低功率資源模式。在方面方法中,編譯經(jīng)界 定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的操作可包含針對每一個或ー個以上合成低功率資源模式界定相關(guān)聯(lián)的退避時間(backoff time),所述退避時間指示允許合成低功率資源模式在下ー經(jīng)調(diào)度喚醒事件發(fā)生之前退出的時間量。各個方面包含ー種具有多個資源和至少ー個處理器的計算裝置,所述至少ー個處理器包含用于實(shí)施前一段落中描述的方面方法的功能的裝置。各個方面包含ー種用于節(jié)省具有多個資源的計算裝置中的功率的設(shè)備,其中所述設(shè)備包含存儲器緩沖器和耦合到所述存儲器緩沖器的處理器,其中所述處理器配置有用以執(zhí)行上文描述的方面方法的操作的軟件指令。各個方面包含ー種上面存儲有處理器可執(zhí)行指令的非暫時性存儲媒體,所述處理器可執(zhí)行指令經(jīng)配置以使處理器執(zhí)行上文描述的方面方法的操作。
并入本文且構(gòu)成本說明書的部分的
本發(fā)明的示范性實(shí)施例,且連同上文給出的一般描述和下文給出的詳細(xì)描述一起用以闡釋本發(fā)明的特征。圖I是由編程節(jié)點(diǎn)控制以進(jìn)入兩個低功率模式中的一者的資源的圖。圖2是根據(jù)一方面的共享資源借以啟用進(jìn)入低功率模式的能力的方法的過程流程圖。圖3是根據(jù)一方面的共享資源借以停用進(jìn)入低功率模式的能力的方法的過程流程圖。圖4是根據(jù)一方面的用于選擇并進(jìn)入低功率模式的方法的過程流程圖。圖5是說明用于選擇并進(jìn)入低功率模式的方面方法的編程節(jié)點(diǎn)和資源圖。圖6是展示相依性和功能的兩個低功率資源模式的說明。圖7是根據(jù)一方面的由于編譯圖6中說明的兩個低功率資源模式而產(chǎn)生的虛擬低功率資源模式的說明。圖8是根據(jù)一方面的用于選擇并進(jìn)入低功率模式的方法的過程流程圖。圖9是適于與各個方面一起使用的移動計算裝置的剖視透視圖。
具體實(shí)施例方式將參看附圖詳細(xì)描述各種實(shí)施例。只要可能,將貫穿各圖式中使用相同參考標(biāo)號來指代相同或相似部分。對特定實(shí)例和實(shí)施方案做出的參考是出于說明性目的,且不希望限制本發(fā)明或權(quán)利要求書的范圍。詞語“示范性的”在本文中用以意謂“充當(dāng)實(shí)例、個例或說明”。不必將本文中描述為“示范性”的任何實(shí)施方案解釋為與其它實(shí)施方案相比為優(yōu)選或有利的。術(shù)語“電子裝置”、“移動裝置”和“計算裝置”在本文中可互換使用以指代 任何ー個或所有蜂窩式電話、個人數(shù)據(jù)助理(PDA)、掌上型計算機(jī)、無線電子郵件接收器(例如,Blackberry 和Treo 裝置)、具有多媒體因特網(wǎng)功能的蜂窩式電話(例如,Blackberry Storm )、全球定位系統(tǒng)(GPS)接收器、無線游戲控制器,以及包含可編程處理器且在電池電カ下操作而使得功率節(jié)省方法為有益的類似個人電子裝置。本文使用術(shù)語“資源”來指代用于支持在計算裝置上運(yùn)行的處理器、組件和客戶端的多種電路(例如,端ロ、時鐘、總線、振蕩器等)、組件(例如,存儲器)、任務(wù)(由處理器執(zhí)行的軟件進(jìn)程)、信號(例如,時鐘信號)和電壓(例如,電壓軌)中的任一者。使無線裝置的電池壽命最大化是極其重要的設(shè)計準(zhǔn)則。改進(jìn)的電池壽命通過允許用戶在無線裝置內(nèi)進(jìn)行更多操作持續(xù)更長時間段而使用戶體驗最大化。然而,為了確實(shí)使用戶體驗最大化,必須實(shí)施功率節(jié)省策略以便其不會更改裝置的功能性或可靠性。由此,設(shè)計不會更改功能性的有效且高效的功率節(jié)省方案是移動和無線裝置提供者的重要目標(biāo)。為了使電池壽命最大化,大多數(shù)移動廣播接收器經(jīng)配置以每當(dāng)可能時(例如,當(dāng)處理器處于閑置狀態(tài)時)就將ー個或ー個以上處理器和裝置資源置于低功率狀態(tài)。將裝置資源置于低功率狀態(tài)通常包括每當(dāng)處理器不在有效處理任務(wù)和/或處于閑置狀態(tài)時關(guān)斷各種裝置資源。當(dāng)處理器不在處理任務(wù)和/或處于閑置狀態(tài)時能夠接通和關(guān)斷或置于閑置狀態(tài)的資源在本文中稱為低功率資源或LPR。在例如智能電話等可具有無線調(diào)制解調(diào)器處理器和應(yīng)用程序處理器的多處理器裝置中,實(shí)施低功率模式的操作可由每ー處理器獨(dú)立地或以協(xié)調(diào)方式實(shí)施。移動計算裝置通常包含裝置處理器使用的若干資源,例如晶體振蕩器、電壓軌、一個或ー個以上存儲器単元、通信總線等。隨著計算裝置變得越來越復(fù)雜,裝置處理器使用或管理的資源的數(shù)目逐年増加。舉例來說,許多移動計算裝置現(xiàn)包含多個晶體振蕩器、多個電壓軌和多個存儲器,其每ー者可獨(dú)立地控制。因此,存在計算裝置處理器可關(guān)斷或置于低功率模式以便節(jié)省功率的許多不同資源。并且,計算裝置可具有使用各種裝置資源且執(zhí)行不同任務(wù)(且因此不能同時閑置)的多個處理器。出于這些原因,必須在選擇待置于低功率模式的資源時實(shí)行某一程度的執(zhí)行控制。選擇待置于低功率模式的資源稱為“休眠問題”。通常,當(dāng)處理器不再需要資源時,例如當(dāng)處理器進(jìn)入穩(wěn)定的閑置狀態(tài)時,處理器可關(guān)斷或停用低功率資源。當(dāng)處理器“醒來”(例如,離開閑置狀態(tài)以執(zhí)行另ー進(jìn)程)時,可接著接通和/或再啟用停用的資源。每ー低功率資源可具有不同功率消耗水平和滯后時間特性(即,使資源返回到全功率模式所需的時間)。即,每ー資源可在其高功率模式中消耗不同功率量,可需要不同時間量來進(jìn)入和離開功率關(guān)閉和/或閑置狀態(tài),且可當(dāng)進(jìn)入與離開此類狀態(tài)時消耗不同功率量。如果接通和關(guān)斷資源所需的功率大于通過使資源處于低功率模式持續(xù)閑置狀態(tài)的所估計持續(xù)時間而節(jié)省的功率,那么不能通過每當(dāng)處理器為閑置且處于良好界定的狀態(tài) 時簡單地關(guān)斷資源和/或?qū)⑵渲糜陂e置狀態(tài)而使無線裝置的電池壽命最大化。并且,資源可具有ー個以上低功率模式,其在本文中稱為低功率資源模式(LPRM)。因此,確定哪些低功率資源應(yīng)被關(guān)斷和/或置于低功率模式以及資源應(yīng)被置于的特定低功率模式的休眠問題通常需要分析處理器狀態(tài)以及其它裝置處理器的狀態(tài),連同每ー資源的低功率模式特性,例如滯后時間、功率節(jié)省可能性、功率消耗和相依性。每ー資源的每ー低功率資源模式可依據(jù)其滯后時間、功率節(jié)省可能性、過渡功率消耗、低功率模式進(jìn)入準(zhǔn)則、模式退出準(zhǔn)則和資源相依性來表征。特定資源的每ー低功率資源模式可具有不同功率節(jié)省特性和滯后時間。舉例來說,資源的一個低功率模式可完全停用所述資源(例如,切斷電力),而第二低功率模式可涉及資源的減小的功能性或周期性操作。每ー低功率資源模式可具有不同操作特性,例如每單位時間提供不同功率節(jié)省且需要不同時間量來進(jìn)入和離開所述模式(即,不同滯后時間要求)。舉例來說,易失性存儲器芯片可具有兩個低功率模式消耗最少量功率但需要較長時間(即,較長滯后時間)來返回到操作狀態(tài)的深度斷電模式,以及繼續(xù)消耗一些電池電カ但具有較低滯后時間(即,其可非??焖俚胤祷氐酵耆饔脿顟B(tài))的自刷新模式。此外,每ー低功率資源模式所提供的功率節(jié)省可取決于操作條件,例如溫度和預(yù)期閑置時間。因此,在ー些方面中,低功率模式可將預(yù)期功率節(jié)省計算為當(dāng)前溫度下每單位時間的潛在功率節(jié)省乘以所確定的預(yù)期閑置時間的乘積。在其它方面中,預(yù)期功率節(jié)省可確定為溫度、預(yù)期閑置時間和其它變量的另ー函數(shù)。如上文提及,將資源置于低功率模式且在處理器醒來后即刻使其恢復(fù)到正常模式常常需要ー些工作,其實(shí)現(xiàn)起來既花費(fèi)功率又花費(fèi)時間(即,滯后時間)。如果系統(tǒng)保持處于閑置狀態(tài)的時間量太短,那么進(jìn)入低功率模式所必需的額外功率和時間不能產(chǎn)生實(shí)際功率節(jié)省。換句話說,將資源置于低功率模式且使其返回到完全操作的過程中消耗的功率可能會大于其處于低功率模式的較短時間期間所節(jié)省的功率。因此,進(jìn)入特定低功率模式的益處將取決于處理器可保持閑置的預(yù)期時間。此時間在本文中稱為“預(yù)期閑置時間”。通過將資源置于低功率模式可節(jié)省的功率量將基于操作模式和任何所需資源的特性以及資源將保持處于低功率模式的時間量而變化。舉例來說,將存儲器芯片置于自刷新低功率模式可消耗與自刷新進(jìn)程相關(guān)聯(lián)的功率,且需要功率對于芯片的可用性。因此,特定低功率模式中可用的功率節(jié)省是在多個低功率資源模式中進(jìn)行選擇時要考慮的重要特性。如上文提及,通過將資源置于特定低功率模式可節(jié)省的功率量將取決于環(huán)境和操作因素(例如,溫度)。溫度影響例如裝置內(nèi)的電流泄漏、電阻和功率消耗等電特性。因此,室溫下與不同低功率資源模式相關(guān)聯(lián)的功率節(jié)省(如當(dāng)事先開發(fā)出低功率模式配置時所必須假定的)可能在裝置冷得多(例如,在阿拉斯加州的冬季期間)或暖得多(例如,在德克薩斯州的夏季期間)時在實(shí)地相當(dāng)不同。因此,現(xiàn)實(shí)生活條件下不同低功率模式配置(即,選定的低功率資源模式)的功率節(jié)省可意味著,真正的最佳低功率模式不同于事先所能預(yù)期的低功率模式。由于不能事先知道裝置的溫度,所以此重要特性不能用于使用用于組織和選擇低功率模式的常規(guī)方法來選擇低功率模式配置。雖然節(jié)省功率是配置電子裝置的低功率模式過程中的重要目標(biāo),但還必須考慮確保裝置在進(jìn)入低功率模式之后繼續(xù)適當(dāng)操作。因此,考慮與每ー低功率資源模式相關(guān)聯(lián)的滯后時間也很重要。如上文提及,需要一定量的時間來進(jìn)入和退出低功率資源模式以及使資源返回到正常操作模式。此滯后時間應(yīng)小于預(yù)期閑置時間,否則低功率模式將具有極少益處。更重要的是,與進(jìn)入和退出低功率資源模式相關(guān)聯(lián)的滯后時間必須小于可在資源處于低功率模式時需要所述資源的任何客戶端或處理器的最大可允許系統(tǒng)滯后時間。如果特定低功率資源模式可致使超過系統(tǒng)的可接受滯后時間,那么所述特定低功率模式不可接受,因為其可能導(dǎo)致功能錯誤或致使某一非相關(guān)技術(shù)不正確地起作用。此情形的一實(shí)例是當(dāng)將通用串行總線(USB)連接器插入到移動裝置中吋。USB協(xié)議通常具有極短滯后時間要求,且如果主機(jī)未在所述滯后時間內(nèi)接收到對資源請求的響應(yīng),那么主機(jī)可認(rèn)為裝置出故 障。因此,具有大于USB滯后時間要求的滯后時間的任何低功率資源模式或低功率模式的組合不應(yīng)在當(dāng)前操作配置包含到USB裝置的連接時進(jìn)入低功率模式。除了滯后時間和操作條件外,資源的低功率模式還可取決于其它資源和/或條件。此類資源相依性考慮在本文中一般稱為“相依性”。這些相依性可為相依的(即,所述模式僅可在另ー資源保持可用的條件下啟用)、排斥的(即,在特定其它資源處于低功率模式或不處于高功率模式的條件下,不可進(jìn)入所述模式)或正交的(即,所述模式彼此沒有關(guān)系且可獨(dú)立地啟用)。低功率模式相依性還可分類為“靜態(tài)”或“動態(tài)”的。靜態(tài)相依性(也稱為啟用的相依性)是界定在資源甚至可考慮執(zhí)行特定低功率模式操作之前必須滿足的條件的相依性。另ー方面,動態(tài)相依性(也稱為進(jìn)入的相依性)在一個模式僅可結(jié)合系統(tǒng)中的另ー模式(其通常僅可在運(yùn)行時確定)執(zhí)行時出現(xiàn)。為了說明靜態(tài)和動態(tài)相依性,考慮電壓調(diào)節(jié)器資源將功率提供到時鐘驅(qū)動器資源和某一其它雜類硬件資源的實(shí)例。電壓調(diào)節(jié)器可具有兩個操作模式正常操作模式和低功率操作模式(即,其低功率資源模式)。將電壓調(diào)節(jié)器置于其低功率模式可減少電壓調(diào)節(jié)器消耗的能量開銷的量,從而產(chǎn)生總體較低的系統(tǒng)功率需求。然而,如果從電壓調(diào)節(jié)器汲取比在其低功率模式中所允許功率多的功率,那么電壓調(diào)節(jié)器可能出故障且可能破壞裝置硬件。舉例來說,時鐘驅(qū)動器可能會消耗比電壓調(diào)節(jié)器可在其低功率模式中所提供的功率多的功率。在此情況下,電壓調(diào)節(jié)器可具有相對于時鐘驅(qū)動器的一個靜態(tài)相依性(即,時鐘必須能夠被關(guān)斷)以及相對于其它雜類硬件的另ー靜態(tài)相依性(即,所述雜類硬件必須被關(guān)斷)。另外,電壓調(diào)節(jié)器可具有動態(tài)相依性只要時鐘驅(qū)動器保持開啟,就將存在從電壓調(diào)節(jié)器汲取的過多功率以供其進(jìn)入其低功率模式。一旦時鐘驅(qū)動器關(guān)斷,電壓調(diào)節(jié)器上就將不存在負(fù)載或其將能夠進(jìn)入其低功率模式。因此,時鐘驅(qū)動器的斷電模式是電壓調(diào)節(jié)器的低功率模式的動態(tài)相依性。雖然可以一定程度的確定性來預(yù)期靜態(tài)相依性,但動態(tài)相依性難以提前確定。此夕卜,隨著組件和/或資源的數(shù)目増加,動態(tài)相依性的復(fù)雜性成指數(shù)級增加。隨著現(xiàn)代無線裝置的復(fù)雜性持續(xù)增長且包含更多組件,有效管理低功率模式的動態(tài)相依性將變得越來越重要。因此,配置裝置以通過閑置和/或停用資源而節(jié)省電池壽命涉及從不同低功率資源模式中進(jìn)行選擇以便平衡各種資源的功率節(jié)省、滯后時間和相依性的各種低功率模式特性以及客戶端、處理器和可能正并發(fā)運(yùn)行的應(yīng)用程序的要求。此選擇過程歸因于可考慮的變量和排列的數(shù)目(尤其隨著計算裝置的復(fù)雜性増加)而為計算上困難的任務(wù)(類似于經(jīng)典的“背包(knapsack) ”問題)。當(dāng)前,開發(fā)者基于ー組靜態(tài)優(yōu)先權(quán)而事先配置處理器和電子裝置的低功率模式。可在開發(fā)期間將ー組或幾組低功率模式硬編碼到處理器或系統(tǒng)中。從ー組低功率模式中選擇ー個低功率模式配置當(dāng)前通過硬編碼假設(shè)/否則(ifthen/else)決策樹編程來控制。當(dāng)提供多個低功率模式時,處理器可通過允許操作客戶端指示其各種資源要求或操作條件(通過“表決”)而在各種模式中進(jìn)行選擇??蛻舳吮頉Q的結(jié)果可能是明確地停用一個或ー個以上低功率模式。如今用于開發(fā)和實(shí)施計算裝置中的低功率模式的方法不能考慮到裝置的當(dāng)前操作條件(例如,溫度)、滯后時間要求或相依性。此外,低功率模式的當(dāng)前實(shí)施方案未針對特定裝置配置而調(diào)諧,且不能明確地解決特定客戶端的滯后時間要求,因為組件的操作狀態(tài)不能事先預(yù)測。由此,當(dāng)前開發(fā)和實(shí)施低功率模式的方法通常需要事先配置低功率模式。 在先前數(shù)代裝置中,事先配置低功率模式是合理的,因為可與處理器互動的不同資源和客戶端的數(shù)目有限,使得可預(yù)期較小數(shù)目的不同操作狀態(tài)。然而,現(xiàn)代電子裝置正變得更加精細(xì),包括多個處理器、眾多資源和并發(fā)客戶端,使得可能不再有可能界定可硬編碼到系統(tǒng)中的最佳低功率模式。此外,使用假設(shè)/否則決策樹編程選擇先前界定的低功率模式大致根據(jù)2n而縮放,其中“η”是確定過程中涉及的資源的數(shù)目。因此,開發(fā)者必須勉強(qiáng)接受可事先硬編碼的低功率模式配置的子集,其在ー些(如果并非全部)操作狀態(tài)中可能是次佳的。要求開發(fā)者采用次佳低功率模式配置導(dǎo)致電子裝置實(shí)現(xiàn)的功率節(jié)省比在可針對特定操作條件界定和實(shí)施最佳低功率模式的情況下原本將可實(shí)現(xiàn)的功率節(jié)省少。除了低功率模式的當(dāng)前編程的操作限制外,事先界定ー組低功率模式且將所述模式硬編碼到處理器中的努力涉及顯著的開發(fā)者努力。由于低功率模式的界定是代碼驅(qū)動而非數(shù)據(jù)驅(qū)動的,所以對裝置配置作出的較小改變和對所述組資源低功率模式作出的較小改變要求廣泛的再測試以確認(rèn)代碼改變不會引起裝置錯誤。因此,當(dāng)前用于實(shí)施低功率模式的方法不能跟上產(chǎn)品的生產(chǎn)運(yùn)行期間可發(fā)生的裝置配置(例如,組件、軟件等)中的改變。為解決這些問題,各個方面提供使得能夠簡化裝置處理器的休眠問題以使得處理器可實(shí)時作出更多最佳低功率模式選擇的方法,在所述方面中,使用可編譯域特定語言(例如,低功率模式域特定語言或稱LPMDSL)來界定資源及其低功率資源模式(其使所述資源與其低功率資源模式相關(guān)聯(lián)),以及滯后時間、功率節(jié)省、相依性、進(jìn)入和退出要求和每ー模式的其它特性??山又钥紤]關(guān)于處理器狀態(tài)、操作特性、滯后時間、總體功率節(jié)省以及低功率模式和裝置的靜態(tài)和動態(tài)相依性的各種選擇和操作因素的方式來編譯使用此域特定語言的低功率資源模式界定。此編譯的結(jié)果可為產(chǎn)生較小組的虛擬低功率資源模式和模式選擇準(zhǔn)則,處理器可使用所述模式選擇準(zhǔn)則來實(shí)時或接近實(shí)時地選擇最佳或接近最佳的低功率模式配置。各個方面使組件開發(fā)者能夠界定考慮各種因素的其組件中的每ー者的各種低功率模式,所述各種因素例如在使用中的資源的類型、可容忍的最差情況滯后時間、動態(tài)操作條件(例如,溫度)、預(yù)期閑置時間和組件滯后時間。針對每一資源界定的低功率資源模式還可界定靜態(tài)和動態(tài)相依性。裝置處理器可接著在運(yùn)行時動態(tài)地選擇各種低功率資源模式。在一方面中,裝置可計算并選擇使功率節(jié)省和/或操作速度最大化的低功率模式的組合。在一方面中,編譯程序可將多個資源的低功率模式組合以產(chǎn)生可由系統(tǒng)較有效使用以確定最佳功率節(jié)省的較小組的合成低功率資源模式。這些合成低功率資源模式可通過減少處理器必須管理的獨(dú)立項目的數(shù)目來減小需要在閑置時間作出的休眠問題決策的復(fù)雜性。通過產(chǎn)生合成低功率資源,各個方面通過組合各種資源的滯后時間要求和相依性從而減小運(yùn)行時任務(wù)的復(fù)雜性而進(jìn)ー步改進(jìn)系統(tǒng)性能。合成低功率資源還減小與識別和處理低功率資源模式的動態(tài)相依性相關(guān)聯(lián)的復(fù)雜性,從而改進(jìn)總體效率。各個方面使用域特定語言來較有效地解決“背包”問題,所述“背包”問題是計算中眾所周知的優(yōu)化問題。在各個方面中,可使用編譯程序和域特定語言來實(shí)施對背包問題的多種已知算木或啟發(fā)式解決方案。在一方面中,編譯程序可使用假設(shè)/否則邏輯樹算法、表查找算法和/或比較方法來系統(tǒng)性地進(jìn)行各種低功率模式的替代排列和組合以選擇ー組最佳低功率模式。在一方面中,編譯程序可使用一組最佳低功率模式來產(chǎn)生較小組的合成低功率資源,所述較小組的合成低功率資源各自界定比原始低功率模式更好且更有效地表征系統(tǒng)可用的功率節(jié)省的ー個或ー個以上合成低功率資源模式。這些合成低功率資源模式還可更有效地表達(dá)資源相依性。在一方面中,可將確定哪些資源可關(guān)閉或可不關(guān)閉的過程移出休眠路徑,且移動到編譯程序路徑或資源使用路徑上。在各個方面中,用于實(shí)施域特定語言(例如,LPMDSL)的語法可包含遵守C語法規(guī)則的符記和運(yùn)算子。此語法可用于描述靜態(tài)和動態(tài)相依性兩者。即,兩類相依性可用同一語法描述,因為相依性含有相同邏輯內(nèi)容。在各個方面中,符記的含義可在靜態(tài)和動態(tài)相依性之間變化。在各個方面中,可針對每一類相依性提供字符串。在各個方面中,可使用遵守C語法規(guī)則的運(yùn)算子(例如,用于將陳述分組的括號、用于AND的&&、用于OR的I I、用于not的!等)。
在各個方面中,遵守C語法規(guī)則的運(yùn)算子(例如,&&、Μ、!)可與名稱符記結(jié)合使用以表示相依性和/或相依資源。在各個方面中,名稱符記可遵循URL路徑控制隱喻(例如,lpr://a/l)或點(diǎn)常規(guī)隱喻(例如,a. I)。在一方面中,任何多義性可解釋為表示“...中的至少ー者”,而符號可視為表示“全部”的特殊符號。在各個方面中,“l(fā)pr://”可表示靜態(tài)相依性。舉例來說,在一方面中,各種靜態(tài)相依性可由前綴為“ + ”的模式或資源的名稱表示,如在“+a”、“+b. I”或“+c. 1&&+C. 2”中。禁止進(jìn)入低功率資源模式的靜態(tài)排除項或條件可類似地表示,只是利用“-”號前綴,如在“-a”、“_b. I”或“-cl| I _c2”中。在各個方面中,每個模式可具有對于其自身的隱含界定的靜態(tài)相依性。在各個方面中,低功率資源可界定同一字符串中的動態(tài)相依性。在各個方面中,動態(tài)進(jìn)入的相依性可由不具有前綴的模式或資源的名稱表示,如在“ a”、“b. I”或“ c. I及c.2”中??捎谩埃?”前綴表示動態(tài)排除項(或“非進(jìn)入”相依性),如在“! a”、“! b.l”或“! c.l及! c. 2”中。舉例來說,第一低功率資源(LPR-A)可具有擁有由“+b. ”界定的靜態(tài)相依性的低功率模式(LPM-關(guān)閉)。另ー低功率資源(LPR-B)可具有兩個低功率模式(LPM-Ib和LPM-2b),其每ー者可界定其自身的靜態(tài)相依性。舉例來說,LPM-Ib可保持其相依性作為空字符串,從而僅依賴于隱含靜態(tài)自相依性,而LPM-2b可將其靜態(tài)相依性界定為+b. I。在一方面中,低功率資源可具有界定動態(tài)和靜態(tài)相依性兩者的多個低功率模式。舉例來說,第三低功率資源(LPR-C)可具有兩個低功率模式(LPM-Ic和LPM-2c),其中具有界定為“(+a| | +b) ”的靜態(tài)相依性,且LPM_2c具有表示為“+a&&b. 2”的動態(tài)相依性。如上文論述,在各個方面中,運(yùn)算子可遵守C語法規(guī)則。因此,將此應(yīng)用于上文的實(shí)例,每當(dāng)啟用LPR b的模式中的一者(b. I或b. 2)時,將允許進(jìn)入LPM-關(guān)閉。同樣,每當(dāng)啟用LPM-Ib時,將能夠進(jìn)入LPM-lb,因為其僅具有隱含的自相依性;當(dāng)啟用LPM-2b和b. I兩者時,將能夠進(jìn)入LPM-2b ;且每當(dāng)啟用a. off、b. I或b. 2的模式中的ー者時,將能夠進(jìn)入LPM-lc。由于LPM-2c具有靜態(tài)和動態(tài)相依性兩者,所以僅在LPM_2c被啟用,a. off被啟用且LPR-B的LPM-2b已被進(jìn)入時才可進(jìn)入LPM_2c。 下文更詳細(xì)論述低功率模式的靜態(tài)和動態(tài)相依性。在各個方面中,域特定語言可通過允許界定多個命名的“滯后時間組件”而將多個組件的滯后時間要求計入考量,所述“滯后時間組件”中的每ー者可與具有相同名稱的其它滯后時間組件互動。在各個方面中,此互動可依據(jù)運(yùn)算和值來描述。所述運(yùn)算可為加法(例如,針對所述組件設(shè)定新的最小滯后時間)或乘法(例如,現(xiàn)有滯后時間的擴(kuò)展和/或收縮)。使多個命名的滯后時間組件能夠彼此互動允許對動態(tài)相依性的較有效處置。在其中多個低功率模式重疊的實(shí)施方案中,以此方式界定和管理滯后時間提供用于指定滯后時間的靈活機(jī)制,而不必通過對多個相依組件的滯后時間進(jìn)行“雙計數(shù)”而耗盡滯后時間預(yù)算。這在產(chǎn)生涵蓋多個資源的低功率模式的合成低功率資源模式時尤其有用。在各個方面中,當(dāng)處理器能夠進(jìn)入閑置狀態(tài)時,低功率任務(wù)可運(yùn)行“求解器”進(jìn)程以確定應(yīng)進(jìn)入各種資源的哪些低功率模式。此情況的ー實(shí)例在圖I中說明,圖I說明節(jié)點(diǎn)功率體系結(jié)構(gòu)(NPA) 2內(nèi)的進(jìn)程(即,節(jié)點(diǎn))如何為資源(例如,晶體振蕩器4)確定可進(jìn)入兩個可用低功率模式6、8中的哪ー者。在圖I中說明的實(shí)例中,晶體振蕩器資源4具有兩個替代低功率模式,即門控操作狀態(tài)6和完全關(guān)閉8。針對符合置于低功率模式條件的各種資源中的姆ー者選擇ー組最佳低功率模式涉及針對能夠置于低功率模式的每ー資源選擇可用模式中的一者??赏ㄟ^調(diào)用低功率模式的“進(jìn)入”功能而進(jìn)入選定的低功率模式中的一者。一旦調(diào)用低功率模式的進(jìn)入功能,所述資源就可置于由其選定的低功率資源模式界定的功率節(jié)省狀態(tài)。當(dāng)處理器閑置時,處理器可執(zhí)行等待中斷(WFI)進(jìn)程和/或閑置進(jìn)程。處理器和選定的資源可保持處于此狀態(tài)直到發(fā)生喚醒事件為止。當(dāng)發(fā)生喚醒事件吋,針對每ー選定的資源,可調(diào)用相關(guān)聯(lián)的“退出”功能以使資源返回到所要操作狀態(tài)(例如,正常狀態(tài)或全功率狀態(tài))。圖2到圖4中說明用于實(shí)施各個方面的過程。參看圖2,在方面方法10中,當(dāng)因為客戶端已在框12處釋放資源而使得所述資源不再使用時,可在框14處例如通過實(shí)施如上文列舉的實(shí)例中說明的操作而啟用資源低功率模式旗標(biāo)。此時,資源已指示其可用于置于低功率模式。然而,資源可用于置于低功率模式(例如,其當(dāng)前不在使用中)的事實(shí)并不意味著其應(yīng)該這樣,因為如上文論述,所述決策將取決于資源的低功率模式退出滯后時間和功率節(jié)省以及資源相依性。圖3中說明的方法16可在發(fā)生喚醒事件且客戶端請求接入當(dāng)時處于低功率模式的資源時實(shí)施。在一方面中,當(dāng)客戶端在框18處請求資源時,可在框20處停用所述資源的低功率模式旗標(biāo)。在框22處,可接著通過實(shí)施如上文提及的相關(guān)聯(lián)“退出”功能而重新激活資源。圖4說明處理器可借以識別一組最佳低功率模式以在特定閑置狀態(tài)中實(shí)施的方面方法24。當(dāng)在框26處起始閑置和/或休眠任務(wù)以將處理器置于低功率狀態(tài)時,處理器可通過檢查低功率資源以獲得資源低功率模式旗標(biāo)或經(jīng)由上文描述的語法和運(yùn)算而識別可置于低功率模式的那些資源。在框28處,處理器可例如通過接入針對客戶端界定的數(shù)據(jù)結(jié)構(gòu)來檢查有效客戶端的滯后時間要求,且使用所述信息來確定滯后時間預(yù)算。滯后時間預(yù)算界定系統(tǒng)可在閑置循環(huán)期間適應(yīng)的總體滯后時間。在一方面中,滯后時間預(yù)算可界定為所有并發(fā)處理器和客戶端可接受的所有滯后時間中的最小者。返回圖4,在框30處,處理器可確定預(yù)期閑置時間(例如,在給定當(dāng)前條件的情況下,處理器預(yù)期在喚醒事件之前保持處于閑置狀態(tài)的持續(xù)時間)。在一方面中,當(dāng)計時器事件事先被閑置任務(wù)知曉吋,閑置任務(wù)可調(diào)度喚醒處理在計時器事件之前發(fā)生,使得其不會向喚醒進(jìn)程(例如,硬喚醒或經(jīng)調(diào)度喚醒)添加滯后時間。在另一方面中,當(dāng)一事件預(yù)期發(fā)生但并不精確地知道何時或是否其將確實(shí)發(fā)生時(即,當(dāng)喚醒處理不能事先確定性地完成 時),可使用喚醒時間來拒絕原本可能進(jìn)入的模式(例如,歸因于下一經(jīng)調(diào)度喚醒之前的較長時間)。以上文描述的方式使用預(yù)期喚醒時間在本文中稱為軟喚醒或暗示的喚醒。返回圖4,在框32處,處理器可例如通過接入存儲當(dāng)前溫度和其它感測器值的數(shù)據(jù)寄存器而確定當(dāng)前狀態(tài)條件。使用當(dāng)前狀態(tài)和框28到32處搜集的資源低功率模式數(shù)據(jù),處理器可在框34處執(zhí)行“求解器”函數(shù)以識別最佳低功率模式配置。作為框28到32中的一者或一者以上的一部分,處理器可例如通過計算當(dāng)前溫度(和其它操作條件)下每單位時間的潛在功率節(jié)省乘以預(yù)期閑置時間來計算可針對每ー低功率模式預(yù)期的潛在功率節(jié)省,且使用此值作為框34中的求解器進(jìn)程的一部分。在各個方面中,代替于上文描述的線性功率節(jié)省計算,處理器可在任意模型上或使用另ー非線性功率計算模型計算潛在功率節(jié)省,且使用此值作為框34中的求解器進(jìn)程的一部分???4中的此求解器運(yùn)算可包含評估通過編譯如上文論述的資源定義而產(chǎn)生的合成低功率資源模式。在一方面中,求解器的解可在閑置時間或臨近閑置時間時高速緩存以產(chǎn)生與裝置的當(dāng)前操作狀態(tài)(例如,溫度、有效服務(wù)等)一致的解。在框34中執(zhí)行求解函數(shù)可在框36中識別最佳低功率模式配置。一旦識別出最佳低功率模式配置,處理器就可在框38中例如通過使每一選定資源低功率模式執(zhí)行相關(guān)聯(lián)進(jìn)入功能而進(jìn)入所述模式。系統(tǒng)將保持處于此閑置狀態(tài)和低功率模式直到例如計時器中斷等喚醒事件為止。當(dāng)喚醒事件或中斷發(fā)生時,處理器和相關(guān)聯(lián)資源將例如通過在低功率模式中針對資源中的每ー者執(zhí)行一系列退出功能而退出閑置狀態(tài),這使那些資源返回到其正常操作狀態(tài)。圖5圖解說明界定ー個或ー個以上低功率模式的低功率資源。特定來說,圖3說明三個資源(LPR-A、LPR-B、LPR-C),每ー者具有ー個或ー個以上低功率模式(LPM)。在此說明中,靜態(tài)相依性由 “ Ipr: "a,,、“ Ipr: "b/Ι ”、“ Ipr: "b/2”、“ Ipr: //c/Ι ” 和 “ Ipr: //c/2”表示。如上文論述,每ー低功率資源可通過使用運(yùn)算子的組合而界定其自身的靜態(tài)相依性。舉例來說,圖5展示低功率資源LPR-A具有將其靜態(tài)相依性界定為“l(fā)pr://a&&lpr://b”的低功率模式“LPM-關(guān)閉”。圖5還說明低功率資源可具有ー個以上低功率模式,且每ー低功率模式可獨(dú)立于所述資源內(nèi)的其它模式而界定其自身的相依性。舉例來說,低功率資源LPR-B具有獨(dú)立地將其自身的靜態(tài)相依性界定為空值的兩個低功率模式LPM-l、LPM-2。圖5進(jìn)一步說明低功率模式可界定靜態(tài)和動態(tài)相依性的任何組合。舉例來說,第三低功率資源LPR-C具有兩個低功率模式LPM-l、LPM-2。LPR-C的LPM-I僅具有界定為“(lpr://a| | lpr://b) ”的靜態(tài)相依性,而LPR-C的LPM-2具有靜態(tài)和動態(tài)相依性兩者,所述靜態(tài)相依性界定為“ Ipr: //c”,且所述動態(tài)相依性界定為“l(fā)pr://b/2”。如上文論述,在圖5中說明的配置中,LPM-關(guān)閉具有靜態(tài)相依性“l(fā)pr://a&&lpr://b”。因此,僅當(dāng)設(shè)定旗標(biāo)lpr://a以及l(fā)pr://b/l或lpr://b/2中的一者時才可進(jìn)入低功率模式LPM-關(guān)閉。同樣,由 于LPR-B的LPM-I將lpr://b/l界定為其靜態(tài)相依性,所以其僅當(dāng)設(shè)定lpr://b/l旗標(biāo)時才可進(jìn)入。LPR-B的LPM-2將lpr://b/*界定為靜態(tài)相依性,且因此僅當(dāng)設(shè)定旗標(biāo)lpr://b/l和lpr://b/2兩者時才可進(jìn)入。LPR-C的LPM-1將其靜態(tài)相依性界定為lpr://c/l&&(lpr://a I lpr://b),且可每當(dāng)設(shè)定旗標(biāo)lpr://c/1以及l(fā)pr://a、lpr://b/l或lpr://b/2中的一者時進(jìn)入。LPR-C的LPM-2具有靜態(tài)和動態(tài)相依性兩者。因此,僅當(dāng)已進(jìn)入LPR-B的LPM-2且已設(shè)定lpr://c/l或lpr://c/2旗標(biāo)中的一者時才可進(jìn)入LPR-C的LPM-2。雖然圖5說明低功率模式的特定情況及其相依性,但其中使用的值和結(jié)構(gòu)僅僅是出于說明性目的。除非權(quán)利要求書明確敘述,否則本申請案中任何內(nèi)容均不應(yīng)視為會將本發(fā)明限于特定所說明的值和結(jié)構(gòu)。圖6說明除了相依性外還具有其它功能的低功率模式。特定來說,圖4說明兩個低功率資源LPR-A和LPR-B,每一者具有進(jìn)入功能(al_enter,bl_enter)和退出功能(al_exit,bl_exit)。另外,圖4說明LPR-A具有靜態(tài)相依性“l(fā)pr://a”,其意味著僅當(dāng)在對應(yīng)低功率資源模式的邏輯樹中設(shè)定lpr://a時才可進(jìn)入LPR-A。LPR-B具有靜態(tài)和動態(tài)相依性兩者,所述靜態(tài)相依性為“ lpr: //b ”,且所述動態(tài)相依性為“ lpr: //a/1”。歸因于這些相依性,僅當(dāng)設(shè)定旗標(biāo)lpr://a且先前已進(jìn)入LPR-A的LPM-I時才可進(jìn)入LPR-B。因此,在圖4說明的系統(tǒng)中,僅存在3個可能狀態(tài)不執(zhí)行任何模式;執(zhí)行LPR-A的LPM-I ;或執(zhí)行LPR-A的LPM-I以及LPR-B的LPM-I。雖然僅存在三個可能模式,但描述兩個不同(且獨(dú)立的)低功率資源上的可能模式的子集。可通過將兩個獨(dú)立的低功率資源組合為可準(zhǔn)確反映可能模式的子集的單一合成低功率資源模式來改進(jìn)效率和性能兩者。圖7說明基于圖6中說明的LPR-A和LPR-B的組合的合成低功率資源模式。特定來說,圖7說明在各個方面中有可能使用域特定編譯程序來檢測一組所注冊模式內(nèi)的支配關(guān)系,且將個別低功率資源與相關(guān)模式組合成具有低功率資源模式的組合列表的單一新的合成低功率資源。在各個方面中,此通過域特定編譯程序在注冊時間將各個LPR組合為單一合成低功率資源而實(shí)現(xiàn)。如可從圖7所見,組合的合成低功率資源可具有較少或較簡單的動態(tài)相依性,且因此,休眠問題的復(fù)雜性顯著減小。合成低功率資源還可通過減少求解器進(jìn)程需要操作的獨(dú)立項目的數(shù)目而減小在閑置時間需要作出的決策的復(fù)雜性。并且,當(dāng)這些組合操作由編譯程序重復(fù)執(zhí)行持續(xù)與可進(jìn)行新的組合一樣長的時間時,有可能將動態(tài)相依資源的大樹分解為表示可進(jìn)入的所有獨(dú)立狀態(tài)的合成資源的小得多的子集。由于求解器需要解決的一般化問題是背包問題(計算科學(xué)中已知的NP完成問題),所以“η”的大小的減小顯著減少求解器的運(yùn)行時間。圖7還說明合成LPR-AB具有含有進(jìn)入和退出功能的列表而不是單一進(jìn)入/退出功能對的一個或一個以上模式。當(dāng)資源分解為其組合形式時,其所描述的模式(其最初獨(dú)立實(shí)施)現(xiàn)一起實(shí)施。然而,每一進(jìn)入功能和退出功能的實(shí)施可保持處于其原始獨(dú)立形式。這使得能夠稍后隨著界定更多模式和創(chuàng)建新的合成模式而重新組合所述模式,以及減少模式之間的直接耦合。圖8說明用于產(chǎn)生求解器可用于識別最佳低功率模式配置的合成低功率資源模式的方面方法800。在框802處,組件或裝置開發(fā)者可識別在處理器不在有效處理時能夠停用和/或置于閑置模式的資源。在框804處,組件或裝置開發(fā)者可在域特定語言和/或可編譯表達(dá)式中界定經(jīng)識別低功率資源的低功率資源模式。低功率資源模式可各自識別與資源相關(guān)聯(lián)的一組資源相依性、功率節(jié)省和滯后時間,以及當(dāng)資源不再被利用時其可被置于的低功率狀態(tài)。在框806處,編譯程序可編譯低功率資源模式以產(chǎn)生具有一個或一個以上合成低功率資源模式的一個或一個以上合成低功率資源。低功率資源模式可表不低功率資源模式中的一者或一者以上的功能性、功率節(jié)省、滯后時間和資源相依性。在框808處,處理器可通過識別對于所產(chǎn)生的合成低功率資源中的一者可進(jìn)入的至多一個合成低功率資源模式而選擇一組最佳合成低功率資源模式。在一方面中,可基于處理器的功率節(jié)省、滯后時間和相依性要求而選擇合成低功率資源模式。在框810處,處理器可通過調(diào)用經(jīng)識別的合成低功率資源模式的進(jìn)入功能而將資源置于低功率模式。在框812處,處理器可通過調(diào)用經(jīng)識別的合成低功率資源模式的退出功能而退出低功率模式。當(dāng)將較大且復(fù)雜的樹分成確實(shí)獨(dú)立的合成資源的小得多的子集時,進(jìn)入和退出功能的列表可變得過長。因此,在各個方面中,有可能將即時編譯技術(shù)應(yīng)用于功能列表以動態(tài)地將實(shí)施組合低功率模式的代碼重寫為單一函數(shù)。此有效地優(yōu)化組合低功率模式、消除開銷且有助于減小與進(jìn)入和退出休眠狀態(tài)相關(guān)聯(lián)的滯后時間。舉例來說,在一方面中,兩個或兩個以上資源的滯后時間和功率功能可由域特定編譯程序組合以創(chuàng)建準(zhǔn)確反映每一資源的滯后時間和功率要求的單一合成低功率模式。這些合成的滯后時間和功率要求允許減少當(dāng)處理器進(jìn)入閑置狀態(tài)時所需的功能調(diào)用和數(shù)據(jù)操縱的量。這些合成功能還允許使確定階段脫離休眠時間進(jìn)程且進(jìn)入編譯程序或即時編譯程序。另外,以允許功率和滯后時間功能在不需要完全JIT能力的情況下用算術(shù)方法組合的方式界定所述功率和滯后時間功能。因此,許多處理可從運(yùn)行路徑移除且移動到界定時空中。如上文論述,合成功能還顯著縮減必須檢查的離散項的序。由此,在對NP-硬(例如,背包)問題求解的過程中,需要小得多的序的N,且在更加互相排斥的集合上。因此,不僅N變小而且其變得經(jīng)較好調(diào)節(jié)。這使得有可能找到最佳或接近最佳的解、縮短處理時間且減少優(yōu)化所必需的計算。在各個方面中,低功率資源內(nèi)的所有合成低功率資源模式可能相互排斥。在各個方面中,如果低功率資源內(nèi)的所有合成低功率資源模式相互排斥,那么一旦系統(tǒng)確定一個低功率資源模式與要求匹配,處理器就可停止評估所有其它低功率資源模式,借此改進(jìn)效率。具有相互排斥的虛擬低功率資源模式還使低功率資源模式的選擇成為較簡單的問題,因為系統(tǒng)可簡單地選取節(jié)省最多功率或具有系統(tǒng)所需的其它特性的單一低功率資源模式。 在這些方面中,不僅N變小,而且N依據(jù)待求解的問題而變得表現(xiàn)較好。即,組合這些功能會增加系統(tǒng)需要考慮的相互排斥的類別的量,借此減小復(fù)雜性。在各個其它方面中,即使在系統(tǒng)確定低功率資源模式與要求匹配(盡管確定低功率資源內(nèi)的所有合成低功率資源模式相互排斥)時,處理器也可繼續(xù)評估其它低功率資源。在這些方面中,系統(tǒng)可確定在滿足約束的第一低功率資源模式處停止將不是最佳的。系統(tǒng)可基于額外約束的存在與否而作出此確定。在各個方面中,編譯程序可為便攜式的,以便可在多個處理器體系結(jié)構(gòu)上再使用。JIT編譯程序的一些方面必須是處理器特定的,但存在可用于減小必需的處理器特定代碼的程度的機(jī)制。舉例來說,可將功率和滯后時間功能界定為數(shù)學(xué)表達(dá)式,且通過將數(shù)學(xué)表達(dá)式相加在一起而進(jìn)行JIT運(yùn)算,使得不存在對于JIT編譯程序的此特定操作為必需的處理器特定代碼。在各個方面中,除了功能和相依性外,合成低功率模式還可界定識別操作次序的排序機(jī)制。此對于合成具有必須以特定次序滿足的功能相依性的模式可能是關(guān)鍵的。另外,即使當(dāng)存在需要特定排序的功能要求時,也有可能一些排序在功率和/或性能上比其它排序更有效。通過允許LPRM經(jīng)由LPMDSL指定其必須領(lǐng)先或繼后于哪些其它LPRM,LPRM可確 保適當(dāng)?shù)墓δ芑虿僮髋判?。接著將以此次序?zhí)行合成LPRM。在各個方面中,除了界定功率節(jié)省和滯后時間信息外,低功率模式還可界定相關(guān)聯(lián)的退避時間。所述退避時間指示必須允許低功率模式在下一經(jīng)調(diào)度喚醒事件發(fā)生之前退出的時間量。退避時間可從經(jīng)調(diào)度截止時間減去,以便計算允許系統(tǒng)在截止時間期滿之前退出低功率模式的喚醒點(diǎn)。這對于滿足系統(tǒng)中的功能截止時間可能是關(guān)鍵的。退避時間小于或等于退出滯后時間。在退出滯后時間可表示來自多個處理器的用于退出低功率模式的開銷的情況下,退避時間僅表示來自本地處理器的用于退出所述模式的開銷。在各個方面中,可在軟件建置過程期間脫離目標(biāo)而執(zhí)行界定功率節(jié)省、滯后時間信息和相關(guān)聯(lián)退避時間的過程。在各個方面中,這為系統(tǒng)提供上文描述的大多數(shù)相同益處,但具有較低存儲器消耗。用于與各個實(shí)施例一起使用的典型移動裝置900將共同具有圖9中說明的組件。舉例來說,示范性移動接收器裝置900可包含耦合到內(nèi)部存儲器902、顯示器903且耦合到揚(yáng)聲器909的處理器901。另外,移動裝置900可具有天線904,天線904用于發(fā)送和接收電磁輻射,且連接到耦合到處理器901的移動多媒體接收器906。在一些實(shí)施例中,移動多媒體接收器906可包含內(nèi)部處理器908,例如數(shù)字信號處理器(DSP),用于控制接收器906的操作且與裝置處理器901通信。移動裝置通常還包含小鍵盤906或微型鍵盤和菜單選擇按鈕或搖臂開關(guān)907以用于接收用戶輸入。處理器901可為可由軟件指令(應(yīng)用程序)配置以執(zhí)行多種功能(包含本文描述的各個實(shí)施例的功能)的任何可編程微處理器、微計算機(jī)或多處理器芯片。并且,各個實(shí)施例的功能可在配置有DSP可執(zhí)行指令的接收器906內(nèi)的DSP處理器908中實(shí)施。通常,軟件應(yīng)用程序和處理器可執(zhí)行指令可在其被存取和加載到處理器901中之前存儲在內(nèi)部存儲器902中。在一些移動裝置中,處理器901可包含足以存儲應(yīng)用程序軟件指令的內(nèi)部存儲器。在一些移動裝置中,安全存儲器可在耦合到處理器901的單獨(dú)存儲器芯片中。在許多移動裝置900中,內(nèi)部存儲器902可為易失性或非易失性存儲器(例如,快閃存儲器),或兩者的混合物。出于此描述的目的,對存儲器的一般參考指代處理器901可存取的所有存儲器,包含內(nèi)部存儲器902、插入到移動裝置中的可移除式存儲器,以及處理器901本身內(nèi)的存儲器。前述方法描述和過程流程圖僅作為說明性實(shí)例而提供,且不表示需要或暗示必須以所呈現(xiàn)的次序執(zhí)行各種實(shí)施例的步驟。如所屬領(lǐng)域的技術(shù)人員將了解,前述實(shí)施例中的步驟次序可以任何次序執(zhí)行。例如“隨后”、“接著”、“接下來”等詞語不希望限制步驟的次序;這些詞語僅用于引導(dǎo)讀者通讀方法的描述。此外,例如使用詞“一”或“所述”以單數(shù)形式對權(quán)利要求元件的任何參考不應(yīng)解釋為將元件限于單數(shù)形式。結(jié)合本文中所揭示的配置而描述的各種說明性邏輯塊、模塊、電路和算法步驟可被實(shí)施為電子硬件、計算機(jī)軟件或兩者的組合。為清楚說明硬件與軟件的此可互換性,上文已大致關(guān)于其功能性而描述了各種說明性組件、塊、模塊、電路及步驟。所述功能性是實(shí)施為硬件還是軟件取決于特定應(yīng)用及施加于整個系統(tǒng)的設(shè)計約束。所屬領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用以不同方式來實(shí)施所描述的功能性,但所述實(shí)施方案決定不應(yīng)被解釋為會導(dǎo)致脫離本發(fā)明的范圍。用于實(shí)施結(jié)合本文所揭示的實(shí)施例而描述的各種說明性邏輯、邏輯塊、模塊和電路的硬件可用通用處理器、數(shù)字信號處理器(DSP)、多媒體廣播接收器芯片內(nèi)的DSP、專用 集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或經(jīng)設(shè)計以執(zhí)行本文所描述的功能的其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件或其任何組合來實(shí)施或執(zhí)行。通用處理器可以是微處理器,但在替代方案中,處理器可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可實(shí)施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器的組合、一個或一個以上微處理器與DSP核心的聯(lián)合,或任何其它此配置?;蛘撸恍┎襟E或方法可由特定用于給定功能的電路執(zhí)行。在一個或一個以上示范性實(shí)施例中,所描述的功能可在硬件、軟件、固件或其任何組合中實(shí)施。如果實(shí)施于軟件中,則可將功能作為計算機(jī)可讀媒體上的一個或一個以上指令或代碼而加以存儲或傳輸。本文揭示的方法或算法的步驟可體現(xiàn)于可駐留在計算機(jī)可讀媒體上的所執(zhí)行的處理器可執(zhí)行軟件模塊中。計算機(jī)可讀媒體包括計算機(jī)存儲媒體與包括促進(jìn)計算機(jī)程序從一處傳遞到另一處的任何媒體的通信媒體兩者。存儲媒體可為可由計算機(jī)存取的任何可用媒體。作為實(shí)例而非限制,此計算機(jī)可讀媒體可包含RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置,或可用以運(yùn)載或存儲呈指令或數(shù)據(jù)結(jié)構(gòu)形式的所要程序代碼且可通過計算機(jī)存取的任何其它媒體。同樣,可恰當(dāng)?shù)貙⑷魏芜B接稱作計算機(jī)可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電及微波的無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸軟件,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無線電及微波的無線技術(shù)包括于媒體的定義中。如本文中所使用,磁盤及光盤包括緊密光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟磁盤及藍(lán)光光盤,其中磁盤通常磁性地復(fù)制數(shù)據(jù),而光盤使用激光光學(xué)地復(fù)制數(shù)據(jù)。上文的組合也應(yīng)包括在計算機(jī)可讀媒體的范圍內(nèi)。另外,方法或算法的操作可作為代碼和/或指令的一者或任何組合或集合而駐留在可并入到計算機(jī)程序產(chǎn)品中的機(jī)器可讀媒體和/或計算機(jī)可讀媒體上。提供所揭示實(shí)施例的先前描述是為了使所屬領(lǐng)域的技術(shù)人員能夠制作或使用本發(fā)明。所屬領(lǐng)域的技術(shù)人員將容易明白對這些實(shí)施例的各種修改,且在不脫離本發(fā)明的精神或范圍的情況下,本文所界定的一般原理可應(yīng)用于其它實(shí)施例。因此,不希望本發(fā)明限于本文展示的實(shí)施例,而是本發(fā)明應(yīng)被賦予與所附權(quán)利要求書以及本文揭示的原理和新穎特征一致的最廣范圍。
權(quán)利要求
1.ー種用于節(jié)省具有多個資源和至少ー個處理器的計算裝置中的功率的方法,其包括 在可編譯表達(dá)式中界定多個低功率資源模式,所述低功率資源模式識別與資源相關(guān)聯(lián)的一組資源相依性、功率節(jié)省和滯后時間特性,以及當(dāng)不在使用中時所述多個資源中的每一者可被置于的低功率狀態(tài); 編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源,每ー合成低功率資源具有表示所述低功率資源模式中的一者或一者以上的功能性、功率節(jié)省、滯后時間和資源相依性特性的ー個或ー個以上合成低功率資源模式;基于所述模式的功率節(jié)省、滯后時間和相依性要求為每ー合成低功率資源選擇至多ー個合成低功率資源模式;以及 當(dāng)系統(tǒng)變得閑置以及脫離閑置時以適當(dāng)次序進(jìn)入和退出所述選定的合成低功率資源模式。
2.根據(jù)權(quán)利要求I所述的方法,其中考慮到操作溫度來選擇所述低功率資源模式。
3.根據(jù)權(quán)利要求I所述的方法,其中將合成低功率資源內(nèi)的所有所述合成低功率資源模式產(chǎn)生為相互排斥的。
4.根據(jù)權(quán)利要求I所述的方法,其中每ー合成低功率資源模式界定識別其中所述處理器必須選擇、進(jìn)入和退出所述合成低功率資源模式的操作的次序的排序機(jī)制。
5.根據(jù)權(quán)利要求I所述的方法,其中由遵守所述低功率資源模式之間的相依性關(guān)系的域特定編譯程序產(chǎn)生所述合成低功率資源。
6.根據(jù)權(quán)利要求I所述的方法,其進(jìn)ー步包括評估每一資源的所述低功率資源模式以基于所述資源相依性、功率節(jié)省、預(yù)期閑置時間和滯后時間特性為可置于低功率狀態(tài)的每一資源選擇ー個低功率資源模式。
7.根據(jù)權(quán)利要求I所述的方法,其中編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生一個或ー個以上合成低功率資源包括針對每ー個或ー個以上合成低功率資源模式界定相關(guān)聯(lián)的退避時間,所述退避時間指示允許所述合成低功率資源模式在下ー經(jīng)調(diào)度喚醒事件發(fā)生之前退出的時間量。
8.根據(jù)權(quán)利要求I所述的方法,其中所述低功率資源模式中的每ー者具有進(jìn)入功能和退出功能。
9.根據(jù)權(quán)利要求8所述的方法,其中每ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述進(jìn)入功能具有相同功能性的進(jìn)入功能。
10.根據(jù)權(quán)利要求8所述的方法,其中每ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述退出功能具有相同功能性的退出功能。
11.根據(jù)權(quán)利要求8所述的方法,其中使用即時編譯技術(shù)來動態(tài)地重寫與兩個或兩個以上低功率資源模式的功能相關(guān)聯(lián)的代碼,以產(chǎn)生與所述兩個或兩個以上低功率資源模式的所述功能具有相同功能性的単一合成功能。
12.根據(jù)權(quán)利要求I所述的方法,其進(jìn)ー步包括基于處理器和客戶端所識別的滯后時間要求來確定滯后時間預(yù)算。
13.根據(jù)權(quán)利要求12所述的方法,其中基于所述低功率資源模式具有小于所述滯后時間預(yù)算的滯后時間要求而選擇所述低功率資源模式。
14.ー種具有多個資源和至少ー個處理器的計算裝置,其包括 用于在可編譯表達(dá)式中界定多個低功率資源模式的裝置,所述低功率資源模式識別與資源相關(guān)聯(lián)的一組資源相依性、功率節(jié)省和滯后時間特性,以及當(dāng)不在使用中時所述多個資源中的每ー者可被置于的低功率狀態(tài); 用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的裝置,每ー合成低功率資源具有表示所述低功率資源模式中的一者或一者以上的功能性、功率節(jié)省、滯后時間和資源相依性特性的ー個或ー個以上合成低功率資源模式; 用于基于所述模式的功率節(jié)省、滯后時間和相依性要求為每ー合成低功率資源選擇至多ー個合成低功率資源模式的裝置;以及 用于當(dāng)系統(tǒng)變得閑置以及脫離閑置時以適當(dāng)次序進(jìn)入和退出所述選定的合成低功率資源模式的裝置。
15.根據(jù)權(quán)利要求14所述的計算裝置,其中用于為每一合成低功率資源選擇至多ー個合成低功率資源模式的裝置包括用于考慮到操作溫度來為每ー合成低功率資源選擇至多ー個合成低功率資源模式的裝置。
16.根據(jù)權(quán)利要求14所述的計算裝置,其中用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的裝置包括用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源,使得合成低功率資源內(nèi)的所有所述合成低功率資源模式為相互排斥的裝置。
17.根據(jù)權(quán)利要求14所述的計算裝置,其中用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的裝置包括用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源使得每ー合成低功率資源模式界定識別其中所述處理器必須選擇、進(jìn)入和退出所述合成低功率資源模式的操作的次序的排序機(jī)制的裝置。
18.根據(jù)權(quán)利要求14所述的計算裝置,其中用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的裝置包括用于使用遵守所述低功率資源模式之間的相依性關(guān)系的域特定編譯程序來編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生一個或ー個以上合成低功率資源的裝置。
19.根據(jù)權(quán)利要求14所述的計算裝置,其進(jìn)ー步包括 用于評估每ー資源的所述低功率資源模式以基于所述資源相依性、功率節(jié)省、預(yù)期閑置時間和滯后時間特性為可置于低功率狀態(tài)的每一資源選擇ー個低功率資源模式的裝置。
20.根據(jù)權(quán)利要求14所述的計算裝置,其中用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的裝置包括用于針對每ー個或ー個以上合成低功率資源模式界定相關(guān)聯(lián)的退避時間的裝置,所述退避時間指示允許所述合成低功率資源模式在下ー經(jīng)調(diào)度喚醒事件發(fā)生之前退出的時間量。
21.根據(jù)權(quán)利要求14所述的計算裝置,其中所述低功率資源模式中的每ー者具有進(jìn)入功能和退出功能。
22.根據(jù)權(quán)利要求21所述的計算裝置,其中用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的裝置包括用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源使得姆ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述進(jìn)入功能具有相同功能性的進(jìn)入功能的裝置。
23.根據(jù)權(quán)利要求21所述的計算裝置,其中用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源的裝置包括用于編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源使得姆ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述退出功能具有相同功能性的退出功能的裝置。
24.根據(jù)權(quán)利要求21所述的計算裝置,其中使用即時編譯技術(shù)來動態(tài)地重寫與兩個或兩個以上低功率資源模式的功能相關(guān)聯(lián)的代碼,以產(chǎn)生與所述兩個或兩個以上低功率資源模式的所述功能具有相同功能性的単一合成功能。
25.根據(jù)權(quán)利要求14所述的計算裝置,其進(jìn)ー步包括 用于基于處理器和客戶端識別的滯后時間要求來確定滯后時間預(yù)算的裝置。
26.根據(jù)權(quán)利要求25所述的計算裝置,其中用于為每一合成低功率資源選擇至多ー個合成低功率資源模式的裝置包括用于通過基于所述低功率資源模式具有小于所述滯后時間預(yù)算的滯后時間要求而選擇所述低功率資源模式來為每ー合成低功率資源選擇至多一個合成低功率資源模式的裝置。
27.ー種用于節(jié)省具有多個資源的計算裝置中的功率的設(shè)備,所述設(shè)備包括 存儲器緩沖器;以及 耦合到所述存儲器緩沖器的處理器,其中所述處理器配置有用以執(zhí)行包括以下各項的操作的軟件指令 在可編譯表達(dá)式中界定多個低功率資源模式,所述低功率資源模式識別與資源相關(guān)聯(lián)的一組資源相依性、功率節(jié)省和滯后時間特性,以及當(dāng)不在使用中時所述多個資源中的每一者可被置于的低功率狀態(tài); 編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源,每ー合成低功率資源具有表示所述低功率資源模式中的一者或一者以上的功能性、功率節(jié)省、滯后時間和資源相依性特性的ー個或ー個以上合成低功率資源模式; 基于所述模式的功率節(jié)省、滯后時間和相依性要求為每ー合成低功率資源選擇至多一個合成低功率資源模式;以及 當(dāng)系統(tǒng)變得閑置以及脫離閑置時以適當(dāng)次序進(jìn)入和退出所述選定的合成低功率資源模式。
28.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得考慮到操作溫度來選擇所述低功率資源模式。
29.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得將合成低功率資源內(nèi)的所有所述合成低功率資源模式產(chǎn)生為相互排斥的。
30.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得每ー合成低功率資源模式界定識別其中所述處理器必須選擇、進(jìn)入和退出所述合成低功率資源模式的操作的次序的排序機(jī)制。
31.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得由遵守所述低功率資源模式之間的相依性關(guān)系的域特定編譯程序產(chǎn)生所述合成低功率資源。
32.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器配置有軟件指令以執(zhí)行進(jìn)ー步包括以下各項的操作評估每一資源的所述低功率資源模式以基于所述資源相依性、功率節(jié)省、預(yù)期閑置時間和滯后時間特性為可置于低功率狀態(tài)的每一資源選擇ー個低功率資源模式。
33.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源包括針對每一個或ー個以上合成低功率資源模式界定相關(guān)聯(lián)的退避時間,所述退避時間指示允許所述合成低功率資源模式在下ー經(jīng)調(diào)度喚醒事件發(fā)生之前退出的時間量。
34.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得所述低功率資源模式中的每ー者具有進(jìn)入功能和退出功能。
35.根據(jù)權(quán)利要求34所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得每ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述進(jìn)入功能具有相同功能性的進(jìn)入功能。
36.根據(jù)權(quán)利要求34所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得每ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述退出功能具有相同功能性的退出功能。
37.根據(jù)權(quán)利要求34所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得使用即時編譯技術(shù)來動態(tài)地重寫與兩個或兩個以上低功率資源模式的功能相關(guān)聯(lián)的代碼,以產(chǎn)生與所述兩個或兩個以上低功率資源模式的所述功能具有相同功能性的単一合成功能。
38.根據(jù)權(quán)利要求27所述的設(shè)備,其中所述處理器配置有軟件指令以執(zhí)行進(jìn)ー步包括以下各項的操作 基于處理器和客戶端識別的滯后時間要求來確定滯后時間預(yù)算。
39.根據(jù)權(quán)利要求38所述的設(shè)備,其中所述處理器進(jìn)ー步配置有軟件指令,使得基于所述低功率資源模式具有小于所述滯后時間預(yù)算的滯后時間要求而選擇所述低功率資源模式。
40.ー種非暫時性存儲媒體,其上存儲有處理器可執(zhí)行軟件指令,所述指令經(jīng)配置以使處理器執(zhí)行用于節(jié)省具有多個資源的計算裝置中的功率的操作,所述操作包括 在可編譯表達(dá)式中界定多個低功率資源模式,所述低功率資源模式識別與資源相關(guān)聯(lián)的一組資源相依性、功率節(jié)省和滯后時間特性,以及當(dāng)不在使用中時所述多個資源中的每一者可被置于的低功率狀態(tài); 編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源,每ー合成低功率資源具有表示所述低功率資源模式中的一者或一者以上的功能性、功率節(jié)省、滯后時間和資源相依性特性的ー個或ー個以上合成低功率資源模式; 基于所述模式的功率節(jié)省、滯后時間和相依性要求為每ー合成低功率資源選擇至多一個合成低功率資源模式;以及 當(dāng)系統(tǒng)變得閑置以及脫離閑置時以適當(dāng)次序進(jìn)入和退出所述選定的合成低功率資源模式。
41.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得考慮到操作溫度來選擇所述低功率資源模式。
42.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得將合成低功率資源內(nèi)的所有所述合成低功率資源模式產(chǎn)生為相互排斥的。
43.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得每ー合成低功率資源模式界定識別其中所述處理器必須選擇、進(jìn)入和退出所述合成低功率資源模式的操作的次序的排序機(jī)制。
44.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得由遵守所述低功率資源模式之間的相依性關(guān)系的域特定編譯程序產(chǎn)生所述合成低功率資源。
45.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行進(jìn)ー步包括以下各項的操作 評估每一資源的所述低功率資源模式以基于所述資源相依性、功率節(jié)省、預(yù)期閑置時間和滯后時間特性為可置于低功率狀態(tài)的每一資源選擇ー個低功率資源模式。
46.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得編譯所述經(jīng)界定的多個低功率資源模式以產(chǎn)生ー個或ー個以上合成低功率資源包括針對每ー個或ー個以上合成低功率資源模式界定相關(guān)聯(lián)的退避時間,所述退避時間指示允許所述合成低功率資源模式在下ー經(jīng)調(diào)度喚醒事件發(fā)生之前退出的時間量。
47.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得所述低功率資源模式中的每ー者具有進(jìn)入功能和退出功能。
48.根據(jù)權(quán)利要求47所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得每ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述進(jìn)入功能具有相同功能性的進(jìn)入功能。
49.根據(jù)權(quán)利要求47所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得每ー合成低功率資源模式具有與兩個或兩個以上低功率資源模式的所述退出功能具有相同功能性的退出功能。
50.根據(jù)權(quán)利要求47所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得使用即時編譯技術(shù)來動態(tài)地重寫與兩個或兩個以上低功率資源模式的功能相關(guān)聯(lián)的代碼,以產(chǎn)生與所述兩個或兩個以上低功率資源模式的所述功能具有相同功能性的単一合成功能。
51.根據(jù)權(quán)利要求40所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行進(jìn)ー步包括以下各項的操作 基于處理器和客戶端識別的滯后時間要求來確定滯后時間預(yù)算。
52.根據(jù)權(quán)利要求51所述的非暫時性存儲媒體,其中所述所存儲的處理器可執(zhí)行軟件指令經(jīng)配置以使處理器執(zhí)行操作,使得基于所述低功率資源模式具有小于所述滯后時間預(yù)算的滯后時間要求而選擇所述低功率資源模式。
全文摘要
本發(fā)明的方面使計算裝置或微處理器能夠確定低功率模式,其通過將選定資源置于低功率模式并同時繼續(xù)可靠地起作用而提供最多的系統(tǒng)功率節(jié)省,這是依據(jù)不在使用中的資源、可接受的系統(tǒng)滯后時間、動態(tài)操作條件(例如,溫度)、預(yù)期閑置時間以及特定裝置的獨(dú)特電特性而進(jìn)行。本發(fā)明的方面提供用于編譯多個低功率資源模式以產(chǎn)生一個或一個以上合成低功率資源的機(jī)制和方法,可從所述一個或一個以上合成低功率資源中選擇由一組選定合成低功率資源組成的最佳低功率模式配置。
文檔編號G06F1/32GK102695999SQ201180005642
公開日2012年9月26日 申請日期2011年1月10日 優(yōu)先權(quán)日2010年1月11日
發(fā)明者安德魯·J·弗朗茨, 特雷西·A·厄爾默, 諾曼·S·加爾加石 申請人:高通股份有限公司