專利名稱:一種軟硬件協(xié)調(diào)處理的局部動態(tài)可重構(gòu)系統(tǒng)能量管理方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式系統(tǒng)領(lǐng)域,涉及現(xiàn)場可編程門陣列局部動態(tài)可重構(gòu)系統(tǒng),具體 涉及是一種軟硬件協(xié)調(diào)處理的局部動態(tài)可重構(gòu)系統(tǒng)的能量管理方法。
背景技術(shù):
隨著FPGA可重構(gòu)技術(shù)的出現(xiàn),大大改變了傳統(tǒng)的嵌入式設(shè)計的方法,可重構(gòu)計算 作為一種新型時空域的計算模式,在嵌入式和高性能的計算領(lǐng)域具有廣泛地應(yīng)用前景,已 經(jīng)成為當(dāng)前嵌入式系統(tǒng)發(fā)展的趨勢。局部動態(tài)可重構(gòu)技術(shù)的發(fā)展,代表了一種新的可重構(gòu) 設(shè)計思想,大多由微處理器與可重構(gòu)硬件構(gòu)成,可重構(gòu)硬件可以采用FPGA的細(xì)粒度邏輯單 元,也可以是特定功能的粗粒度模塊,使得硬件功能的執(zhí)行更加靈活,軟硬件之間的鴻溝越 發(fā)的不明顯,硬件任務(wù)可以根據(jù)需求像軟件任務(wù)一樣靈活的調(diào)用和配置。但局部動態(tài)可重 構(gòu)系統(tǒng)如何利用軟硬件協(xié)調(diào)運(yùn)行處理來提高系統(tǒng)的能量利用已經(jīng)成為了制約可重構(gòu)技術(shù) 發(fā)展的一個因素。由于可重構(gòu)硬件只適合執(zhí)行應(yīng)用中控制相對簡單、數(shù)據(jù)訪問比較規(guī)范、計算量相 對較大的計算密集型的任務(wù),雖然執(zhí)行時間短,但增加額外FPGA硬件資源的功耗開銷以及 重配置的功耗開銷,可能會增加整個系統(tǒng)的能量開銷;但在實際應(yīng)用中也存在著一些控制 相對復(fù)雜、計算量相對簡單、硬件無法綜合的計算任務(wù)以及可重構(gòu)硬件的配置功能,如果單 獨(dú)用專用處理器執(zhí)行,雖然節(jié)約了額外FPGA硬件資源的功耗開銷,但執(zhí)行時間大大增加, 也會增加整個系統(tǒng)的能量開銷。CPU+FPGA的混合計算結(jié)構(gòu),因兼具集成電路的高性能和通 用處理器的高靈活性,為局部動態(tài)部分可重構(gòu)系統(tǒng)的實現(xiàn)能量有效提供了可能。由于硬件資源利用和系統(tǒng)處理時間是決定可重構(gòu)系統(tǒng)功耗的主要因素,由上所述 可重構(gòu)硬件和微處理器在執(zhí)行不同的計算任務(wù)上存在著各自的缺點(diǎn)和優(yōu)點(diǎn),如果沒有局部 可重構(gòu)技術(shù)和軟硬件協(xié)調(diào)運(yùn)行的有效能量管理方法無法將各自的優(yōu)點(diǎn)結(jié)合起來使用,會使 動態(tài)部分可重構(gòu)系統(tǒng)的功耗顯著地增加。
發(fā)明內(nèi)容
本發(fā)明的目的是針對上述問題,提供一種軟硬件協(xié)調(diào)處理的局部動態(tài)可重構(gòu)系統(tǒng) 的能量管理方法。一種軟硬件協(xié)調(diào)處理的局部動態(tài)可重構(gòu)系統(tǒng),在至少有一個內(nèi)嵌微處理 器所構(gòu)成的可重構(gòu)芯片上,局部動態(tài)可重構(gòu)系統(tǒng)可執(zhí)行和配置多個不同功能硬件任務(wù)(硬 件配置流任務(wù)存儲在外部存儲器中),不同的硬件配置任務(wù)具有不同的配置時間、不同的資 源利用、不同的處理時間,因此各自都具有不同功耗。通常一個特定的應(yīng)用可分解成若干個 任務(wù)來執(zhí)行,這些任務(wù)可以軟件執(zhí)行也可以硬件執(zhí)行,利用軟件和硬件劃分的協(xié)調(diào)處理實 現(xiàn)對能量的有效管理,是一種降低嵌入式系統(tǒng)的整體能量方法。為了達(dá)到以上所述的目的,本發(fā)明解決其技術(shù)問題所采用的關(guān)鍵點(diǎn)在局部動態(tài) 可重構(gòu)系統(tǒng)的運(yùn)行過程中利用軟硬件協(xié)調(diào)調(diào)度和處理對嵌入式系統(tǒng)的能量進(jìn)行有效管理, 即目的是為了降低可重構(gòu)嵌入式系統(tǒng)的能量開銷。微處理器控制硬件任務(wù)的配置裝置,也可以運(yùn)行與硬件任務(wù)功能相同的軟件任務(wù),即軟件任務(wù)在CPU上運(yùn)行,硬件任務(wù)利用FPGA 硬件資源處理。軟硬件任務(wù)選擇處理是根據(jù)應(yīng)用中待處理任務(wù)的能量決定,調(diào)度裝置利用 ICAP(內(nèi)部配置接口 )可以選擇將這些硬件配置任務(wù)局部配置到可重構(gòu)芯片的局部可重構(gòu) 區(qū)(PRR),硬件任務(wù)完成后就自動釋放該區(qū)域的硬件資源。所述的硬件配置任務(wù)的時間用硬件任務(wù)資源來衡量,而配置功耗并入硬件任務(wù)運(yùn) 行功耗。所述的局部動態(tài)可重構(gòu)系統(tǒng)的一個應(yīng)用中的所有任務(wù)可以通過微處理器的軟件 任務(wù)處理也可以通過局部動態(tài)配置用FPGA的硬件資源來處理,軟件任務(wù)和硬件任務(wù)可并 行執(zhí)行,且PRR進(jìn)行配置時,對其他正在運(yùn)行的功能沒有影響;整個系統(tǒng)的運(yùn)行頻率f保持 不變。所述的軟硬件協(xié)調(diào)控制的局部動態(tài)可重構(gòu)系統(tǒng)能量管理方法,是在具備支持局部 動態(tài)可重構(gòu)芯片上實現(xiàn)的,可提供多個配置區(qū)域。所述的硬件配置任務(wù)具有不同的配置時間、資源利用以及硬件處理時間,從而具 有不同的能量消耗。所述的軟硬件任務(wù)在啟動運(yùn)行時,軟件任務(wù)不在完成之前被終止,硬件任務(wù)不能 在配置完成前被終止,采用非搶占調(diào)度。所述的微處理器不僅能用軟件實現(xiàn)軟件任務(wù)的功能,也可用軟件調(diào)度和選擇硬件 配置任務(wù)。本發(fā)明方法的具體步驟如下步驟(1)對應(yīng)用按功能模塊進(jìn)行任務(wù)劃分,形成Ri、R2、R3……Rn共計n個劃分,各 個劃分實現(xiàn)不同的功能。步驟(2)對n個劃分Ri、R2、R3……Rn建立軟件任務(wù)和硬件任務(wù),氏對應(yīng)的軟件任 務(wù)和硬件任務(wù)具有相同的實現(xiàn)功能,但處理所需的能量開銷不一樣。軟件任務(wù)記為Ts1、Ts2、Ts3……Tsn;硬件任務(wù)記為Thl、T h2、Th3......T^hn ;步驟(3)獲取軟件、硬件任務(wù)處理的功耗(單位時間內(nèi)的能量消耗)、軟件、硬件任 務(wù)處理的時間及硬件任務(wù)配置時間。1.獲取軟件任務(wù)處理的功耗,軟件任務(wù)處理的功耗由CPU運(yùn)行時的功耗Pm和系統(tǒng) 的靜態(tài)功耗ps組成(ps定義為功耗單元,是確定的,由底層FPGA工藝等決定)。2.獲取各硬件任務(wù)處理功耗Phl、Ph2、Ph3……Pta;PhiS義了處理任務(wù)Thi的局部配 置區(qū)的功耗。3.獲取各硬件任務(wù)的配置時間、^、^、……t。n;4.獲取各硬件任務(wù)處理時間thwl、thw2、thw3……thm ;5.獲取軟件任務(wù)處理時間tswl、tsw2、tsw3……tsm ;步驟(4)對禮、R2、R3……Rn根據(jù)局部能量最優(yōu)原則來選擇軟件和硬件任務(wù)。所述的局部能量最優(yōu)原則為如果(Pm+Ps) X tswi彡(Phi+Ps) X (tci+thwi),選擇硬件 任務(wù)Thi來處理氏劃分。如果(Pffl+Ps) X tswi < (Phi+Ps) X (tci+thwi),選擇軟件任務(wù)Tsi來處 理氏劃分,其中1 < i < n。步驟(5)根據(jù)任務(wù)之間關(guān)系約束構(gòu)建應(yīng)用的有向無環(huán)圖(DAG),該有向無環(huán)圖有一個入口任務(wù)。任務(wù)之間關(guān)系約束為G,G= (TpEu),其中Ti為劃分的軟件任務(wù)或硬件任 務(wù),Eij為有向無環(huán)圖中Ti到&的邊,Ti又記為&直接前驅(qū)任務(wù),Tj記為Ti直接后繼任務(wù);步驟(6)計算任務(wù)優(yōu)先級。計算規(guī)則為一、包含Ti路徑的所有前驅(qū)任務(wù)處理完 畢后,才將Ti放入就緒列表中,等待調(diào)度;二、軟件任務(wù)和硬件任務(wù)按硬件任務(wù)優(yōu)先原則調(diào) 度就緒列表中任務(wù);三、硬件任務(wù)之間按執(zhí)行時間長的優(yōu)先調(diào)度和退避原則。步驟(7)協(xié)調(diào)處理軟件和硬件任務(wù),具體方法為
a、初始化動態(tài)部分可重構(gòu)夠系統(tǒng),調(diào)用步驟(4);b、調(diào)用步驟(5),執(zhí)行入口任務(wù);C、更新任務(wù)就緒列表中任務(wù)的優(yōu)先級,來維護(hù)就緒的任務(wù);d、檢查當(dāng)前微處理器是否空閑,如果當(dāng)前微處理器為空閑,則執(zhí)行步驟e ;否則繼 續(xù)執(zhí)行本步驟;e、調(diào)用步驟(6),調(diào)度并執(zhí)行就緒表中優(yōu)先級最高的任務(wù)Ti,從就緒表中刪除Ti ;f、如果步驟e中Ti是硬件任務(wù)Thi,則判斷當(dāng)前PRR區(qū)硬件資源是否正在運(yùn)行,如 果當(dāng)前PRR區(qū)硬件資源正在運(yùn)行,則從就緒表中添加Ti跳轉(zhuǎn)至步驟c,否則配置硬件資源配 置;然后執(zhí)行步驟h;g、如果步驟5中Ti是軟件任務(wù)Tsi,則處理軟件任務(wù)Tsi ;處理完畢后執(zhí)行步驟h ;h、判斷是否加載后續(xù)任務(wù)到就緒列表①Ti有直接后繼任務(wù),則加載直接后繼任務(wù)到就緒列表中,跳轉(zhuǎn)至步驟c ;②Ti無 直接后繼任務(wù),執(zhí)行步驟i ;i.判斷就緒表是否為空①就緒列表不為空,跳轉(zhuǎn)至步驟d ;②就緒列表為空,執(zhí)行步驟j ;j.應(yīng)用的所有任務(wù)處理完畢。本發(fā)明中硬件任務(wù)之間可以并行執(zhí)行,硬件任務(wù)和軟件任務(wù)中也能并行執(zhí)行(硬 件配置時間例外),而軟件任務(wù)之間不能夠并行執(zhí)行。利用了就緒列表中任務(wù)優(yōu)先級在線重 新計算的方法。利用本發(fā)明方法可將在動態(tài)部分可重構(gòu)系統(tǒng)上運(yùn)行的包含多個任務(wù)的應(yīng)用實例 實現(xiàn)能量的有效管理,從而使動態(tài)部分可重構(gòu)系統(tǒng)處理應(yīng)用實例降低能量的開銷。適用于 可重構(gòu)平臺中處理復(fù)雜度變化明顯的算法,數(shù)據(jù)處理,視頻及圖像處理等應(yīng)用領(lǐng)域,是針對 結(jié)合FPGA中額外硬件資源功耗和處理時間開銷,采用軟硬件協(xié)調(diào)運(yùn)行的方式來實現(xiàn)局部 動態(tài)可重構(gòu)系統(tǒng)的能量有效管理方法,實現(xiàn)整體的能量近似最優(yōu)。
圖1局部動態(tài)可重構(gòu)系統(tǒng)中軟硬件任務(wù)及任務(wù)放置示意圖;圖2應(yīng)用實施例中劃分所對應(yīng)的軟硬件任務(wù)的相關(guān)功耗和時間示意圖;圖3軟硬件任務(wù)選擇及任務(wù)間關(guān)系約束圖;圖4任務(wù)運(yùn)行及就緒列表更新圖;圖5軟硬件協(xié)調(diào)處理流程圖;圖6應(yīng)用實例的任務(wù)調(diào)度示意圖7能量消耗對比圖。
具體實施例方式本發(fā)明方法是結(jié)合FPGA的可重構(gòu)技術(shù)和軟硬件協(xié)調(diào)處理的思想提出的。旨在局 部動態(tài)可重構(gòu)系統(tǒng)的運(yùn)行過程中利用軟硬件協(xié)調(diào)調(diào)度和處理嵌入式系統(tǒng)的能量有效性,即 目的是為了降低可重構(gòu)嵌入式系統(tǒng)的能量開銷。在本實施例中通過對給定的應(yīng)用進(jìn)行軟 硬件處理功能的劃分,將軟件任務(wù)存儲在內(nèi)部存儲器上,將硬件任務(wù)存儲在外部存儲器上 (例如CF卡),利用任務(wù)處理局部能量最優(yōu)的調(diào)度指示來選擇軟件處理或硬件處理。硬件 任務(wù)配置存儲通過內(nèi)部配置接口來載入到FPFA相應(yīng)的區(qū)域中。實施例的具體實施方法一、在本實施例中將給定的一個應(yīng)用劃分為四個不同功能模塊禮、1 2、1 3、1 4 ;各劃 分模塊對應(yīng)的功能可以用軟件任務(wù)處理,也可以用硬件任務(wù)來處理。二、為本實施例中的劃分建立相應(yīng)的軟件任務(wù)和硬件任務(wù),如圖1所示,對于同 一個劃分的軟件任務(wù)和硬件任務(wù)具有相同的處理功能,軟件任務(wù)通過調(diào)度用微處理器來 處理,而硬件任務(wù)配置資源是存放在外部存儲器上的,通過硬件任務(wù)加載器(內(nèi)部配置接 口),配置到對應(yīng)FPGA芯片上PRR區(qū)域,利用FPGA硬件資源來處理。三、獲取實施例中給定應(yīng)用的軟硬件處理任務(wù)的功耗(單位時間內(nèi)的能量消 耗)、軟硬件任務(wù)的處理時間及硬件任務(wù)配置時間。通過XILINX公司的ISE、EDK、Xpore、 Chipscope工具獲取每個軟硬件任務(wù)處理時間、處理功耗以及硬件配置時間。如圖2所示, 不同任務(wù)所需要的處理時間和功耗不同,硬件任務(wù)還需要額外的配置時間,其中Pw為軟硬 件處理相應(yīng)功能的功耗,tw為軟硬件處理相應(yīng)功能的時間,t。為硬件任務(wù)的配置時間,Ps為 靜態(tài)功耗(由器件工藝決定),定義其為單位功耗。四、對給定的應(yīng)用實施例的劃分禮、R2、R3、R4,根據(jù)局部能量最優(yōu)原則來選擇軟硬 件任務(wù)。如圖3為軟硬件任務(wù)選擇及任務(wù)間關(guān)系約束圖所示,劃分禮選擇軟件處理,劃分 R3選擇軟件處理,劃分R2選擇硬件處理,劃分R4選擇硬件處理。任務(wù)之間關(guān)系約束在給定 的應(yīng)用確認(rèn)后已經(jīng)確定,一個任務(wù)必須在所有前驅(qū)任務(wù)處理后,才能被放入就緒表中,任務(wù) 之間層次關(guān)系和前后任務(wù)關(guān)系在應(yīng)用設(shè)計和選擇時已經(jīng)確立。五、任務(wù)優(yōu)先級的計算。包含路徑的所有前驅(qū)任務(wù)處理完后,T,才被放入就緒 列表中,等待調(diào)度;就緒列表中任務(wù)優(yōu)先級按硬件任務(wù)優(yōu)先原則調(diào)度;硬件任務(wù)之間按執(zhí) 行時間長的優(yōu)先調(diào)度和退避原則,在每次任務(wù)調(diào)度前都對存放在就緒表里的就緒的軟件任 務(wù)和硬件任務(wù)進(jìn)行更新和相應(yīng)任務(wù)的優(yōu)先級更新。如圖4所示為給定的實施例就緒表的更 新,就緒表中增加的任務(wù)及其更新的優(yōu)先級,其任務(wù)調(diào)度順序為TS1 — Th4 — Th2 — Ts3。六、軟硬件任務(wù)協(xié)調(diào)處理方法如圖5所示。a、初始化動態(tài)部分可重構(gòu)夠系統(tǒng),調(diào)用步驟四;b、調(diào)用步驟五,調(diào)度處理入口任務(wù);c、更新任務(wù)就緒列表RDYList中任務(wù)的優(yōu)先級,來維護(hù)就緒的任務(wù),任務(wù)只就緒 而未分配;d、檢查當(dāng)前微處理器是否空閑①如果是執(zhí)行步驟e ;
7
②如果否重復(fù)執(zhí)行本步驟d ;e、調(diào)用步驟五,調(diào)度執(zhí)行就緒表RDYList中優(yōu)先級最高的任務(wù)Ti且在任務(wù)就緒列 表RDYList刪除最高的任務(wù)Ti ;
f、如果步驟e中Ti是硬件任務(wù)Thi ①如果當(dāng)前PRR區(qū)硬件資源正在運(yùn)行,任務(wù)就緒列表RDYList增加任務(wù)Ti返回c, 否則執(zhí)行以下②;②硬件資源配置;②配置完成,執(zhí)行步驟h ;g、如果步驟5中Ti是軟件任務(wù)Tsi ①處理軟件任務(wù)Tsi;②執(zhí)行完畢,執(zhí)行步驟h ;h、是否加載后續(xù)任務(wù)到就緒列表①Ti有直接后繼任務(wù),加載到就緒列表中,返回步驟c ;②Ti無直接后繼任務(wù),執(zhí)行步驟i ;i、判斷就緒表是否為空①就緒列表不為空,返回任務(wù)d ;②就緒列表為空,執(zhí)行步驟j ;j、應(yīng)用的所有任務(wù)處理完畢。針對上述對給定實施例的實施方法,本發(fā)明方法中硬件任務(wù)之間可以并行執(zhí)行, 硬件任務(wù)和軟件任務(wù)中也能并行執(zhí)行(硬件配置時間間隙例外),而軟件任務(wù)之間不能夠 真正意義上的并行執(zhí)行。利用了就緒列表中任務(wù)優(yōu)先級在線重新計算的方法。圖6所示為 并行任務(wù)執(zhí)行在時間片的示意圖,在同個時間片上同時執(zhí)行多個任務(wù)對系統(tǒng)的靜態(tài)功耗減 少是有利的。如圖6中時間片25-30和30-35反映了軟件任務(wù)和硬件任務(wù)的并行執(zhí)行任務(wù)。利用本發(fā)明方法可將在動態(tài)部分可重構(gòu)系統(tǒng)上運(yùn)行的包含多個任務(wù)的應(yīng)用實例 實現(xiàn)能量的有效管理,從而使動態(tài)部分可重構(gòu)系統(tǒng)處理應(yīng)用實例降低能量的開銷。采用軟 硬件協(xié)調(diào)運(yùn)行的方式來實現(xiàn)局部動態(tài)可重構(gòu)系統(tǒng)的能量管理方法,實現(xiàn)整體的能量近似最 優(yōu)。可以驗證得到對給定的應(yīng)用實例采用軟硬件任務(wù)協(xié)調(diào)處理的實施方法可以減少整個應(yīng) 用的能量開銷,如圖7所示是軟硬件任務(wù)協(xié)調(diào)處理的管理方法與傳統(tǒng)的基于單獨(dú)硬件或軟 件處理方法的比較,表明軟硬件任務(wù)協(xié)調(diào)處理的管理方法處理整個應(yīng)用實例的能量開銷減 少。對于給定的應(yīng)用實例,相比于硬件單獨(dú)處理減少了能耗75,相對于軟件單獨(dú)處理減少了 能耗51。
權(quán)利要求
一種軟硬件協(xié)調(diào)處理的局部動態(tài)可重構(gòu)系統(tǒng)能量管理方法,其特征在于該方法包括如下步驟步驟(1)對應(yīng)用按功能模塊進(jìn)行任務(wù)劃分,形成R1、R2、R3……Rn共計n個劃分,各個劃分實現(xiàn)不同的功能;步驟(2)對n個劃分R1、R2、R3……Rn建立軟件任務(wù)和硬件任務(wù),Ri對應(yīng)的軟件任務(wù)和硬件任務(wù)具有相同的實現(xiàn)功能,但處理所需的能量開銷不一樣;軟件任務(wù)記為Ts1、Ts2、Ts3……Tsn;硬件任務(wù)記為Th1、Th2、Th3……Thn;步驟(3)獲取軟件、硬件任務(wù)處理的功耗、軟件、硬件任務(wù)處理的時間及硬件任務(wù)配置時間;1.獲取軟件任務(wù)處理的功耗,軟件任務(wù)處理的功耗由CPU運(yùn)行時的功耗Pm和系統(tǒng)的靜態(tài)功耗Ps組成;2.獲取各硬件任務(wù)處理功耗Ph1、Ph2、Ph3……Phn;Phi定義了處理任務(wù)Thi的局部配置區(qū)的功耗;3.獲取各硬件任務(wù)的配置時間tc1、tc2、tc3……tcn;4.獲取各硬件任務(wù)處理時間thw1、thw2、thw3……thwn;5.獲取軟件任務(wù)處理時間tsw1、tsw2、tsw3……ttsn;步驟(4)對R1、R2、R3……Rn根據(jù)局部能量最優(yōu)原則來選擇軟件和硬件任務(wù);所述的局部能量最優(yōu)原則為如果(Pm+Ps)×tswi≥(Phi+Ps)×(tci+thwi),選擇硬件任務(wù)Thi來處理Ri劃分;如果(Pm+Ps)×tswi<(Phi+Ps)×(tci+thwi),選擇軟件任務(wù)Tsi來處理Ri劃分,其中1≤i≤n;步驟(5)根據(jù)任務(wù)之間關(guān)系約束構(gòu)建應(yīng)用的有向無環(huán)圖,該有向無環(huán)圖有一個入口任務(wù);任務(wù)之間關(guān)系約束為G,G=(Ti,Eij),其中Ti為劃分的軟件任務(wù)或硬件任務(wù),Eij為有向無環(huán)圖中Ti到Tj的邊,Ti又記為Tj直接前驅(qū)任務(wù),Tj記為Ti直接后繼任務(wù);步驟(6)計算任務(wù)優(yōu)先級;計算規(guī)則為①包含Ti路徑的所有前驅(qū)任務(wù)處理完畢后,才將Ti放入就緒列表中,等待調(diào)度;②軟件任務(wù)和硬件任務(wù)按硬件任務(wù)優(yōu)先原則調(diào)度就緒列表中任務(wù);③硬件任務(wù)之間按執(zhí)行時間長的優(yōu)先調(diào)度和退避原則;步驟(7)協(xié)調(diào)處理軟件和硬件任務(wù),具體方法為a.初始化動態(tài)部分可重構(gòu)夠系統(tǒng),調(diào)用步驟(4);b.調(diào)用步驟(5),執(zhí)行入口任務(wù);c.更新任務(wù)就緒列表中任務(wù)的優(yōu)先級,來維護(hù)就緒的任務(wù);d.檢查當(dāng)前微處理器是否空閑,如果當(dāng)前微處理器為空閑,則執(zhí)行步驟e;如果當(dāng)前微處理器為忙碌,則繼續(xù)執(zhí)行本步驟;e.調(diào)用步驟(6),調(diào)度并執(zhí)行就緒表中優(yōu)先級最高的任務(wù),然后從就緒表中刪除該任務(wù);f.如果步驟e中優(yōu)先級最高的任務(wù)是硬件任務(wù)Thi,則判斷當(dāng)前PRR區(qū)硬件資源是否正在運(yùn)行,如果當(dāng)前PRR區(qū)硬件資源正在運(yùn)行,則從就緒表中添加Ti跳轉(zhuǎn)至步驟c,否則配置硬件資源配置;然后執(zhí)行步驟h;g.如果步驟(5)中優(yōu)先級最高的任務(wù)是軟件任務(wù)Tsi,則處理軟件任務(wù)Tsi;處理完畢后執(zhí)行步驟h;h.判斷是否加載后續(xù)任務(wù)到就緒列表Ti有直接后繼任務(wù),則加載直接后繼任務(wù)到就緒列表中,跳轉(zhuǎn)至步驟c;Ti無直接后繼任務(wù),執(zhí)行步驟i;i.判斷就緒表是否為空就緒列表不為空,跳轉(zhuǎn)至步驟d;就緒列表為空,執(zhí)行步驟j;j.應(yīng)用的所有任務(wù)處理完畢。
全文摘要
本發(fā)明涉及一種軟硬件協(xié)調(diào)處理的局部動態(tài)可重構(gòu)系統(tǒng)能量管理方法?,F(xiàn)有的可重構(gòu)系統(tǒng)能效比較大。本發(fā)明方法首先對應(yīng)用按功能模塊進(jìn)行任務(wù)劃分,并建立相應(yīng)的建立軟件任務(wù)和硬件任務(wù);其次獲取軟件、硬件任務(wù)處理的功耗、軟件、硬件任務(wù)處理的時間及硬件任務(wù)配置時間,根據(jù)局部能量最優(yōu)原則來選擇軟件和硬件任務(wù);然后根據(jù)任務(wù)之間關(guān)系約束構(gòu)建應(yīng)用的有向無環(huán)圖并計算任務(wù)優(yōu)先級;最后協(xié)調(diào)處理軟件和硬件任務(wù)。本發(fā)明方法可將在動態(tài)部分可重構(gòu)系統(tǒng)上運(yùn)行的包含多個任務(wù)的應(yīng)用實例實現(xiàn)能量的有效管理,從而使動態(tài)部分可重構(gòu)系統(tǒng)處理應(yīng)用實例降低能量的開銷。
文檔編號G06F1/32GK101833368SQ20101014593
公開日2010年9月15日 申請日期2010年4月13日 優(yōu)先權(quán)日2010年4月13日
發(fā)明者張佳芳, 戴國駿, 薛剛剛, 陳 峰, 高志剛 申請人:杭州電子科技大學(xué)