嵌入式便攜設(shè)備電源管理的分析案例
引言
現(xiàn)今對(duì)電子系統(tǒng)設(shè)備性能的要求越來越高,在權(quán)衡電子系統(tǒng)的性能和功耗時(shí),電子系統(tǒng)的性能往往得到更多的重視。容量有限的電池是便攜設(shè)備的惟一能量來源,而電池容量的提高速度明顯趕不上中央處理器性能的提高速度,因此,如何利用有限的電能為便攜設(shè)備提供最高性能, 是便攜設(shè)備中電源管理的主要目標(biāo)。除此之外,電源管理還要兼顧穩(wěn)定性和散熱性。電源管理模塊是在可編程電管理的設(shè)備上,為電源管理提供實(shí)現(xiàn)各種功耗模式的應(yīng)用編程接口的軟件模塊。
功率消耗有兩種方式: 靜態(tài)功耗和動(dòng)態(tài)功耗。靜態(tài)功耗主要為晶體管泄漏leakage)功率;動(dòng)態(tài)功耗則來源于電路有效性激活,例如地址線或者數(shù)據(jù)線輸入時(shí)引起的寄存器線路的有效性激活。 開關(guān)電容所消耗的功率是動(dòng)態(tài)功率消耗的最主要組成部分,即在電路輸出時(shí)開關(guān)電容進(jìn)行充放電過程所消耗的功率:
由式(1)可知 Pdynamic 依賴以下 4 個(gè)參數(shù): C(電容量)、V(電壓)、f(信號(hào)頻率)和 a(可變因數(shù))。其中,a 與芯片中出現(xiàn) 0-1 轉(zhuǎn)換的次數(shù)有關(guān)。降低動(dòng)態(tài)功耗的方法相應(yīng)地分為 4 類:
① 降低電容量或者電路的儲(chǔ)電量。
② 降低開關(guān)的活躍性。由于計(jì)算機(jī)芯片被越來越復(fù)雜的功能性所包裝,使得芯片的開關(guān)活躍性增強(qiáng), 因而降低開關(guān)活躍性對(duì)降低系統(tǒng)動(dòng)態(tài)功耗起到的作用越來越大。時(shí)鐘門控(time gating)技術(shù)是當(dāng)前流行的降低開關(guān)活躍性的技術(shù),這種技術(shù)使得時(shí)鐘信號(hào)不通過閑置應(yīng)用單元。 因?yàn)闀r(shí)鐘網(wǎng)絡(luò)是芯片功率消耗的主要部分,這種技術(shù)恰恰可以在處理器中有效地降低功率和電量消耗。
③ 降低信號(hào)頻率。
④ 降低電壓。
后兩種方法是以降低系統(tǒng)性能為代價(jià)的, 但同時(shí)也是降低系統(tǒng)功耗的主要手段。系統(tǒng)電源管理就是通過認(rèn)識(shí)系統(tǒng)任務(wù)(task)和狀態(tài)(status),利用合理的電源管理策略,權(quán)衡提高系統(tǒng)性能和降低系統(tǒng)功耗之間的關(guān)系,在功耗最低的情況下,為系統(tǒng)應(yīng)用提供最優(yōu)性能。本文從任務(wù)信息和系統(tǒng)狀態(tài)兩個(gè)角度對(duì)降低系統(tǒng)功耗的管理進(jìn)行探討研究, 并提出一種基于最高決策的系統(tǒng)級(jí)電源管理模塊構(gòu)架。
1 功耗管理技術(shù)分析
1.1 系統(tǒng)狀態(tài)、任務(wù)和電源管理策略信息
電源管理的前提是對(duì)系統(tǒng)設(shè)備狀態(tài)及任務(wù)信息的準(zhǔn)確檢測(cè)和管理, 以及對(duì)電源管理策略進(jìn)行準(zhǔn)確的效率統(tǒng)計(jì)。
系統(tǒng)狀態(tài)包括 Running(工作)狀態(tài)、Idle(空閑)狀態(tài)和 Sleep(休眠)狀態(tài)。有的系統(tǒng)可以提供多模式的工作狀態(tài),區(qū)別主要在于處理器工作頻率、工作電壓和設(shè)備組合的不同。任務(wù)的實(shí)時(shí)指標(biāo)包括響應(yīng)時(shí)間(response time)、延時(shí)(latency)和任務(wù)截止期(deadline)。硬實(shí)時(shí)任務(wù)對(duì)這些指標(biāo)有硬性的要求,當(dāng)系統(tǒng)不能達(dá)到該指標(biāo)時(shí),提供的數(shù)據(jù)或服務(wù)就會(huì)完全失效,甚至造成災(zāi)難性的后果;軟實(shí)時(shí)任務(wù)則對(duì)其只有軟性要求,達(dá)不到指標(biāo)的后果只是無法提供要求的服務(wù)質(zhì)量。 任務(wù)的信息除了實(shí)時(shí)指標(biāo)以外, 還有執(zhí)行任務(wù)所使用的設(shè)備部件。如果是多工作模式系統(tǒng),則還要包括執(zhí)行該任務(wù)的最低工作模式。許多操作系統(tǒng)和處理器都能夠提供很好的檢測(cè)模塊和功能單元。例如,Linux 的 timer 函數(shù)可以提供系統(tǒng)狀態(tài)監(jiān)測(cè)計(jì)時(shí), Intel XScale 處理器的 PMU(Performance Monitoring Unit)單元,可以用來監(jiān)視 XScale 平臺(tái)的工作情況。對(duì)系統(tǒng)狀態(tài)和任務(wù)信息的檢測(cè)和管理是管理模塊中的重要部分
一。 電源管理策略信息包括核心算法和工作效率。 衡量電源管理策略的效率可以通過計(jì)算 “競(jìng)爭(zhēng)比” (competitive ratio) 和 “錯(cuò)誤率” 等來判斷。
在利用競(jìng)爭(zhēng)分析方法分析電源管理策略中使用了“競(jìng)爭(zhēng)比”這個(gè)衡量指標(biāo)。競(jìng)爭(zhēng)分析方法的前提: 假設(shè)所研究的問題有一個(gè)競(jìng)爭(zhēng)對(duì)手,而且這個(gè)對(duì)手對(duì)該問題的輸入能夠產(chǎn)生影響。競(jìng)爭(zhēng)比的定義是在線(online)策略所消耗的資源與完成任務(wù)可能消耗的最少資源之間的比值。這里,在線策略是針對(duì)負(fù)載未知的系統(tǒng)的電源管理策略。因?yàn)樵趯?shí)際系統(tǒng)中,系統(tǒng)下一個(gè)任務(wù)請(qǐng)求的到達(dá)時(shí)間是不可能完全正確預(yù)知的, 而可能消耗的最少資源就是在電源管理策略能完全正確預(yù)知下一個(gè)任務(wù)請(qǐng)求到達(dá)時(shí)間的前提下所消耗的資源。這里的資源可以簡(jiǎn)單地用功耗代替,也可以結(jié)合系統(tǒng)執(zhí)行任務(wù)的延時(shí),即系統(tǒng)性能。預(yù)測(cè)錯(cuò)誤率是針對(duì)預(yù)測(cè)策略的效率指標(biāo),它等于預(yù)測(cè)錯(cuò)誤次數(shù)與總預(yù)測(cè)次數(shù)之間的比值,并可利用布爾數(shù)來判斷預(yù)測(cè)錯(cuò)誤率的評(píng)估函數(shù)。
1.2 Running 狀態(tài)下的電源管理方法
當(dāng)系統(tǒng)處于 Running 狀態(tài)時(shí),電源管理模塊根據(jù)任務(wù)信息,在完成任務(wù)的前提下,通過轉(zhuǎn)換系統(tǒng)設(shè)備的狀態(tài)或者工作模式來達(dá)到降低功耗的目的。例如: 任務(wù)按照運(yùn)算密集型和存取密集型分類,在執(zhí)行運(yùn)算密集型的任務(wù)時(shí),可以在保證任務(wù)完成的實(shí)時(shí)需求的前提下通過降低總線頻率來降低系統(tǒng)功耗; 在執(zhí)行存取密集型的任務(wù)時(shí),可以通過降低處理器的工作頻率來降低功耗。
當(dāng)系統(tǒng)執(zhí)行多工作量的任務(wù)或者同時(shí)執(zhí)行多任務(wù)時(shí), 有效的電源管理策略是任務(wù)調(diào)度和任務(wù)截止期(deadline)相結(jié)合的電源管理策略。這種電源管理策略的基本思想是: 將任務(wù)按使用設(shè)備和任務(wù)集合分組,羅列所有調(diào)度可能,排除約束條件(在截止期內(nèi)完成)以外的調(diào)度,在任務(wù)截止期內(nèi)盡量使同組任務(wù)集中執(zhí)行,從而使系統(tǒng)空閑時(shí)間盡可能集中,以實(shí)現(xiàn)動(dòng)態(tài)電源管理。應(yīng)用于該策略的任務(wù)調(diào)度流程如圖 1 所示。
基于任務(wù)調(diào)度和任務(wù)截止期的電源管理策略的調(diào)度任務(wù)原則是:
① 調(diào)度能耗越低,則優(yōu)先級(jí)越高;同組的任務(wù)按截止期排序;每組第一個(gè)任務(wù)的截止期越早, 則該組調(diào)度的優(yōu)先級(jí)越高; 每組最后一個(gè)任務(wù)的截止期越早,則該組調(diào)度的優(yōu)先級(jí)越高。
② 對(duì)于調(diào)度能耗與截止期完全相同的調(diào)度,先到達(dá)者具有更高的優(yōu)先級(jí)。 ③ 當(dāng)有外部任務(wù)請(qǐng)求使用休眠的設(shè)備時(shí),電源管理模塊重新安排任務(wù)的優(yōu)先級(jí)。
設(shè)連續(xù)函數(shù) P(s),如果系統(tǒng)設(shè)備運(yùn)行在速度 s 下,則其消耗的功率為 P。根據(jù)基于 CMOS 工藝的設(shè)備的立方根(cube root)原理,這是一個(gè)嚴(yán)格的凸函數(shù),它傳達(dá)的信息是,任務(wù)進(jìn)行得越慢,越節(jié)省功耗。這是基于任務(wù)截止期約束任務(wù)完成的電源管理策略的基本出發(fā)點(diǎn)。 當(dāng)前有不少基于任務(wù)截止期約束任務(wù)完成的電源管理策略,例如簡(jiǎn)單化的在線策略 AVR[3](Average Rate)、OA(Optimal Available)和 BKP 策略[4]等就是這類策略的典型。其中: AVR 策略假設(shè)系統(tǒng)中只有一個(gè)任務(wù)在執(zhí)行;OA 策略假設(shè)不會(huì)再有新任務(wù)進(jìn)入安排;而 BKP 策略則在 c 比較大時(shí)才能夠很好地降低功耗。
1.3 Idle 狀態(tài)下的電源管理方法
系統(tǒng)設(shè)備完成任務(wù)后,將處于 Idle 狀態(tài)的系統(tǒng)設(shè)備進(jìn)行狀態(tài)轉(zhuǎn)換是該狀態(tài)下電源管理的主要方法。主流策略有 Timeout 策略、基于預(yù)測(cè)的管理策略和基于隨機(jī)的管理策略。其中,Timeout 策略最簡(jiǎn)單易行。該策略流程如圖 2 所示。
系統(tǒng)完成所有任務(wù)后,處于 Idle 狀態(tài)的持續(xù)時(shí)間超過該閾值時(shí),電源管理模塊將系統(tǒng)轉(zhuǎn)換至 Sleep 狀態(tài),直到有新任務(wù)請(qǐng)求到達(dá)時(shí)再喚醒系統(tǒng)。通過這種方式達(dá)到降低系統(tǒng)設(shè)備功耗的目的。該時(shí)間間隔可由系統(tǒng)提供的計(jì)時(shí)模塊設(shè)定,而時(shí)間閾值 Tth 的設(shè)定由下式確定:
式中: Etran 是已知的系統(tǒng)從 Idle 狀態(tài)到 Sleep 狀態(tài)再到喚醒,共兩次狀態(tài)轉(zhuǎn)換所消耗的總能量;PI 是系統(tǒng)處于 Idle 狀態(tài)所消耗的功率。
圖 3 為 Timeout 策略中兩種性能的損耗情況。圖中,E 為 Running(工作)狀態(tài)時(shí)間,I 為 Idle 狀態(tài)時(shí)間,F(xiàn) 為時(shí)間閾值,D 為狀態(tài)轉(zhuǎn)換時(shí)間,S 為休眠狀態(tài)時(shí)間,W 為系統(tǒng)設(shè)備喚醒時(shí)間。該策略簡(jiǎn)單,但缺點(diǎn)也很明顯。如圖 3 所示,
當(dāng) I>F+D 時(shí),等待時(shí)間閾值的設(shè)定容易損失更多的降功機(jī)會(huì),同時(shí)因?yàn)橄到y(tǒng)狀態(tài)喚醒轉(zhuǎn)換的耗時(shí)耗能,必然引起任務(wù)等待延時(shí);甚至當(dāng) F+D>I>F 時(shí),延時(shí)會(huì)大于喚醒耗時(shí),這將造成很大的性能損失;同時(shí)任務(wù)執(zhí)行時(shí)間的延時(shí),還會(huì)直接導(dǎo)致下一個(gè) Idle 狀態(tài)持續(xù)時(shí)間的縮短。這樣基于對(duì)任務(wù)完成后 Idle 狀態(tài)時(shí)間和下一個(gè)任務(wù)來臨時(shí)間的預(yù)測(cè)的電源管理策略就顯得很有效率。
基于預(yù)測(cè)的電源管理策略是根據(jù)系統(tǒng)信息(包括歷史信息和用戶習(xí)慣等),對(duì)系統(tǒng)將要處于 Idle 狀態(tài)的持續(xù)時(shí)間 Tpred 進(jìn)行預(yù)測(cè)。比較 Tpred 和 Tth,當(dāng)Tpred≥Tth 時(shí)在任務(wù)完成后立即將系統(tǒng)轉(zhuǎn)換到休眠狀態(tài);否則,繼續(xù)維持系統(tǒng)Idle 狀態(tài)。預(yù)測(cè)時(shí)刻和 Idle 狀態(tài)中的預(yù)測(cè)間隔由具體策略決定。基于預(yù)測(cè)的電源管理策略的核心是, 使用何種算法來利用系統(tǒng)反饋信息去更新算法的預(yù)測(cè)根據(jù)。要做出符合系統(tǒng)設(shè)備用戶使用習(xí)慣和任務(wù)請(qǐng)求的準(zhǔn)確預(yù)測(cè),就需要對(duì)用戶習(xí)慣的認(rèn)識(shí)程度不斷加深, 并對(duì)系統(tǒng)任務(wù)信息和策略歷史信息有較全面的統(tǒng)計(jì)。自適應(yīng)學(xué)習(xí)樹 ALT(Adaptive Learning Tree)策略、PBAL(Probability Based ALT)策略,以及基于 AR(Auto Regressive)模型的預(yù)測(cè)控制反饋 PCF(Predictive Control Feedback)預(yù)測(cè)策略等都是優(yōu)化過的預(yù)測(cè)策略。PBALT 策略利用概率反映準(zhǔn)確率,加強(qiáng)了分樹之間的關(guān)聯(lián)性和 ALT方法的學(xué)習(xí)能力;但這種策略的邊界條件限制制約了它的應(yīng)用范圍。PCF 預(yù)測(cè)策略的自適應(yīng)性是通過其反饋模塊來控制的; 但預(yù)測(cè)策略本身在針對(duì)非平穩(wěn)狀態(tài)的任務(wù)請(qǐng)求時(shí)效率不穩(wěn)定,同時(shí),預(yù)測(cè)策略基本只考慮系統(tǒng)有一個(gè)工作模式,這些都限制了它的應(yīng)用。
基于隨機(jī)的電源管理策略是一種具有不確定性的優(yōu)化策略, 這種不確定性源于系統(tǒng)模型的抽象性?;陔S機(jī)的電源管理策略不僅指定何時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換,而且還指定轉(zhuǎn)換到哪一工作模式,因此適用于多工作模式的系統(tǒng)設(shè)備。它將動(dòng)態(tài)電源管理看作是隨機(jī)最優(yōu)化問題, 而不像基于預(yù)測(cè)的電源管理策略那樣通過預(yù)測(cè)的方法消除任務(wù)請(qǐng)求的不確定性?;?CTMDP(連續(xù)時(shí)間馬爾可夫決定過程)的隨機(jī)決定動(dòng)態(tài)電源管理策略給出了系統(tǒng)電源管理的一個(gè)最優(yōu)化的決定, 但這種最優(yōu)化是在一個(gè)具有不確定性的模型基礎(chǔ)上的, 即這種算法所得到的最優(yōu)化的決策只能得到系統(tǒng)的性能和功耗的一個(gè)預(yù)期值,并不能保證在特定的系統(tǒng)設(shè)備中適用,而且馬爾可夫過程數(shù)學(xué)模型的建立也是需要仔細(xì)分析的。
2 基于最高決策的電源管理策略
由以上對(duì)系統(tǒng)電源管理策略的分析可知, 系統(tǒng)設(shè)備的電源管理貫穿系統(tǒng)設(shè)備的各個(gè)狀態(tài),因此應(yīng)提出一種電源管理方法,將多種電源管理策略結(jié)合起來對(duì)系統(tǒng)功耗進(jìn)行協(xié)同管理。該電源管理構(gòu)架中有一個(gè)策略集合,每個(gè)策略都有自己的優(yōu)先級(jí),按需求使用各個(gè)策略來進(jìn)行多策略電源管理。但這種構(gòu)架也存在問題: 首先復(fù)雜系統(tǒng)的任務(wù)很可能多種多樣, 而且電源管理策略針對(duì)不同的任務(wù)其降功效率也不同, 僅用電源管理策略的優(yōu)先級(jí)來決定使用電源管理策略, 缺乏針對(duì)性;此外各策略信息應(yīng)該在執(zhí)行系統(tǒng)任務(wù)的過程中得到統(tǒng)計(jì), 并自適應(yīng)地改變其優(yōu)先級(jí)。
這里提出一個(gè)基于最高決策管理模塊的電源管理構(gòu)架。 這種系統(tǒng)設(shè)備電源管理構(gòu)架包括了最高決策模塊、任務(wù)信息統(tǒng)計(jì)模塊、策略集合模塊、信息檢測(cè)模塊和控制模塊 5 個(gè)主要部分,如圖 4 所示。
信息檢測(cè)模塊: 用于檢測(cè)系統(tǒng)狀態(tài)信息和新到的任務(wù)信息。 任務(wù)信息統(tǒng)計(jì)模塊: 用于統(tǒng)計(jì)系統(tǒng)設(shè)備所執(zhí)行的任務(wù)信息,并解釋成準(zhǔn)確的任務(wù)信息參數(shù)。
策略集合模塊: 通過對(duì)系統(tǒng)狀態(tài)和任務(wù)信息等進(jìn)行動(dòng)態(tài)的統(tǒng)計(jì),計(jì)算電源
管理策略的效率,更新電源管理策略信息并解釋成準(zhǔn)確的電源管理策略參數(shù)。
最高決策模塊: 根據(jù)接收的任務(wù)和系統(tǒng)狀態(tài)信息,在策略集合中選擇最優(yōu)的電源管理策略或者電源管理策略組,通過控制模塊對(duì)系統(tǒng)設(shè)備進(jìn)行電源管理。
任務(wù)信息是實(shí)時(shí)接收的;系統(tǒng)狀態(tài)信息是在每次系統(tǒng)狀態(tài)改變時(shí),由信息檢測(cè)模塊提供給最高決策模塊的;電源管理策略的信息指計(jì)算后的電源管理效率,以及電源管理策略適用的系統(tǒng)狀態(tài)和任務(wù)。例如,當(dāng)新任務(wù)到達(dá)后,必然有一種預(yù)測(cè)策略對(duì)此任務(wù)完成后的 Idle 狀態(tài)持續(xù)時(shí)間的預(yù)測(cè)效率最高。電源管理策略控制期間,每一次決策的成功或失敗都會(huì)改變?cè)撾娫垂芾聿呗缘膬?yōu)先加權(quán)參數(shù)。這樣最高決策模塊根據(jù)系統(tǒng)狀態(tài)和任務(wù)信息, 決定采用最優(yōu)的電源管理策略或者電源管理策略組,使系統(tǒng)設(shè)備的各個(gè)部分得到最優(yōu)的電源管理。
3 小結(jié)
當(dāng)今便攜設(shè)備中電源管理的核心是電源管理策略, 本文中提出的基于最高決策的電源管理構(gòu)架的關(guān)鍵是預(yù)先選定電源管理策略集合。關(guān)于電源管理策略,有兩方面問題需要繼續(xù)探討和研究: 第一,權(quán)衡系統(tǒng)設(shè)備工作性能和功耗。電源管理策略進(jìn)行系統(tǒng)功耗管理過程中,雖然電源管理策略盡量避免延時(shí),但是這種延時(shí)又不可避免。 系統(tǒng)使用者對(duì)于性能和功耗的權(quán)衡直接影響電源管理策略的選擇,以及電源管理策略中具體參數(shù)的預(yù)設(shè)。第二,權(quán)衡電源管理效果和復(fù)雜度。策略集合和任務(wù)信息集合的尺寸越大,統(tǒng)計(jì)信息越完備,電源管理策略的決策就越準(zhǔn)確,但同時(shí)電源管理模塊的復(fù)雜度也增加了,這直接關(guān)系到其工程實(shí)現(xiàn)的復(fù)雜程度。另外,建立電源管理策略標(biāo)準(zhǔn),
評(píng)論