專利名稱:利用堆棧深度進(jìn)行多線程預(yù)測的動(dòng)態(tài)功耗控制方法
技術(shù)領(lǐng)域:
本發(fā)明適用于電池供電,具有多種空閑低功耗模式部件,并采用多任務(wù)嵌入式系統(tǒng)的設(shè)備。屬于嵌入式系統(tǒng)低功耗技術(shù)領(lǐng)域。
背景技術(shù):
嵌入式系統(tǒng)的許多部件能夠提供多種功耗和性能級(jí)別的運(yùn)行模式,并允許付出一定的性能代價(jià)來降低功耗。例如,處理器提供多種工作頻率和工作電壓,硬盤提供空閑、待機(jī)和睡眠等多種空閑時(shí)的低功耗模式等。由于模式間的切換一般都要付出性能和功耗上的代價(jià),所以不是對(duì)于任何長度的空閑時(shí)間進(jìn)入空閑模式的功耗越低越好。不同長度的空閑時(shí)間能夠進(jìn)入的最佳低功耗模式會(huì)有所差別,能夠準(zhǔn)確預(yù)測出空閑時(shí)間的長度將有利于降低功耗。
傳統(tǒng)的動(dòng)態(tài)功耗管理策略簡單的將部件的負(fù)載視為來自單一的請求源,忽略了系統(tǒng)和應(yīng)用的信息。而實(shí)際系統(tǒng)通常是多任務(wù)多線程的,負(fù)載的來源往往有多個(gè),并且具有明顯不同的特征。傳統(tǒng)動(dòng)態(tài)功耗管理策略的單請求源模型,將導(dǎo)致對(duì)于非平穩(wěn)的負(fù)載分析困難,策略預(yù)測效果不理想。在嵌入式系統(tǒng)的多任務(wù)環(huán)境中,由于任務(wù)可以被多次執(zhí)行,這些屬于同一任務(wù)的進(jìn)程擁有相同的執(zhí)行代碼,具有相似的行為特征。同樣,執(zhí)行入口地址相同的線程其行為也具有相似性。利用這些相似性可以提高策略的預(yù)測效果。在大多數(shù)系統(tǒng)中,設(shè)備操作被封裝在特定的API函數(shù)內(nèi),應(yīng)用任務(wù)通過調(diào)用API函數(shù)來實(shí)現(xiàn)對(duì)設(shè)備的操作請求。這些API函數(shù)的調(diào)用過程也具有一定的規(guī)律,可以加以利用進(jìn)一步提高策略的預(yù)測效果。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種利用堆棧深度進(jìn)行多線程預(yù)測的動(dòng)態(tài)功耗控制方法,降低嵌入式系統(tǒng)部件的功耗。
技術(shù)方案本發(fā)明通過棧深、函數(shù)返回地址和請求簇集模式預(yù)測請求間隔時(shí)間(Stack Based Prediction,SBP),然后以線程為獨(dú)立的請求源,并根據(jù)線程所屬任務(wù)以及入口地址對(duì)請求源進(jìn)行分組。在同組請求源產(chǎn)生的請求服從相同分布的假設(shè)條件下,綜合各請求源對(duì)請求間隔時(shí)間的預(yù)測結(jié)果,計(jì)算出部件空閑時(shí)間的概率分布。最后根據(jù)部件空閑時(shí)間的概率分布,計(jì)算出多功耗模式單門限下的最優(yōu)超時(shí)門限和最優(yōu)功耗模式。在請求處理結(jié)束后啟動(dòng)定時(shí)器,當(dāng)部件空閑時(shí)間超過計(jì)算出的最優(yōu)超時(shí)門限,則立刻控制部件進(jìn)入對(duì)應(yīng)的最優(yōu)功耗模式。
該方法具體如下 第一步通過操作請求的簇集模式RCM來描述單個(gè)線程對(duì)部件或設(shè)備的操作請求序列Φ的特征,其計(jì)算方法如下 式中 ri——系統(tǒng)對(duì)部件(或設(shè)備)的操作請求; RA(ri)——產(chǎn)生操作請求ri的函數(shù)的返回地址; modx(y)——以為基數(shù)x對(duì)y進(jìn)行模運(yùn)算; TRI(ri,ri-1)——操作請求ri與ri-1之間的空閑時(shí)間; si——第i級(jí)低功耗空閑模式; TBE(si)——進(jìn)入第i級(jí)低功耗空閑模式的損益平衡時(shí)間,即進(jìn)入低功耗空閑模式能夠節(jié)約能耗的最短空閑時(shí)間; 第二步采用兩級(jí)哈希表來預(yù)測單線程下請求間隔時(shí)間的概率分布,第一級(jí)哈希表是根據(jù)mod37[RA(ri)]構(gòu)建的函數(shù)返回地址哈希表,用鏈表解決哈希沖突,該哈希表的索引結(jié)點(diǎn)包含對(duì)具有相同函數(shù)返回地址的操作請求后空閑時(shí)間分布的統(tǒng)計(jì)結(jié)果FRA,以及第二級(jí)哈希表根據(jù)mod17[SD(ri)]和mod17[RCM]分別構(gòu)建的棧深哈希表和請求簇集模式哈希表,其中SD(ri)表示產(chǎn)生操作請求ri時(shí)的堆棧深度,即堆棧頂部與堆棧底部之差;棧深哈希表的索引結(jié)點(diǎn)包含了具有相同函數(shù)返回地址和堆棧深度的操作請求之后的空閑時(shí)間分布FSD;而請求簇集模式哈希表的索引結(jié)點(diǎn)則包含了具有相同函數(shù)返回地址和請求簇集模式的操作請求之后的空閑時(shí)間分布FRCM;單線程下請求間隔時(shí)間,即請求之后的空閑時(shí)間的概率分布Fpredict可以根據(jù)哈希表的命中情況進(jìn)行預(yù)測,當(dāng)僅函數(shù)返回地址哈希表命中時(shí)Fpredict=FRA;當(dāng)僅棧深哈希表命中時(shí)Fpredict=FSD;當(dāng)僅請求簇集模式哈希表命中時(shí)Fpredict=FRCM;當(dāng)棧深哈希表和請求簇集模式同時(shí)命中,F(xiàn)predict=FSD×FRCM; 第三步以線程為獨(dú)立的請求源,并根據(jù)線程所屬任務(wù)以及入口地址對(duì)請求源進(jìn)行分組,屬于同一任務(wù)并且執(zhí)行入口地址相同的線程歸入同一個(gè)分組,在同組請求源產(chǎn)生的請求服從相同分布的假設(shè)條件下,綜合各請求源對(duì)請求間隔時(shí)間的預(yù)測結(jié)果,計(jì)算出部件或設(shè)備進(jìn)入低功耗空閑模式si的概率P(si);計(jì)算方法如下, 式中 NT——當(dāng)前正在使用部件或設(shè)備的線程總數(shù),即請求源總數(shù); n——部件或設(shè)備的空閑模式總數(shù); tj——請求源j當(dāng)前的延時(shí); Pj(si,Δtj)——請求源j在空閑Δtj時(shí)間后繼續(xù)空閑的時(shí)間超過空閑模式si損益平衡時(shí)間的概率; 第四步根據(jù)部件或設(shè)備空閑時(shí)間的概率分布,計(jì)算出多功耗模式單門限下的最優(yōu)超時(shí)門限kopt和最優(yōu)功耗模式sopt,計(jì)算方法如下, kopt=roptΔt 式中 Δt——候選超時(shí)門限的間隔時(shí)間; Etotal(rΔt,si)——部件或設(shè)備在經(jīng)過rΔt超時(shí)時(shí)間后,進(jìn)入空閑模式si的能耗期望; q——候選超時(shí)門限的總數(shù); Ti——空閑時(shí)間分布統(tǒng)計(jì)中,落在第i個(gè)區(qū)間內(nèi)的空閑時(shí)間的長度總和; ni——空閑時(shí)間分布統(tǒng)計(jì)中,空閑時(shí)間落在第i個(gè)區(qū)間內(nèi)的請求的總數(shù);在請求處理結(jié)束后啟動(dòng)定時(shí)器,一旦部件空閑時(shí)間超過計(jì)算出的最優(yōu)超時(shí)門限kopt,則立刻控制部件進(jìn)入對(duì)應(yīng)的最優(yōu)功耗模式sopt。
有益效果本發(fā)明的利用堆棧深度進(jìn)行多線程預(yù)測的動(dòng)態(tài)功耗控制方法提高了動(dòng)態(tài)功耗管理策略預(yù)測的有效命中率和區(qū)分度,降低了部件空閑時(shí)的功耗。實(shí)驗(yàn)結(jié)果表明,本發(fā)明的有效命中率比傳統(tǒng)動(dòng)態(tài)功耗管理策略高7~21個(gè)百分點(diǎn),功耗降低幅度約為最大可節(jié)約能耗的60%~90%。
圖1.空閑模式的能耗與空閑時(shí)間的關(guān)系示意圖,圖中有四條直線e1=a1t+b1,e2=a2t+b2,e3=a3t+b3,e4=a4t+b4,分別表示第1級(jí)至第4級(jí)空閑模式的能耗e與空閑時(shí)間t的關(guān)系。橫坐標(biāo)表示空閑時(shí)間t,縱坐標(biāo)表示空閑模式下的能耗E。四條直線的三個(gè)交點(diǎn)的橫坐標(biāo)分別為t2、t3和t4, 圖2.基于棧信息預(yù)測的數(shù)據(jù)結(jié)構(gòu)示意圖,圖中有一張函數(shù)返回地址的哈希表(RA哈希表),該哈希表有37個(gè)索引項(xiàng),每個(gè)索引項(xiàng)通過鏈表解決哈希沖突。該鏈表由若干鏈表結(jié)點(diǎn),如RA1、RA2等構(gòu)成,通過指針鏈接(圖中用實(shí)箭頭表示)。這些結(jié)點(diǎn)均以函數(shù)返回地址為關(guān)鍵字,并包含空閑時(shí)間的概率分布(圖中用三角形表示,在右上角示意)、一張棧深的哈希表(SD哈希表)和一張請求簇集模式的哈希表(RCM哈希表)。SD哈希表有17個(gè)索引項(xiàng),每個(gè)索引項(xiàng)通過鏈表解決哈希沖突。該鏈表由若干鏈表結(jié)點(diǎn),如SD1、SD2等構(gòu)成,通過指針鏈接。這些結(jié)點(diǎn)以棧深為關(guān)鍵字,并包含空閑時(shí)間的概率分布。RCM哈希表有17個(gè)索引項(xiàng),每個(gè)索引項(xiàng)通過鏈表解決哈希沖突。該鏈表由若干鏈表結(jié)點(diǎn),如RCM1、RCM2等構(gòu)成,通過指針鏈接。這些結(jié)點(diǎn)以請求簇集模式為關(guān)鍵字,并包含空閑時(shí)間的概率分布, 圖3.基于棧信息預(yù)測的預(yù)測流程示意圖, 圖4.基于棧信息預(yù)測的更新流程示意圖, 圖5.根據(jù)進(jìn)程和線程分組預(yù)測的數(shù)據(jù)結(jié)構(gòu)示意圖。圖中有一張進(jìn)程組的哈希表(PG哈希表)和一張二維哈希查找表(P/T ID哈希表)。PG哈希表有256個(gè)索引項(xiàng),每個(gè)索引項(xiàng)通過鏈表解決哈希沖突。該鏈表由若干鏈表結(jié)點(diǎn),如PG1、PG2等構(gòu)成,通過指針鏈接。每個(gè)結(jié)點(diǎn)以進(jìn)程組標(biāo)識(shí)(PGID)為關(guān)鍵字,并包含預(yù)測結(jié)果的概率分布和一張線程組的哈希表(TG哈希表)。TG哈希表有17個(gè)索引項(xiàng),每個(gè)索引項(xiàng)通過鏈表解決哈希沖突。該鏈表由若干鏈表結(jié)點(diǎn),如TG1、TG2等構(gòu)成,通過指針鏈接。每個(gè)結(jié)點(diǎn)以線程組標(biāo)識(shí)(TGID),即線程入口地址為關(guān)鍵字,并包含一個(gè)空閑時(shí)間的預(yù)測器(在圖中用圓形表示,如SBP1和SBP2等)、預(yù)測結(jié)果的概率分布和線程列表。線程列表由若干鏈表結(jié)點(diǎn),如TI1、TI2等構(gòu)成,通過指針鏈接(在圖中用實(shí)箭頭表示)。每個(gè)結(jié)點(diǎn)以線程標(biāo)識(shí)(TID)為關(guān)鍵字,并包含線程的屬性信息。P/T ID哈希表為一個(gè)37×37的矩陣,根據(jù)進(jìn)程標(biāo)識(shí)(PID)和線程標(biāo)識(shí)(TID)索引矩陣元素。矩陣的每個(gè)元素為一條查找鏈表。鏈表指向線程列表結(jié)點(diǎn),如TI1、TI2等,結(jié)點(diǎn)通過指針鏈接(在圖中用虛箭頭表示)。
具體實(shí)施例方式 圖1.描述了不同空閑模式下部件的空閑能耗與空閑時(shí)間的關(guān)系,圖中每條直線即表示空閑能耗隨空閑時(shí)間的變化,直線的斜率ai代表第i級(jí)空閑模式的平均功耗,截距bi代表第i級(jí)空閑模式的等效轉(zhuǎn)換能耗。相鄰級(jí)別的空閑模式對(duì)應(yīng)的直線兩兩相交產(chǎn)生的三個(gè)交點(diǎn),這些交點(diǎn)的橫坐標(biāo)ti即為第i級(jí)空閑模式與第1級(jí)空閑模式之間的損益平衡時(shí)間TBE(si)。
圖2.示意了基于棧信息進(jìn)行單線程預(yù)測的數(shù)據(jù)結(jié)構(gòu)。整個(gè)數(shù)據(jù)結(jié)構(gòu)為一棵基于哈希表的樹。樹的根部是一張函數(shù)返回地址的哈希表(RA Hash Table),通過哈希函數(shù)將函數(shù)返回地址散列到
的索引表上,我們稱該索引表為RA哈希表。為了解決哈希沖突(Hash Collision),我們采用單向鏈表結(jié)構(gòu)記錄各RA結(jié)點(diǎn)。RA結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)包括五個(gè)部分 函數(shù)返回地址RA結(jié)點(diǎn)的關(guān)鍵字用于哈希表的查找匹配; 預(yù)測分布在圖2.中表示為三角形的記號(hào)。采用直方圖的形式記錄了所有函數(shù)返回地址為結(jié)點(diǎn)RA值的請求其后的空閑時(shí)間的分布。根據(jù)對(duì)空閑模式和空閑時(shí)間之間關(guān)系的分析,我們可以通過統(tǒng)計(jì)空閑時(shí)間對(duì)應(yīng)的最佳空閑模式來簡化表示空閑時(shí)間的分布。該分布為以后的預(yù)測提供了依據(jù); 棧深的哈希表(SD Hash Table)提供了根據(jù)棧深進(jìn)行檢索的方式,哈希函數(shù)與RA哈希表一樣采用模運(yùn)算,只不過模的基數(shù)為17,傳入變量是棧深而不是函數(shù)返回地址。也采用了鏈表結(jié)構(gòu)記錄各SD結(jié)點(diǎn)來解決哈希沖突。SD結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)僅包括棧深關(guān)鍵字和基于SD的預(yù)測分布; 請求簇集模式的哈希表(RCM Hash Table)提供了根據(jù)請求簇集模式進(jìn)行檢索的方式,組織結(jié)構(gòu)與SD哈希表相似,不同的是RCM結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)包括的是RCM關(guān)鍵字和基于RCM的預(yù)測分布; 結(jié)點(diǎn)指針指向下一級(jí)RA結(jié)點(diǎn),構(gòu)成鏈表。如果當(dāng)前結(jié)點(diǎn)為最后一個(gè)記錄,則該指針為空。
圖3.描述了基于棧信息進(jìn)行單線程預(yù)測的預(yù)測流程 預(yù)測開始請求處理結(jié)束,獲取請求的RA、SD和RCM,進(jìn)入步驟1; 步驟1查找RA哈希表,判斷RA是否命中。若命中進(jìn)入步驟3,否則進(jìn)入步驟2; 步驟2設(shè)置RA命中標(biāo)志flagRA=false。預(yù)測空閑時(shí)間較短,應(yīng)進(jìn)入就緒空閑模式,spredict=s1,預(yù)測結(jié)束; 步驟3設(shè)置RA命中標(biāo)志flagRA=true。獲得RA結(jié)點(diǎn),查找該結(jié)點(diǎn)上的SD哈希表,判斷SD是否命中。若命中進(jìn)入步驟7,否則進(jìn)入步驟4; 步驟4設(shè)置SD命中標(biāo)志flagSD=false。查找RA結(jié)點(diǎn)上的RCM哈希表,判斷RSM是否命中。若命中進(jìn)入步驟6,否則進(jìn)入步驟5; 步驟5設(shè)置RCM命中標(biāo)志flagRCM=false。根據(jù)RA結(jié)點(diǎn)的預(yù)測分布FRA進(jìn)行模式預(yù)測,spredict=Predict(FRA),預(yù)測結(jié)束; 步驟6設(shè)置RCM命中標(biāo)志flagRCM=true。獲得RCM結(jié)點(diǎn),根據(jù)該結(jié)點(diǎn)的預(yù)測分布FRCM進(jìn)行模式預(yù)測,spredict=Predict(FRCM),預(yù)測結(jié)束; 步驟7設(shè)置SD命中標(biāo)志flagSD=true。獲得SD結(jié)點(diǎn)。查找RA結(jié)點(diǎn)上的RCM哈希表,判斷RSM是否命中。若命中進(jìn)入步驟9,否則進(jìn)入步驟8; 步驟8設(shè)置RCM命中標(biāo)志flagRCM=false。根據(jù)SD結(jié)點(diǎn)的預(yù)測分布FSD進(jìn)行模式預(yù)測,spredict=Predict(FSD),預(yù)測結(jié)束; 步驟9設(shè)置RCM命中標(biāo)志flagRCM=true。獲得RCM結(jié)點(diǎn),根據(jù)該結(jié)點(diǎn)的預(yù)測分布FRCM和SD結(jié)點(diǎn)的預(yù)測分布FSD進(jìn)行模式預(yù)測,spredict=CombinePredict(FRCM,F(xiàn)SD),預(yù)測結(jié)束; 圖4.描述了基于棧信息進(jìn)行單線程預(yù)測的更新流程 更新開始有新的請求到達(dá),獲得距上一次請求的實(shí)際空間時(shí)間間隔tidle,以及該空閑時(shí)間對(duì)應(yīng)的最佳空閑模式Sopt(tidle)(最佳空閑模式的計(jì)算方法參見式(1.2))。進(jìn)入步驟41; 步驟41根據(jù)RA命中標(biāo)志flagRA判斷上次請求的RA是否命中。若命中進(jìn)入步驟44,否則進(jìn)入步驟42; 步驟42判斷實(shí)際空閑時(shí)間對(duì)應(yīng)的最佳空閑模式Sopt(tidle)是否是就緒模式。是就緒模式進(jìn)入步驟43,否則更新結(jié)束; 步驟43為上次請求建立新的RA結(jié)點(diǎn),添加到RA哈希表中對(duì)應(yīng)索引的鏈表首部。在該RA結(jié)點(diǎn)的SD哈希表和RCM哈希表中分別添加新建的SD結(jié)點(diǎn)和RCM結(jié)點(diǎn)。并初始化RA結(jié)點(diǎn)、SD結(jié)點(diǎn)和RCM結(jié)點(diǎn)的預(yù)測分布。更新結(jié)束; 步驟44清除RA命中標(biāo)志flagRA=false。更新上次請求對(duì)應(yīng)的RA結(jié)點(diǎn)的預(yù)測分布(即增加實(shí)際空閑時(shí)間對(duì)應(yīng)的最佳空閑模式Sopt(tidle)的統(tǒng)計(jì)值),進(jìn)入步驟45; 步驟45根據(jù)SD命中標(biāo)志flagSD判斷上次請求的SD是否命中。若命中進(jìn)入步驟46,否則進(jìn)入步驟47; 步驟6清除SD命中標(biāo)志flagSD=false。更新上次請求對(duì)應(yīng)的SD結(jié)點(diǎn)的預(yù)測分布,進(jìn)入步驟49; 步驟47判斷實(shí)際空閑時(shí)間對(duì)應(yīng)的最佳空閑模式Sopt(tidle)是否是就緒模式。是就緒模式進(jìn)入步驟49,否則進(jìn)入步驟48; 步驟48根據(jù)上次請求的SD信息新建SD結(jié)點(diǎn)并添加到SD哈希表,并初始化預(yù)測分布,進(jìn)入步驟49; 步驟49根據(jù)RCM命中標(biāo)志flagRCM判斷上次請求的RCM是否命中。若命中進(jìn)入步驟410,否則進(jìn)入步驟411; 步驟410清除RCM命中標(biāo)志flagRCM=false。更新上次請求對(duì)應(yīng)的RCM結(jié)點(diǎn)的預(yù)測分布,更新結(jié)束; 步驟411判斷實(shí)際空閑時(shí)間對(duì)應(yīng)的最佳空閑模式Sopt(tidle)是否是就緒模式。是就緒模式進(jìn)入更新結(jié)束,否則進(jìn)入步驟412; 步驟412根據(jù)上次請求的RCM信息新建RCM結(jié)點(diǎn)并添加到RCM哈希表,并初始化預(yù)測分布,更新結(jié)束。
圖5.示意了多線程下分組預(yù)測的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)的主要部分是一棵基于哈希表的查找樹。樹的頂端是一個(gè)進(jìn)程組哈希表(PG Hash Table),可根據(jù)進(jìn)程的可執(zhí)行文件路徑進(jìn)行查找。通過下面的字符串哈希函數(shù)我們將可執(zhí)行文件路徑映射為一個(gè)32位的整型值,稱為進(jìn)程組標(biāo)識(shí)(Processes Group Identifier,PGID)。該哈希算法利用了7位/15位偏移的循環(huán)移位字符累加,并把字符串的長度也作為一個(gè)計(jì)算因素。進(jìn)程組標(biāo)識(shí)的低8位被用來作為PG哈希表的索引,所以PG哈希表的長度為28=256。雖然對(duì)于嵌入式系統(tǒng)而言,這么多PG已經(jīng)足以區(qū)分各種應(yīng)用程序,為解決可能的哈希沖突,仍采用單向鏈表結(jié)構(gòu)記錄各PG結(jié)點(diǎn)。PG結(jié)點(diǎn)僅包括四項(xiàng)內(nèi)容進(jìn)程組標(biāo)識(shí)PGID、空預(yù)測分布、附屬線程組哈希表(TG Hash Table)和下一級(jí)PG結(jié)點(diǎn)指針。其中PGID為結(jié)點(diǎn)的關(guān)鍵字,TG哈希表則是以線程的入口地址為關(guān)鍵字,稱為線程組標(biāo)識(shí)TGID。其哈希函數(shù)與式錯(cuò)誤!未找到引用源。相似,采用基數(shù)為17的模運(yùn)算,將TGID散列到
的索引表上。TG哈希表同樣也采用了單向鏈表來解決哈希沖突。TG結(jié)點(diǎn)由五部分組成 線程入口地址即TGID,32位整型值,TG結(jié)點(diǎn)的關(guān)鍵字,用于TG哈希表的查找匹配; SBP預(yù)測器在圖5.中用圓形表示,利用SBP預(yù)測技術(shù)為同組的線程提供空閑模式的預(yù)測服務(wù)。一般而言,同入口的線程具有相似的行為特征,不同入口的線程執(zhí)行流程差異較大。所以同組的線程共用TG結(jié)點(diǎn)的SBP預(yù)測器,而每個(gè)TG結(jié)點(diǎn)的SBP預(yù)測器則相互獨(dú)立; 線程列表由線程信息(Thread Information,TI)結(jié)點(diǎn)構(gòu)成的單向鏈表,保存了SBP預(yù)測所需的線程信息。每個(gè)TI結(jié)點(diǎn)代表一個(gè)已經(jīng)運(yùn)行的線程,對(duì)于MSR的模型而言也就意味著一個(gè)獨(dú)立的請求源; 預(yù)測統(tǒng)計(jì)信息用直方圖擬合空閑時(shí)間的分布,并采用滑動(dòng)窗口的方法,為每個(gè)空閑模式提供了分布統(tǒng)計(jì)信息。
結(jié)點(diǎn)指針指向下一級(jí)TG結(jié)點(diǎn),構(gòu)成鏈表。如果當(dāng)前結(jié)點(diǎn)為最后一個(gè)記錄,則該指針為空。
在線程列表中的TI結(jié)點(diǎn)提供了以下線程信息 標(biāo)識(shí)信息包括線程的標(biāo)識(shí)信息和所屬進(jìn)程的標(biāo)識(shí)信息兩部分。線程的標(biāo)識(shí)信息為線程標(biāo)識(shí)TID和線程組標(biāo)識(shí)TGID,進(jìn)程的標(biāo)識(shí)信息為進(jìn)程標(biāo)識(shí)PID和進(jìn)程組標(biāo)識(shí)PGID; 棧信息包括初始棧指針、當(dāng)前棧指針、當(dāng)前函數(shù)返回地址RA和當(dāng)前請求簇集模式RCM。其中初始棧指針和當(dāng)前棧指針用于計(jì)算棧深; 時(shí)間信息記錄了上次請求處理結(jié)束的時(shí)刻tprevious。
通過TGID和PGID我們能夠?qū)Ρ姸嗟木€程進(jìn)行分類處理,但更多時(shí)候需要快捷的查找到線程信息,所以我們建立了一個(gè)二維哈希查找表(P/T ID HashTable),用于快速查找TI結(jié)點(diǎn)。其數(shù)據(jù)結(jié)構(gòu)在圖5.中表示為一個(gè)37×37的陣列,通過基數(shù)為37的模運(yùn)算分別將TID和PID散列到
上構(gòu)成行索引和列索引。P/T ID哈希表中的每個(gè)單元都指向一個(gè)由TI結(jié)點(diǎn)構(gòu)成的單向鏈表,該鏈表與TG結(jié)點(diǎn)的線程鏈表不同,在錯(cuò)誤!未找到引用源。中用虛箭頭表示。通常情況下,嵌入式操作系統(tǒng)并發(fā)進(jìn)程數(shù)不會(huì)太多,素以該鏈表的長度一般不會(huì)超過3??紤]嵌入式系統(tǒng)內(nèi)存受限等因素,為了進(jìn)一步限制TI結(jié)點(diǎn)的規(guī)模,并提高查找速度,僅對(duì)曾經(jīng)和正在使用PMC的線程進(jìn)行索引。新的進(jìn)程或線程只有使用了PMC時(shí),才會(huì)被加入到索引表中。需要使用PMC的線程的創(chuàng)建和退出,以及PMC請求的到達(dá)都可能引起結(jié)點(diǎn)的變化①線程創(chuàng)建時(shí),根據(jù)PGID和TGID查找PG哈希表和TG哈希表確認(rèn)是否使用PMC,僅當(dāng)命中時(shí)才加入TI結(jié)點(diǎn)(同時(shí)加入到P/T ID哈希表的TI鏈表中);②線程退出時(shí),根據(jù)PID和TID查找P/T ID哈希表,僅當(dāng)命中時(shí)刪除TI結(jié)點(diǎn)(同時(shí)從TG結(jié)點(diǎn)的TI鏈表中刪除)。但即使TG結(jié)點(diǎn)的TI結(jié)點(diǎn)鏈表全部被刪除,TG結(jié)點(diǎn)仍然保留,為新線程做好準(zhǔn)備;③PMC請求到達(dá)時(shí),根據(jù)PID和TID查找P/T ID哈希表,僅當(dāng)未命中時(shí)加入TI結(jié)點(diǎn)(同時(shí)生成PGID和TGID,加入到對(duì)應(yīng)的TG結(jié)點(diǎn)的TI鏈表中,若未能命中PG或TG,則還要新建PG或TG)。
首先針對(duì)功耗可管理部件(Power Manageable Component,PMC)建立空閑時(shí)能耗的線性模型,如圖1.所示。圖中三個(gè)交點(diǎn)的橫坐標(biāo)t2、t3、t4將空閑時(shí)間劃分為四個(gè)時(shí)間段,每個(gè)時(shí)間段都具有一個(gè)使能耗最低的空閑模式,且不同時(shí)間段對(duì)應(yīng)的空閑模式不同,越往后的時(shí)間段對(duì)應(yīng)的空閑模式的平均功耗越低。因此,以這三個(gè)交點(diǎn)和連接交點(diǎn)的線段所構(gòu)成的折線(加粗顯示)所代表的分段函數(shù)即為能耗和空閑時(shí)間的最優(yōu)關(guān)系函數(shù)Eopt(t) 同樣還可以得到對(duì)應(yīng)最優(yōu)能耗的空閑模式和空閑時(shí)間的關(guān)系函數(shù)Sopt(t) 這樣對(duì)于給定的空閑時(shí)間長度,根據(jù)Sopt(t)和Eopt(t)就可以計(jì)算出最佳空閑模式和最低的能耗。
棧深和函數(shù)返回地址反映了單個(gè)請求之間的區(qū)別,而請求之間也存在著一定的聯(lián)系,空閑時(shí)間的長度與請求簇集的特征相關(guān)。我們以第一級(jí)低功耗空閑模式的損益平衡時(shí)間作為門限,將請求間隔時(shí)間小于該門限的連續(xù)請求定義為一個(gè)請求簇Φ(Request Cluster)。也就是說,任意兩個(gè)請求簇之間間隔的空閑時(shí)間都大于第一級(jí)低功耗空閑模式的損益平衡時(shí)間。請求簇的特征用其所包含的所有請求的函數(shù)返回地址之和表示,定義為請求簇集模式(Requests-ClusteringMode,RCM) Φ={ri|TRI(ri,ri-1)<TBE(s2)} 式中 ri——PMC操作請求; TRI(ri,ri-1)——請求ri與ri-1之間的空閑時(shí)間; s2——第一級(jí)低功耗空閑模式(就緒空閑模式為s1); modx(y)——以為基數(shù)x對(duì)y進(jìn)行模運(yùn)算; RA(ri)——請求ri的函數(shù)返回地址。
根據(jù)棧深、函數(shù)返回地址和請求簇集模式這些棧信息我們就可以對(duì)單個(gè)線程的空閑時(shí)間進(jìn)行較為準(zhǔn)確的預(yù)測,即SBP。SBP的數(shù)據(jù)結(jié)構(gòu)如圖2.所示,基于該數(shù)據(jù)結(jié)構(gòu),SBP的預(yù)測流程如圖3.所示。根據(jù)單個(gè)線程的預(yù)測分布進(jìn)行預(yù)測的Predict算法是從概率的角度尋找滿足下列條件的低功耗空閑模式spredict 式中 P(si)——預(yù)測分布中進(jìn)入空閑模式si的概率。
如果沒有找到滿足上述條件的低功耗空閑模式,則預(yù)測為進(jìn)入就緒空閑模式,即spredict=s1。而根據(jù)SD和RCM兩者的預(yù)測分布FSD和FRCM進(jìn)行聯(lián)合預(yù)測的CombinePredict算法則是先要將SD和RCM的預(yù)測分布中相同空閑時(shí)間對(duì)應(yīng)的概率值兩兩相乘,即FSD×FRCM,得到一個(gè)新的分布Fpredict,然后再根據(jù)Predict算法預(yù)測出應(yīng)當(dāng)進(jìn)入的空閑模式spredict=Predict(Fpredict)。最初數(shù)據(jù)結(jié)構(gòu)僅有一個(gè)空的RA哈希表,經(jīng)過更新和調(diào)整后會(huì)逐漸加入更多的RA結(jié)點(diǎn),各結(jié)點(diǎn)的預(yù)測分布也在不斷更新。為了能夠利用歷史數(shù)據(jù)和離線分析,我們將整個(gè)數(shù)據(jù)結(jié)構(gòu)導(dǎo)入到一個(gè)文件中,使得在SBP啟動(dòng)后能夠根據(jù)該文件初始化整個(gè)數(shù)據(jù)結(jié)構(gòu),從而避免再次建立數(shù)據(jù)結(jié)構(gòu)所要花費(fèi)的時(shí)間。
在嵌入式系統(tǒng)的多任務(wù)環(huán)境中,由于任務(wù)可以被多次執(zhí)行,這些屬于同一任務(wù)的進(jìn)程擁有相同的執(zhí)行代碼,具有相似的行為特征,我們將其歸入同一個(gè)進(jìn)程組(Processes Group,PG)。同樣,因?yàn)閳?zhí)行入口地址相同的線程其行為也具有相似性,我們也將其歸入同一個(gè)線程組(Threads Group,TG)。我們可以在創(chuàng)建進(jìn)程和線程時(shí)獲得被創(chuàng)建進(jìn)程和線程的所有信息,而在進(jìn)程和線程退出時(shí)獲得通知,并將這些信息發(fā)送給PMC的功耗管理器PM。進(jìn)程的創(chuàng)建信息中我們關(guān)注的是進(jìn)程的標(biāo)識(shí)(Process Identifier,PID)和可執(zhí)行文件的路徑(即應(yīng)用程序名稱和所在目錄),而線程的創(chuàng)建信息中我們關(guān)注的是線程的標(biāo)識(shí)(ThreadIdentifier,TID)、入口地址(Thread Entry)和初始棧指針。進(jìn)程ID和線程ID屬于動(dòng)態(tài)信息,是區(qū)分不同進(jìn)程和不同線程的唯一標(biāo)識(shí)。進(jìn)程的可執(zhí)行文件的路徑和線程的入口地址則屬于靜態(tài)信息,根據(jù)這兩種信息可以將進(jìn)程和線程進(jìn)行分組。這樣在PMC執(zhí)行請求操作時(shí)獲得執(zhí)行操作的線程的標(biāo)識(shí)TID及其所屬進(jìn)程的標(biāo)識(shí)PID。根據(jù)TID和PID,該請求操作被映射到唯一的一個(gè)分類組(PG,TG)上,并對(duì)應(yīng)著一個(gè)單線程,從而能夠用SBP預(yù)測技術(shù)進(jìn)行單線程的空閑模式預(yù)測。
我們按照圖5.的方式構(gòu)建了一棵哈希樹。每個(gè)線程可以視為一個(gè)獨(dú)立的請求源,對(duì)應(yīng)著哈希樹中的一個(gè)TI結(jié)點(diǎn)。通過對(duì)請求操作的統(tǒng)計(jì)和分析預(yù)測出單個(gè)線程的請求間隔時(shí)間可能服從的分布。首先,在已經(jīng)獲得請求的TID和PID,并命中P/T ID哈希表中的TI結(jié)點(diǎn)的情況下,根據(jù)TI結(jié)點(diǎn)所保存的PGID和TGID找到TG結(jié)點(diǎn)的SBP預(yù)測器。然后,用獲得的當(dāng)前棧信息和時(shí)間信息更新TI結(jié)點(diǎn),并把當(dāng)前棧信息傳遞給SBP預(yù)測器進(jìn)行空閑模式的預(yù)測。根據(jù)預(yù)測結(jié)果和TG結(jié)點(diǎn)的預(yù)測統(tǒng)計(jì)信息,分組統(tǒng)計(jì)空閑時(shí)間的分布。TG結(jié)點(diǎn)的預(yù)測統(tǒng)計(jì)信息中,最長空閑時(shí)間為Tmax,將
時(shí)間段(Tmax一般取為2TBE(sn))均勻地劃分為Nbin個(gè)小區(qū)間(Nbin一般取40),并用一個(gè)Nbin+1的數(shù)組來存放各段區(qū)間內(nèi)的空閑時(shí)間出現(xiàn)的累計(jì)次數(shù),空閑時(shí)間超過Tmax都記入數(shù)組最后一個(gè)單元。這樣該數(shù)組通過空閑時(shí)間出現(xiàn)的頻率直方圖近似表征了空閑時(shí)間的分布,我們稱其為空閑時(shí)間頻率分布表(Idle-Frequency Distribution Table,IFDT)。為了能夠自適應(yīng)空閑時(shí)間分布的變化,采用了滑動(dòng)窗口的統(tǒng)計(jì)方法?;瑒?dòng)窗口為一個(gè)最大長度為LSW的FIFO隊(duì)列(LSW一般取值為40),隊(duì)列保存了空閑時(shí)間在空閑時(shí)間頻率分布表中的索引。TG結(jié)點(diǎn)為各空閑模式建立了獨(dú)立的空閑時(shí)間頻率分布表和滑動(dòng)窗口。根據(jù)預(yù)測的空閑模式選擇好空閑時(shí)間頻率分布表和滑動(dòng)窗口后,將空閑時(shí)間在空閑時(shí)間頻率分布表中的索引存入隊(duì)列,如果隊(duì)列長度超出了最大長度LSW的限制,那么隊(duì)列首部出隊(duì)列,同時(shí)根據(jù)入隊(duì)列和出隊(duì)列的索引分別增加和減少空閑時(shí)間頻率分布表中的統(tǒng)計(jì)值。所以空閑時(shí)間頻率分布表反映的是滑動(dòng)窗口內(nèi)的空閑時(shí)間分布統(tǒng)計(jì)??臻e時(shí)間分布最后,根據(jù)空閑時(shí)間頻率分布表和延遲時(shí)間(當(dāng)前時(shí)刻與上次請求時(shí)刻的時(shí)間間隔t-tprevious),條件概率計(jì)算模塊(ConditionalProbability Function,CPF)計(jì)算出在當(dāng)前預(yù)測結(jié)果下空閑時(shí)間超過不同空閑模式損益平衡時(shí)間的概率。假設(shè)空閑時(shí)間頻率分布表在第i個(gè)區(qū)間上的統(tǒng)計(jì)為ni(1≤i≤Nbin),那么空閑時(shí)間的分布F(t)可以近似的表示為 式中 m——空閑時(shí)間頻率分布的區(qū)間時(shí)間間隔,即m=Tmax/Nbin; k——空閑時(shí)間t所在區(qū)間的序號(hào); L——當(dāng)前滑動(dòng)窗口隊(duì)列的長度。
因?yàn)楫?dāng)滑動(dòng)窗口隊(duì)列達(dá)到最大長度后就不會(huì)減小,所以在LSW個(gè)請求之后統(tǒng)計(jì)的總量飽和L≡LSW。若當(dāng)前時(shí)刻距上次請求操作的時(shí)間間隔(稱為經(jīng)歷時(shí)間)為Δt=t-tprevious,此時(shí)空閑時(shí)間的分布為條件概率,因此CDF的算法如下 根據(jù)CDF可以計(jì)算出空閑時(shí)間超過空閑模式si的損益平衡時(shí)間的概率P(si,Δt)為 P(si,Δt)=1-CDF(TBE(si),Δt)(1.7) 若令分別表示經(jīng)歷時(shí)間Δt和之后超過損益平衡時(shí)間所在的區(qū)間序號(hào),則根據(jù)式(1.6)和(1.7)有 這樣通過對(duì)空閑時(shí)間頻率分布表的統(tǒng)計(jì)就能夠得出空閑時(shí)間超過不同空閑模式損益平衡時(shí)間的概率。
有了進(jìn)程和線程的創(chuàng)建和退出的消息,就能夠按照線程的影響來劃分負(fù)載的時(shí)間區(qū)間,從而進(jìn)行多線程下的負(fù)載預(yù)測。當(dāng)請求到達(dá)時(shí)僅有PID和TID命中的請求源進(jìn)行SBP預(yù)測(該請求源的延時(shí)被更新為0),其它請求源僅根據(jù)經(jīng)歷時(shí)間Δt重新計(jì)算出各空閑模式損益平衡時(shí)間被超過的概率P(si,Δt)。再計(jì)算出PMC進(jìn)入第i級(jí)空閑模式si的概率P(si) 式中 NT——當(dāng)前正在使用PMC的線程總數(shù),即請求源總數(shù); n——PMC空閑模式總數(shù); tj——請求源j當(dāng)前的延時(shí); Pj(si,tj)——請求源j的空閑時(shí)間超過空閑模式si損益平衡時(shí)間的概率,其計(jì)算方法如式(1.8)。
獲得PMC進(jìn)入各空閑模式的概率后,預(yù)測空閑模式的方法與式(1.4)相同,選擇概率最大的作為最終預(yù)測進(jìn)入的空閑模式,在概率相同的情況下優(yōu)先選擇更低功耗的空閑模式。
當(dāng)所有使用PMC的線程都退出后,式(1.9)就不再適用。此時(shí)需要根據(jù)后備的空請求源進(jìn)行預(yù)測。空請求源不代表任何線程,在有使用PMC的線程運(yùn)行時(shí)不參與預(yù)測??照埱笤搭A(yù)測了在無任何使用PMC的線程情況下的PMC空閑時(shí)間。預(yù)測算法采用簡易的指數(shù)平均(Exponential Average)的方法 spredict(n)=I-1(αspredict(n-1)+(1-α)I(sopt(tn-1)))(1.10) 式中 spredict(n)——第n次預(yù)測的空閑模式; tn——第n次預(yù)測的實(shí)際空閑時(shí)間; I(si)——將空閑模式si映射為下標(biāo)序號(hào)i的算子; I-1(i)——I的逆運(yùn)算,將下標(biāo)序號(hào)i映射為空閑模式si,當(dāng)序號(hào)為小數(shù)時(shí)四舍五入到整數(shù)序號(hào); α——指數(shù)衰減因子,在0到1之間,一般取0.5。
這樣由空請求源和線程請求源構(gòu)成的預(yù)測系統(tǒng)通過就能夠在整個(gè)時(shí)間段上為系統(tǒng)提供預(yù)測服務(wù)。
預(yù)測會(huì)有失誤的時(shí)候,為了減少誤預(yù)測帶來的損失,我們根據(jù)預(yù)測結(jié)果的概率分布,采用單個(gè)超時(shí)門限的超時(shí)策略進(jìn)行最終的決策。因?yàn)椴捎弥狈綀D近似表示概率分布,并用滑動(dòng)窗口進(jìn)行統(tǒng)計(jì),所以該策略稱為基于概率的單門限自適應(yīng)超時(shí)策略(Probability-based Single-threshold Adaptive Timeout,PSAT)。超時(shí)門限k為有限等差序列集合的一個(gè)元素,k=rΔt,(0≤r<q),Δt為門限的等差間隔,r為門限k對(duì)應(yīng)的序號(hào)。最小門限為0,最大門限為qΔt。則第j級(jí)低功耗空閑模式sj下的總能耗為 式中 Ti——落在第i個(gè)區(qū)間內(nèi)的空閑時(shí)間的長度總和; ni——空閑時(shí)間落在第i個(gè)區(qū)間內(nèi)的請求的總數(shù); 若概率分布確定,即Ti和ni不變,則總能耗可以表示為超時(shí)門限的函數(shù)Etotal_idle=E(r),比較q個(gè)超時(shí)門限下的總能耗可以確定空閑模式si下的最低能耗Eopt(i)=minEtotal_idle和對(duì)應(yīng)的最佳超時(shí)門限kopt(i)。然后通過比較各空閑模式下的最低能耗,就可以確定最終的最佳超時(shí)門限kopt和應(yīng)當(dāng)進(jìn)入的空閑模式sopt kopt=kopt(j) sopt=sj(1.12) 式中 kopt(i)——進(jìn)入空閑模式si的最優(yōu)超時(shí)門限; Ei(k)——在門限k下進(jìn)入空閑模式si的能耗; Eopt(i)——進(jìn)入空閑模式si的最低能耗。
權(quán)利要求
1.一種利用堆棧深度進(jìn)行多線程預(yù)測的動(dòng)態(tài)功耗控制方法,其特征在于
第一步通過操作請求的簇集模式RCM來描述單個(gè)線程對(duì)部件或設(shè)備的操作請求序列Φ的特征,其計(jì)算方法如下;
式中
ri——系統(tǒng)對(duì)部件(或設(shè)備)的操作請求;
RA(ri)——產(chǎn)生操作請求ri的函數(shù)的返回地址;
modx(y)——以為基數(shù)x對(duì)y進(jìn)行模運(yùn)算;
TRI(ri,ri-1)——操作請求ri與ri-1之間的空閑時(shí)間;
si——第i級(jí)低功耗空閑模式;
TBE(si)——進(jìn)入第i級(jí)低功耗空閑模式的損益平衡時(shí)間,即進(jìn)入低功耗空閑模式能夠節(jié)約能耗的最短空閑時(shí)間;
第二步采用兩級(jí)哈希表來預(yù)測單線程下請求間隔時(shí)間的概率分布,第一級(jí)哈希表是根據(jù)mod37[RA(ri)]構(gòu)建的函數(shù)返回地址哈希表,用鏈表解決哈希沖突,該哈希表的索引結(jié)點(diǎn)包含對(duì)具有相同函數(shù)返回地址的操作請求后空閑時(shí)間分布的統(tǒng)計(jì)結(jié)果FRA,以及第二級(jí)哈希表根據(jù)mod17[SD(ri)]和mod17[RCM]分別構(gòu)建的棧深哈希表和請求簇集模式哈希表,其中SD(ri)表示產(chǎn)生操作請求ri時(shí)的堆棧深度,即堆棧頂部與堆棧底部之差;棧深哈希表的索引結(jié)點(diǎn)包含了具有相同函數(shù)返回地址和堆棧深度的操作請求之后的空閑時(shí)間分布FSD;而請求簇集模式哈希表的索引結(jié)點(diǎn)則包含了具有相同函數(shù)返回地址和請求簇集模式的操作請求之后的空閑時(shí)間分布FRCM;單線程下請求間隔時(shí)間,即請求之后的空閑時(shí)間的概率分布Fpredict可以根據(jù)哈希表的命中情況進(jìn)行預(yù)測,當(dāng)僅函數(shù)返回地址哈希表命中時(shí)Fpredict=FRA;當(dāng)僅棧深哈希表命中時(shí)Fpredict=FSD;當(dāng)僅請求簇集模式哈希表命中時(shí)Fpredict=FRCM;當(dāng)棧深哈希表和請求簇集模式同時(shí)命中,F(xiàn)predict=FSD×FRCM;
第三步以線程為獨(dú)立的請求源,并根據(jù)線程所屬任務(wù)以及入口地址對(duì)請求源進(jìn)行分組,屬于同一任務(wù)并且執(zhí)行入口地址相同的線程歸入同一個(gè)分組,在同組請求源產(chǎn)生的請求服從相同分布的假設(shè)條件下,綜合各請求源對(duì)請求間隔時(shí)間的預(yù)測結(jié)果,計(jì)算出部件或設(shè)備進(jìn)入低功耗空閑模式si的概率P(si);計(jì)算方法如下,
式中
NT——當(dāng)前正在使用部件或設(shè)備的線程總數(shù),即請求源總數(shù);
n——部件或設(shè)備的空閑模式總數(shù);
tj——請求源j當(dāng)前的延時(shí);
Pj(si,Δtj)——請求源j在空閑Δtj時(shí)間后繼續(xù)空閑的時(shí)間超過空閑模式si損益平衡時(shí)間的概率;
第四步根據(jù)部件或設(shè)備空閑時(shí)間的概率分布,計(jì)算出多功耗模式單門限下的最優(yōu)超時(shí)門限kopt和最優(yōu)功耗模式sopt,計(jì)算方法如下,
kopt=roptΔt
式中
Δt——候選超時(shí)門限的間隔時(shí)間;
Etotal(rΔt,si)——部件或設(shè)備在經(jīng)過rΔt超時(shí)時(shí)間后,進(jìn)入空閑模式si的能耗期望;
q——候選超時(shí)門限的總數(shù);
Ti——空閑時(shí)間分布統(tǒng)計(jì)中,落在第i個(gè)區(qū)間內(nèi)的空閑時(shí)間的長度總和;
ni——空閑時(shí)間分布統(tǒng)計(jì)中,空閑時(shí)間落在第i個(gè)區(qū)間內(nèi)的請求的總數(shù);在請求處理結(jié)束后啟動(dòng)定時(shí)器,一旦部件空閑時(shí)間超過計(jì)算出的最優(yōu)超時(shí)門限kopt,則立刻控制部件進(jìn)入對(duì)應(yīng)的最優(yōu)功耗模式sopt。
全文摘要
利用堆棧深度進(jìn)行多線程預(yù)測的動(dòng)態(tài)功耗控制方法適用于電池供電,具有多種空閑低功耗模式部件,并采用多任務(wù)嵌入式系統(tǒng)的設(shè)備,該方法為第一步通過操作請求的簇集模式RCM來描述單個(gè)線程對(duì)部件或設(shè)備的操作請求序列Φ的特征;第二步采用兩級(jí)哈希表來預(yù)測單線程下請求間隔時(shí)間的概率分布;第三步以線程為獨(dú)立的請求源,并根據(jù)線程所屬任務(wù)以及入口地址對(duì)請求源進(jìn)行分組;第四步根據(jù)部件或設(shè)備空閑時(shí)間的概率分布,計(jì)算出多功耗模式單門限下的最優(yōu)超時(shí)門限kopt和最優(yōu)功耗模式sopt;該方法提高了預(yù)測的有效命中率,進(jìn)一步降低了功耗可管理部件的空閑時(shí)功耗。
文檔編號(hào)G06F1/32GK101216725SQ20081001934
公開日2008年7月9日 申請日期2008年1月4日 優(yōu)先權(quán)日2008年1月4日
發(fā)明者戚隆寧, 黃少珉, 晨 胡 申請人:東南大學(xué)