專利名稱:Hrca系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種HRCA (超混合可重構(gòu)計(jì)算陣列)系統(tǒng)的可重構(gòu)單元的二維任務(wù)放
置方法。
背景技術(shù):
HRCA系統(tǒng)是一種混合結(jié)構(gòu),包括不可重構(gòu)單元和可重構(gòu)單元。不可重構(gòu)單元又包括通用計(jì)算單元和硬核單元,其中,通用計(jì)算單元執(zhí)行CPU功能,負(fù)責(zé)二維任務(wù)在HRCA系統(tǒng)的可重構(gòu)單元中的放置,硬核單元是執(zhí)行特定功能的計(jì)算單元,負(fù)責(zé)執(zhí)行應(yīng)用程序中重復(fù)使用的模塊。二維任務(wù)在可重構(gòu)單元中如何放置的問(wèn)題不僅關(guān)系到可重構(gòu)單元的合理有效利用,而且是研究可重構(gòu)芯片上任務(wù)重新定位和可重構(gòu)單元的碎片整理的基礎(chǔ),其效率一直是可重構(gòu)計(jì)算系統(tǒng)的瓶頸問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明提出一種HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,目的在于使任務(wù)放置更為緊湊合理,減少可重構(gòu)單元中的碎片,提高可重構(gòu)單元的空間利用率。為了達(dá)到上述目的,本發(fā)明的所采用的技術(shù)方案是結(jié)合三種影響HRCA系統(tǒng)的可重構(gòu)單元的碎片產(chǎn)生因素,包括當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度,當(dāng)前任務(wù)與其鄰接任務(wù)的邊長(zhǎng)的重合度,以及當(dāng)前任務(wù)對(duì)其它空閑塊的影響程度,計(jì)算各種放置位置對(duì)于任務(wù)的合適程度,以此來(lái)決定任務(wù)的最終放置位置。其中,當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度是指,若鄰接任務(wù)的預(yù)計(jì)完成時(shí)間晚于當(dāng)前任務(wù)的預(yù)計(jì)完成時(shí)間,則當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度為1,否則,當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度為鄰接任務(wù)的剩余執(zhí)行時(shí)間與當(dāng)前任務(wù)的執(zhí)行時(shí)間的比值。當(dāng)前任務(wù)與其鄰接任務(wù)的邊長(zhǎng)的重合度是指,當(dāng)前任務(wù)與其鄰接任務(wù)相鄰接的邊的長(zhǎng)度的比值。當(dāng)前任務(wù)對(duì)其它空閑塊的影響程度是指,所有與當(dāng)前任務(wù)重合的空閑塊的數(shù)量的倒數(shù)值。以上三種因素的乘積稱為合適度。本發(fā)明的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法包括如下步驟步驟10,獲取一個(gè)待放置的當(dāng)前任務(wù)信息,設(shè)置一個(gè)用于存放當(dāng)前任務(wù)的全局的合適度的變量并初始化為零,設(shè)置一個(gè)用于存放當(dāng)前任務(wù)的放置位置的變量并初始化為空;步驟20,獲取空閑塊集合中的一個(gè)空閑塊信息,判斷是否當(dāng)前任務(wù)的長(zhǎng)不大于當(dāng)前空閑塊的長(zhǎng)且當(dāng)前任務(wù)的寬不大于當(dāng)前空閑塊的寬,若是,則繼續(xù)下一步驟;否則,跳至步驟60 ;步驟30,計(jì)算當(dāng)前任務(wù)的長(zhǎng)、寬分別沿當(dāng)前空閑塊的每?jī)蓷l相鄰邊放置時(shí)的合適度,選出所有合適度中的最大值作為當(dāng)前的合適度;步驟40,判斷當(dāng)前的合適度是否大于全局的合適度,若是,則繼續(xù)下一步驟;否貝U,跳至步驟60 ;步驟50,用于存放當(dāng)前任務(wù)的全局的合適度的變量更新為當(dāng)前的合適度的數(shù)值,用于存放當(dāng)前任務(wù)的放置位置的變量更新為當(dāng)前的合適度所對(duì)應(yīng)的放置位置;步驟60,判斷當(dāng)前空閑塊是否是空閑塊集合中的最后一個(gè)空閑塊,若是,則繼續(xù)下一步驟;否則,跳至步驟20,獲取下一個(gè)空閑塊信息;步驟70,判斷用于存放當(dāng)前任務(wù)的放置位置的變量是否為空,若不為空,則將其中所存儲(chǔ)的放置位置作為當(dāng)前任務(wù)的最終放置位置;否則,未找到當(dāng)前任務(wù)的適合放置位置,當(dāng)前任務(wù)的放置結(jié)束。本發(fā)明的可重構(gòu)單元的二維任務(wù)放置方法,可以使任務(wù)放置更為緊湊合理,減少可重構(gòu)單元中的碎片,提高可重構(gòu)單元的空間利用率。
圖1所示為本發(fā)明的HRCA系統(tǒng)的結(jié)構(gòu)示意圖;圖2所示為本發(fā)明的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法的流程圖。
具體實(shí)施例方式下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。如圖1所示,本發(fā)明的HRCA系統(tǒng)9包括可重構(gòu)單元I與不可重構(gòu)單元2,其中不可重構(gòu)單元2包括通用計(jì)算單元3與硬核單元4。通用計(jì)算單元3執(zhí)行CPU功能,硬核單元4是執(zhí)行特定功能的計(jì)算單元,負(fù)責(zé)執(zhí)行應(yīng)用程序中重復(fù)使用的模塊。通用計(jì)算單元3包括調(diào)度器5、放置器6、載入器7和任務(wù)等待隊(duì)列8。其中調(diào)度器5負(fù)責(zé)任務(wù)序列調(diào)度,放置器6負(fù)責(zé)任務(wù)放置策略實(shí)現(xiàn),載入器7則負(fù)責(zé)具體的任務(wù)放置操作。任務(wù)達(dá)到后,由放置器6為其選擇放置位置。選定放置位置后再由載入器7將任務(wù)放入可重構(gòu)單元I或硬核單元4執(zhí)行。已到達(dá)的但暫時(shí)無(wú)法放置并執(zhí)行的任務(wù)將在任務(wù)等待隊(duì)列8中等候,此時(shí)調(diào)度器5可根據(jù)任務(wù)特點(diǎn)對(duì)隊(duì)列中的任務(wù)進(jìn)行調(diào)度,從而改變?nèi)蝿?wù)的放置及執(zhí)行順序??芍貥?gòu)單元I包括多個(gè)用于放置并執(zhí)行任務(wù)的模塊,其中尚未放置任務(wù)的模塊稱為空閑塊,所有空閑塊的總和稱為空閑塊集合。本發(fā)明的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,結(jié)合三種影響HRCA系統(tǒng)的可重構(gòu)單元的碎片產(chǎn)生因素,包括當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度,當(dāng)前任務(wù)與其鄰接任務(wù)的邊長(zhǎng)的重合度,以及當(dāng)前任務(wù)對(duì)其它空閑塊的影響程度,計(jì)算各種放置位置對(duì)于任務(wù)的合適程度,以此來(lái)決定任務(wù)的最終放置位置。三種影響因素定義如下(I)當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度若鄰接任務(wù)的預(yù)計(jì)完成時(shí)間晚于當(dāng)前任務(wù)的預(yù)計(jì)完成時(shí)間,則所述當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度為1,否則,當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度為鄰接任務(wù)的剩余執(zhí)行時(shí)間與當(dāng)前任務(wù)的執(zhí)行時(shí)間的比值。(2)當(dāng)前任務(wù)與其鄰接任務(wù)的邊長(zhǎng)的重合度即當(dāng)前任務(wù)與其鄰接任務(wù)相鄰接的邊的長(zhǎng)度的比值。(3)當(dāng)前任務(wù)對(duì)其它空閑塊的影響程度即所有與當(dāng)前任務(wù)重合的空閑塊的數(shù)量的倒數(shù)值。以上三種因素的乘積稱為合適度。以空閑塊為單位,依次計(jì)算當(dāng)前任務(wù)的長(zhǎng)、寬分別沿每個(gè)空閑塊的每?jī)蓷l相鄰邊放置時(shí)的合適度,選出所有空閑塊的所有位置中合適度最大的位置作為當(dāng)前任務(wù)的最終放置位置。如圖2所示的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,步驟如下步驟10,獲取一個(gè)待放置的當(dāng)前任務(wù)信息,設(shè)置一個(gè)用于存放當(dāng)前任務(wù)的全局的合適度的變量并初始化為零,設(shè)置一個(gè)用于存放當(dāng)前任務(wù)的放置位置的變量并初始化為空;步驟20,獲取空閑塊集合中的一個(gè)空閑塊信息,判斷是否當(dāng)前任務(wù)的長(zhǎng)不大于當(dāng)前空閑塊的長(zhǎng)且當(dāng)前任務(wù)的寬不大于當(dāng)前空閑塊的寬,若是,則繼續(xù)下一步驟;否則,跳至步驟60 ;步驟30,計(jì)算當(dāng)前任務(wù)的長(zhǎng)、寬分別沿當(dāng)前空閑塊的每?jī)蓷l相鄰邊放置時(shí)的合適度,選出所有合適度中的最大值作為當(dāng)前的合適度;步驟40,判斷當(dāng)前的合適度是否大于全局的合適度,若是,則繼續(xù)下一步驟;否貝U,跳至步驟60 ;步驟50,用于存放當(dāng)前任務(wù)的全局的合適度的變量更新為當(dāng)前的合適度的數(shù)值,用于存放當(dāng)前任務(wù)的放置位置的變量更新為當(dāng)前的合適度所對(duì)應(yīng)的放置位置;步驟60,判斷當(dāng)前空閑塊是否是空閑塊集合中的最后一個(gè)空閑塊,若是,則繼續(xù)下一步驟;否則,跳至步驟20,獲取下一個(gè)空閑塊信息;步驟70,判斷用于存放當(dāng)前任務(wù)的放置位置的變量是否為空,若不為空,則將其中所存儲(chǔ)的放置位置作為當(dāng)前任務(wù)的最終放置位置;否則,未找到當(dāng)前任務(wù)的適合放置位置,當(dāng)前任務(wù)的放置結(jié)束。以上所述,僅為本發(fā)明的較佳實(shí)施例,并非用以限定本發(fā)明的范圍,本發(fā)明的上述實(shí)施例還可以做出各種變化。比如,上述方法中各步驟的前后順序可以變換,又如,獲取任務(wù)信息和獲取空閑塊信息可以同步進(jìn)行而不必分步進(jìn)行,再如,所有空閑塊的長(zhǎng)寬判斷可以同步進(jìn)行而不必逐一進(jìn)行等。即凡是依據(jù)本發(fā)明申請(qǐng)的權(quán)利要求書及說(shuō)明書內(nèi)容所作的簡(jiǎn)單、等效變化與修飾,皆落入本發(fā)明專利的權(quán)利要求保護(hù)范圍。
權(quán)利要求
1.一種HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,該HRCA系統(tǒng)包括可重構(gòu)單元和不可重構(gòu)單元,可重構(gòu)單元包括多個(gè)用于放置并執(zhí)行任務(wù)的空閑塊,其特征在于,所述方法為選取待放置的當(dāng)前任務(wù)的長(zhǎng)、寬分別沿每個(gè)能夠容納當(dāng)前任務(wù)的空閑塊的每?jī)蓷l相鄰邊放置時(shí)的合適度中的最大數(shù)值所對(duì)應(yīng)的位置作為當(dāng)前任務(wù)的最終放置位置。
2.如權(quán)利要求1所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述合適度為當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度、當(dāng)前任務(wù)與其鄰接任務(wù)的邊長(zhǎng)的重合度、當(dāng)如任務(wù)對(duì)其它空閑塊的影響程度二者的乘積。
3.如權(quán)利要求2所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,若鄰接任務(wù)的預(yù)計(jì)完成時(shí)間晚于當(dāng)前任務(wù)的預(yù)計(jì)完成時(shí)間,則所述當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度為1,否則,當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度為鄰接任務(wù)的剩余執(zhí)行時(shí)間與當(dāng)前任務(wù)的執(zhí)行時(shí)間的比值。
4.如權(quán)利要求2所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述當(dāng)前任務(wù)與其鄰接任務(wù)的邊長(zhǎng)的重合度為當(dāng)前任務(wù)與其鄰接任務(wù)相鄰接的邊的長(zhǎng)度的比值。
5.如權(quán)利要求2所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述當(dāng)前任務(wù)對(duì)其它空閑塊的影響程度為所有與當(dāng)前任務(wù)重合的空閑塊數(shù)量的倒數(shù)值。
6.如權(quán)利要求1-5中任意一項(xiàng)所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述方法包括如下步驟步驟10,獲取一個(gè)待放置的當(dāng)前任務(wù)信息,設(shè)置一個(gè)用于存放當(dāng)前任務(wù)的全局的合適度的變量并初始化為零,設(shè)置一個(gè)用于存放當(dāng)前任務(wù)的放置位置的變量并初始化為空;步驟20,獲取空閑塊集合中的一個(gè)空閑塊信息,判斷是否當(dāng)前任務(wù)的長(zhǎng)不大于當(dāng)前空閑塊的長(zhǎng)且當(dāng)前任務(wù)的寬不大于當(dāng)前空閑塊的寬,若是,則繼續(xù)下一步驟;否則,跳至步驟 60 ;步驟30,計(jì)算當(dāng)前任務(wù)的長(zhǎng)、寬分別沿當(dāng)前空閑塊的每?jī)蓷l相鄰邊放置時(shí)的合適度,選出所有合適度中的最大值作為當(dāng)前的合適度;步驟40,判斷當(dāng)前的合適度是否大于全局的合適度,若是,則繼續(xù)下一步驟;否則,跳至步驟60 ;步驟50,將用于存放當(dāng)前任務(wù)的全局的合適度的變量更新為當(dāng)前的合適度的數(shù)值,將用于存放當(dāng)前任務(wù)的放置位置的變量更新為當(dāng)前的合適度所對(duì)應(yīng)的放置位置;步驟60,判斷當(dāng)前空閑塊是否是空閑塊集合中的最后一個(gè)空閑塊,若是,則繼續(xù)下一步驟;否則,跳至步驟20,獲取下一個(gè)空閑塊信息;步驟70,判斷用于存放當(dāng)前任務(wù)的放置位置的變量是否為空,若不為空,則將其中所存儲(chǔ)的放置位置作為當(dāng)前任務(wù)的最終放置位置;否則,未找到當(dāng)前任務(wù)的適合放置位置,當(dāng)前任務(wù)的放置結(jié)束。
7.如權(quán)利要求6所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述不可重構(gòu)單元用于執(zhí)行所述步驟10-70。
8.如權(quán)利要求7所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述不可重構(gòu)單元包括一個(gè)用于選擇當(dāng)前任務(wù)的最終放置位置的放置器。
9.如權(quán)利要求8所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述不可重構(gòu)單元還包括一個(gè)用于將當(dāng)前任務(wù)放入最終放置位置的載入器。
10.如權(quán)利要求9所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述不可重構(gòu)單元還包括一個(gè)用于存放已到達(dá)但暫時(shí)無(wú)法放置的任務(wù)的任務(wù)等待隊(duì)列。
11.如權(quán)利要求10所述的HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,其特征在于,所述不可重構(gòu)單元還包括一個(gè)用于對(duì)任務(wù)等待隊(duì)列中的任務(wù)進(jìn)行調(diào)度從而改變?nèi)蝿?wù)的放置順序的調(diào)度器。
全文摘要
本發(fā)明提供一種HRCA系統(tǒng)的可重構(gòu)單元的二維任務(wù)放置方法,結(jié)合三種影響HRCA系統(tǒng)的可重構(gòu)單元的碎片產(chǎn)生因素,包括當(dāng)前任務(wù)與其鄰接任務(wù)在時(shí)間上的重合度,當(dāng)前任務(wù)與其鄰接任務(wù)的邊長(zhǎng)的重合度,以及當(dāng)前任務(wù)對(duì)其它空閑塊的影響程度,依次計(jì)算當(dāng)前任務(wù)的長(zhǎng)、寬分別沿每個(gè)空閑塊的每?jī)蓷l相鄰邊放置時(shí)的合適度,選出所有空閑塊的所有位置中合適度最大的位置作為當(dāng)前任務(wù)的最終放置位置。本發(fā)明的可重構(gòu)單元的二維任務(wù)放置方法,可以使任務(wù)放置更為緊湊合理,減少可重構(gòu)單元中的碎片,提高可重構(gòu)單元的空間利用率。
文檔編號(hào)G06F12/06GK102999435SQ20111027625
公開(kāi)日2013年3月27日 申請(qǐng)日期2011年9月16日 優(yōu)先權(quán)日2011年9月16日
發(fā)明者陳雪, 張雋豐 申請(qǐng)人:上海大學(xué), 上海紅神信息技術(shù)有限公司