可重構(gòu)系統(tǒng)功耗相關(guān)的硬件任務(wù)調(diào)度算法_第1頁
可重構(gòu)系統(tǒng)功耗相關(guān)的硬件任務(wù)調(diào)度算法_第2頁
可重構(gòu)系統(tǒng)功耗相關(guān)的硬件任務(wù)調(diào)度算法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、    可重構(gòu)系統(tǒng)功耗相關(guān)的硬件任務(wù)調(diào)度算法引言可重構(gòu)系統(tǒng)是指以軟件改變硬件結(jié)構(gòu)以實(shí)現(xiàn)具體應(yīng)用的計(jì)算平臺(tái),一般由非柔性但可編程的處理器和柔性的以程序控制重構(gòu)的數(shù)字邏輯器件構(gòu)成。目前國內(nèi)外的可重構(gòu)系統(tǒng)研究中,采用的可重構(gòu)硬件主要是現(xiàn)場可編程門陣列(FieldProgrammingGateArray,F(xiàn)PGA)??芍貥?gòu)系統(tǒng)非常適合于那些對功耗有嚴(yán)格要求或者計(jì)算密集的應(yīng)用,因?yàn)榇祟悜?yīng)用在FPGA上實(shí)現(xiàn)的功耗要大大低于在處理器上實(shí)現(xiàn)的功耗。將在FPGA上運(yùn)行的任務(wù)視為“硬件任務(wù)”納入實(shí)引 言    可重構(gòu)系統(tǒng)是指以軟件改變硬件結(jié)構(gòu)以

2、實(shí)現(xiàn)具體應(yīng)用的計(jì)算平臺(tái),一般由非柔性但可編程的處理器和柔性的以程序控制重構(gòu)的數(shù)字邏輯器件構(gòu)成。目前國內(nèi)外的可重構(gòu)系統(tǒng)研究中,采用的可重構(gòu)硬件主要是現(xiàn)場可編程門陣列(Field Programming Gate Array,F(xiàn)PGA)。可重構(gòu)系統(tǒng)非常適合于那些對功耗有嚴(yán)格要求或者計(jì)算密集的應(yīng)用,因?yàn)榇祟悜?yīng)用在FPGA上實(shí)現(xiàn)的功耗要大大低于在處理器上實(shí)現(xiàn)的功耗。將在FPGA上運(yùn)行的任務(wù)視為“硬件任務(wù)”納入實(shí)時(shí)操作系統(tǒng)(Real-time Operating Sys-tem,RTOS)的統(tǒng)一管理范圍,可簡化系統(tǒng)的設(shè)計(jì)與管理。因此,需要在傳統(tǒng)的RTOS中引入硬件任務(wù)管理器,實(shí)現(xiàn)硬件任務(wù)的管理和調(diào)度。&

3、#160;   目前,該研究已經(jīng)取得了一定進(jìn)展。如在參考文獻(xiàn)1中提出的商用可重構(gòu)系統(tǒng)OS4RS,包含的主要功能有任務(wù)的創(chuàng)建銷毀、異構(gòu)任務(wù)的動(dòng)態(tài)遷移、任務(wù)之間的相互通信等。支持軟硬件任務(wù)調(diào)試以及允許對操作系統(tǒng)模塊和用戶任務(wù)的跟蹤監(jiān)控,是可重構(gòu)硬件操作系統(tǒng)的重要特征。在參考文獻(xiàn)2中設(shè)計(jì)了一種基于軟硬件統(tǒng)一多任務(wù)模型的實(shí)時(shí)操作系統(tǒng)SHUM-COS,實(shí)現(xiàn)了統(tǒng)一任務(wù)的管理、基于靜態(tài)優(yōu)先級的軟硬件任務(wù)獨(dú)立調(diào)度、硬件資源的管理以及軟硬件任務(wù)基于軟件層的通信等機(jī)制。    但是大多數(shù)研究者考慮的軟硬件調(diào)度算法一般難以在現(xiàn)有的FPGA硬件平臺(tái)上實(shí)現(xiàn),如參考文獻(xiàn)2

4、中FORS算法采用的2D FPGA資源模型。這是因?yàn)楫?dāng)前的FPGA技術(shù)只允許所有的任務(wù)占用同樣的“高度”,并且上述工作中幾乎沒有將功耗納入考慮范疇。因此,類似在嵌入式微處理器中廣泛采用動(dòng)態(tài)電壓調(diào)整(DynamicVoltage Scaling,DVS)技術(shù)以降低系統(tǒng)功耗,本文提出了一種動(dòng)態(tài)調(diào)整FPGA工作頻率的算法,在可重構(gòu)系統(tǒng)的性能需求和功耗需求之間達(dá)到平衡,并且可以在當(dāng)前的FPGA技術(shù)條件下實(shí)現(xiàn)。1 調(diào)度模型11 可重構(gòu)系統(tǒng)體系結(jié)構(gòu)    本文只考慮在當(dāng)前FPGA技術(shù)條件下的可重構(gòu)系統(tǒng)結(jié)構(gòu),如圖1所示。FPGA分為動(dòng)態(tài)和靜態(tài)兩部分。動(dòng)態(tài)部分包括很多可重構(gòu)模塊(

5、Reconfigurable Modules,RM),每個(gè)硬件任務(wù)運(yùn)行在1個(gè)RM上,各個(gè)RM占用的FPGA寬度可以不相等,一般由若干同列的CLB(Config-urabIe Logic Block,可重構(gòu)單元)組成。靜態(tài)部分則負(fù)責(zé)與CPU和RM之間的數(shù)據(jù)交互。    假設(shè)FPGA是由很多CLB成陣列排列而成,每1個(gè)CLB可以看成1個(gè)1×1的單位正方形,1個(gè)FPGA則是1個(gè)面積為×h的長方形。其中為長方形的寬度,h為長方形的高度,×h為該FPGA包含CLB的總數(shù)(即面積)。圖2所示為1塊5×4的FPGA。在實(shí)現(xiàn)中,因?yàn)槊總€(gè)RM

