啟發(fā)量作為當前啟發(fā)量,取步驟?得到的子隊列中第一個子隊列,并將第一個子隊列先按當前啟發(fā)量從大到小進行排序,更新得到新的有序隊列,然后將更新得到的新的有序隊列再拆分成多個子隊列,每個隊列具有相同的啟發(fā)量數(shù)值;
iv.將下拍空閑關聯(lián)單元啟發(fā)量作為當前啟發(fā)量,取步驟iii得到的第一個子隊列中第一個子隊列,并將第一個子隊列先按當前啟發(fā)量從大到小進行排序,更新得到新的有序隊列,然后將更新得到的新的有序隊列再拆分成多個子隊列,每個隊列具有相同的啟發(fā)量數(shù)值;
V.將關聯(lián)功能單元啟發(fā)量作為當前啟發(fā)量,取步驟iv得到的第一個子隊列中第一個子隊列,并將第一個子隊列先按當前啟發(fā)量從大到小進行排序,更新得到新的有序隊列,然后將更新得到的新的有序隊列再拆分成多個子隊列,每個隊列具有相同的啟發(fā)量數(shù)值;
Vi將另類功能單元依賴指令啟發(fā)量作為當前啟發(fā)量,取步驟V得到的第一個子隊列中第一個子隊列,并將第一個子隊列先按當前啟發(fā)量從大到小進行排序,更新得到新的有序隊列,然后將更新得到的新的有序隊列再拆分成多個子隊列,每個隊列具有相同的啟發(fā)量數(shù)值;
Vi1.將依賴指令啟發(fā)量作為當前的排序啟發(fā)量,取步驟Vi得到的第一個子隊列中第一個子隊列,并將第一個子隊列先按當前啟發(fā)量從大到小進行排序,更新得到新的有序隊列,然后將更新得到的新的有序隊列再拆分成多個子隊列,每個隊列具有相同的啟發(fā)量數(shù)值;Vii1.將指令本身執(zhí)行特性啟發(fā)量作為啟發(fā)量,取步驟Vii得到的第一個子隊列中第一個子隊列,并將第一個子隊列先按當前啟發(fā)量按從大到小或從小到大進行排序,其中如果指令的關聯(lián)單元數(shù)非O,則按當前啟發(fā)量的值從小到大將隊列中的各指令排序;否則按當前啟發(fā)量的值從大到小將隊列中的各指令排序;更新得到新的有序隊列,然后將更新得到的新的有序隊列再拆分成多個子隊列,每個隊列具有相同的啟發(fā)量數(shù)值,完成對指令序列的排序。
[0076]上述只是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制。雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明。因此,凡是未脫離本發(fā)明技術方案的內容,依據(jù)本發(fā)明技術實質對以上實施例所做的任何簡單修改、等同變化及修飾,均應落在本發(fā)明技術方案保護的范圍內。
【主權項】
1.一種面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,步驟包括: 1)獲取各功能單元的候選指令集中所有可發(fā)射指令,所述可發(fā)射指令為所有數(shù)據(jù)依賴指令均已執(zhí)行完的指令; 2)分別計算各功能單元中每條可發(fā)射指令對應的多個啟發(fā)量,所述啟發(fā)量包括指令與依賴指令之間的依賴關系量、指令與處理單元之間的關系量以及指令與功能單元之間的關系量; 3)對各功能單元中的可發(fā)射指令執(zhí)行多次排序,每次排序時按照各所述啟發(fā)量的優(yōu)先級順序選擇其中一個啟發(fā)量作為排序比較量,得到排序后的可發(fā)射指令序列作為指令選擇對象。
2.根據(jù)權利要求1所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟3)中每個功能單元中的可發(fā)射指令執(zhí)行多次排序的具體實施步驟為: 3.1)取目標功能單元中所有可發(fā)射指令作為當前排序序列,并選擇優(yōu)先級最高的啟發(fā)量作為當前啟發(fā)量,轉入執(zhí)行步驟3.2); 3.2)將可發(fā)射指令根據(jù)當前啟發(fā)量的值進行排序,對排序后的指令按照啟發(fā)量的值分為多個指令子序列,得到排序后的多個指令子序列; 3.3)取所述步驟3.2)得到的排序后的多個指令子序列中最優(yōu)啟發(fā)量對應的最優(yōu)指令子序列作為當前排序序列,并選擇優(yōu)先級為下一級的啟發(fā)量作為當前啟發(fā)量,返回執(zhí)行步驟3.2),直至完成根據(jù)所有啟發(fā)量進行的排序。
3.根據(jù)權利要求1所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟2)中指令與處理單元之間的關系量具體包括:目標指令中與目標指令對應不同處理單元的數(shù)據(jù)依賴指令數(shù)所對應的第一處理單元關系量,以及目標指令中是由標量處理單元或向量處理單元的通道寄存器引起數(shù)據(jù)依賴的數(shù)據(jù)依賴指令數(shù)所對應的第二處理單元關系量;所述步驟2)中啟發(fā)量包括對應所述第一處理單元關系量的另類處理單元依賴指令啟發(fā)量、對應所述第二處理單元關系量的通道寄存器依賴指令啟發(fā)量。
4.根據(jù)權利要求3所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟2)中指令與功能單元之間的關系量具體包括:目標指令的數(shù)據(jù)依賴指令對應的所有功能單元數(shù)所對應的第一功能單元關系量,以及目標指令的數(shù)據(jù)依賴指令對應的所有功能單元中下拍空閑的功能單元數(shù)所對應的第二功能單元關系量,以及目標指令中與目標指令對應不同功能單元的數(shù)據(jù)依賴指令數(shù)所對應的第三功能單元關系量;所述步驟I)中啟發(fā)量還包括對應所述第一功能單元關系量的關聯(lián)功能單元啟發(fā)量、對應所述第二功能單元關系量的下拍空閑關聯(lián)功能單元啟發(fā)量、以及對應所述第三功能單元關系量的另類功能單元依賴指令啟發(fā)量。
5.根據(jù)權利要求4所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟2)中指令與依賴指令之間的依賴關系量具體是指目標指令的所有數(shù)據(jù)依賴指令數(shù);所述步驟2)中啟發(fā)量還包括對應所述數(shù)據(jù)依賴指令數(shù)的依賴指令啟發(fā)量。
6.根據(jù)權利要求5所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟2)中啟發(fā)量還包括指令本身執(zhí)行特性啟發(fā)量,所述指令本身執(zhí)行特性啟發(fā)量為執(zhí)行目標指令所需的節(jié)拍數(shù)。
7.根據(jù)權利要求6所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟3)中各啟發(fā)量的優(yōu)先級順序從高到低依次為:另類處理單元依賴指令啟發(fā)量、通道寄存器依賴指令啟發(fā)量、下拍空閑關聯(lián)功能單元啟發(fā)量、關聯(lián)功能單元啟發(fā)量、另類功能單元依賴指令啟發(fā)量、依賴指令啟發(fā)量以及指令執(zhí)行節(jié)拍數(shù)。
8.根據(jù)權利要求1?7中任意一項所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟I)中還包括獲取資源狀態(tài)表步驟,具體實施步驟為:獲取目標基本塊中當前節(jié)拍以及當前節(jié)拍前若干個節(jié)拍中各個功能單元狀態(tài)的資源狀態(tài)表,所述資源狀態(tài)表的每個結點記錄了對應的功能單元在目標時刻執(zhí)行的目標指令以及完成所述目標指令還需要的節(jié)拍數(shù)。
9.根據(jù)權利要求8所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟I)中每個功能單元獲取可發(fā)射指令的具體實施步驟為:為當前功能單元設置一個存儲可發(fā)射指令的可發(fā)射指令集合并初始化為空;遍歷所述資源狀態(tài)表中當前功能單元的所有一級就緒指令,如果一條目標指令的所有數(shù)據(jù)依賴指令已經(jīng)執(zhí)行完畢,則將所述目標指令添加到可發(fā)射指令集合中,并將可發(fā)射指令數(shù)增加I。
10.根據(jù)權利要求9所述的面向VLIW體系結構的多元啟發(fā)式指令選擇方法,其特征在于,所述步驟I)還包括為確定所述指令與功能單元之間的關系量獲取每個功能單元的準就緒指令的步驟,具體實施步驟為:為當前功能單元設置一個存儲準就緒指令的準就緒指令集合,以及存儲準就緒指令的依賴指令的集合并初始化為空;遍歷所述資源狀態(tài)表中當前功能單元的二級指令,若一條目標指令的所有依賴指令全部滿足只要一拍完成的可發(fā)射指令或為在下一拍到來前執(zhí)行完畢,則將所述目標指令添加到功能單元相應的準就緒指令集合中,將所述目標指令的所有依賴指令則添加到功能單元相應的準就緒指令的依賴指令集合中。
【專利摘要】本發(fā)明公開一種面向VLIW體系結構的多元啟發(fā)式指令選擇方法,步驟包括:1)獲取各功能單元的候選指令集中所有可發(fā)射指令,可發(fā)射指令為所有其數(shù)據(jù)依賴指令均已執(zhí)行完的指令;2)分別計算各功能單元中每條可發(fā)射指令對應的多個啟發(fā)量,啟發(fā)量包括指令與依賴指令之間的依賴關系量、指令與處理單元之間的關系量以及指令與功能單元之間的關系量;3)對各功能單元中的可發(fā)射指令執(zhí)行多次排序,每次排序時按照優(yōu)先級順序選擇一個啟發(fā)量作為排序比較量,得到排序后的可發(fā)射指令序列作為指令選擇對象。本發(fā)明針對VLIW體系結構的特性,充分考慮了指令與處理單元之間的硬件特性以及數(shù)據(jù)與功能單元的關聯(lián)性,具有指令選擇合理、并行度高的優(yōu)點。
【IPC分類】G06F9-38
【公開號】CN104699466
【申請?zhí)枴緾N201510135366
【發(fā)明人】陳書明, 胡勇華, 孫海燕, 王霽, 扈嘯
【申請人】中國人民解放軍國防科學技術大學
【公開日】2015年6月10日
【申請日】2015年3月26日