6、都使用相同的FPGA高度,即h,所以最小的RM的面積是mm×h,其中,min的大小依賴于硬件任務(wù)需要使用的CLB的個(gè)數(shù)。所以,1塊FPGA上RM最多可以有:       當(dāng)對1塊FPGA進(jìn)行配置時(shí),其動(dòng)態(tài)部分可以劃分成具有不同寬度的RM,從而具有不同CLB需求的多個(gè)硬件任務(wù)可以同時(shí)運(yùn)行在FPGA上。另外,對其中1個(gè)RM進(jìn)行配置時(shí),對于其他正在運(yùn)行的部分沒有影響,從而可重配置硬件使得硬件任務(wù)以一種真正的動(dòng)態(tài)多任務(wù)方式運(yùn)行。12 任務(wù)定義    硬件任務(wù):硬件任務(wù)是指可重構(gòu)系統(tǒng)中基于FPGA實(shí)現(xiàn)的功

7、能模塊。一個(gè)硬件任務(wù)配置完成后即可開始執(zhí)行,在完成之前一般不會(huì)釋放其占用的可重配置資源,即不能被其他硬件任務(wù)搶占。    一個(gè)硬件任務(wù)可表示為Ti(fi,max,ai,ci,ti,ei,fworking)。其中,fi,max是硬件任務(wù)可以運(yùn)行在RM上的最大時(shí)鐘頻率,這個(gè)頻率是由每個(gè)具體硬件任務(wù)設(shè)計(jì)的時(shí)序狀況決定的,所以每個(gè)任務(wù)的fi,max可能不同。i是任務(wù)占用的可重構(gòu)硬件的寬度資源,ai表示硬件任務(wù)的到達(dá)時(shí)間,ci表示硬件任務(wù)的最后完成時(shí)限,ti是硬件任務(wù)工作在fi,max時(shí)的運(yùn)行時(shí)間。本文中不單獨(dú)考慮硬件任務(wù)在FPGA上的配置時(shí)間,而是把它并入運(yùn)行時(shí)間中一起考

8、慮。e是硬件任務(wù)工作在fi,max時(shí)的功耗,可由參考文獻(xiàn)4建立的功耗模型進(jìn)行估算。fworking是該任務(wù)在運(yùn)行時(shí)FPGA的實(shí)際頻率。    在參考文獻(xiàn)4中,硬件任務(wù)的功耗和硬件的運(yùn)行頻率直接相關(guān),因此,可以使用以下2個(gè)公式對硬件任務(wù)實(shí)際的運(yùn)行時(shí)間和功耗進(jìn)行估算:   其中,f是硬件任務(wù)實(shí)際的運(yùn)行頻率。2 功耗相關(guān)硬件任務(wù)調(diào)度算法EEHTS21 硬件任務(wù)調(diào)度器設(shè)計(jì)    目標(biāo)系統(tǒng)如圖3所示。用戶程序分為2部分,其中軟件任務(wù)運(yùn)行在CPU上,硬件任務(wù)運(yùn)行在FPGA上。本文中只考慮功耗相關(guān)的硬件任務(wù)的調(diào)度,目標(biāo)

9、是將軟硬件任務(wù)統(tǒng)一起來進(jìn)行考慮,在滿足任務(wù)截止時(shí)限要求的情況下降低系統(tǒng)的整體功耗,即:   22 調(diào)度原則和放置原則    在嵌入式系統(tǒng)中,任務(wù)的正確性不但依賴于其功能正確性,而且依賴于其執(zhí)行的及時(shí)性,所以確保任務(wù)不錯(cuò)過截止期是最重要的調(diào)度依據(jù)。在滿足任務(wù)截止時(shí)間的前提下,1個(gè)新到達(dá)的硬件任務(wù)Ti的最遲開始執(zhí)行時(shí)間(Last:Starting time,LST)為LST(Ti)=ci-ti,如果Ti在放置時(shí)沒有找到合適的位置,調(diào)度器并不立刻拒絕Ti,因?yàn)橹灰贚ST(Ti)之前有滿足Ti需求的資源被釋放,那么Ti仍然可以滿足其截止期要

10、求。在EEHTS算法中,需要維護(hù)到達(dá)任務(wù)列表Alist,Alist中保存所有已經(jīng)到達(dá)且未能成功分配的任務(wù)。已到達(dá)列表的任務(wù)按照任務(wù)的LST增序排列,即按照最早最遲開始時(shí)問優(yōu)先(EarliestLast Starting time First,ELST)的原則進(jìn)行調(diào)度。硬件任務(wù)調(diào)度器的核心是進(jìn)行定位分配,即根據(jù)硬件任務(wù)占用FPGA資源大小在FPGA上尋找合適的位置對FPGA進(jìn)行配置,如參考文獻(xiàn)5中提出的MER算法。但是此類算法采用的FPGA面積模型都是2D資源模型,并不能在當(dāng)前的FPGA技術(shù)條件下實(shí)現(xiàn),所以本文采用類似傳統(tǒng)操作系統(tǒng)管理存儲(chǔ)器資源的方法,即首次適配(FirstFit)算法。在EEHTS算法中,需要維護(hù)空白資源列表B,B中保存了所有當(dāng)前未被使用的FPGA上的空白區(qū)域。放置成功的硬件任務(wù)即可開始配置運(yùn)行,因此在EEHTS算法中需要維護(hù)正在運(yùn)行的任

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論