欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向vliw體系結(jié)構(gòu)的多元啟發(fā)式指令選擇方法_3

文檔序號(hào):8380729閱讀:來(lái)源:國(guó)知局
元啟發(fā)量:執(zhí)行依賴指令的那些功能單元中,統(tǒng)計(jì)除被依賴指令所在的功能單元之外的其他功能單元的數(shù)量,且其中多條依賴指令屬于同一個(gè)功能單元時(shí),對(duì)此功能單元只計(jì)一次,得到第二功能單元關(guān)系量,即關(guān)聯(lián)功能單元數(shù),將關(guān)聯(lián)功能單元數(shù)作為關(guān)聯(lián)功能單元啟發(fā)量。
[0040]⑤另類功能單元依賴指令啟發(fā)量:依賴指令中,統(tǒng)計(jì)在被依賴指令所在的功能單元之外的其他功能單元的隊(duì)列中的指令的總數(shù),得到第三功能單元關(guān)系量,即另類功能單元依賴指令數(shù),將另類功能單元依賴指令數(shù)作為另類功能單元依賴指令啟發(fā)量。
[0041]⑥依賴指令啟發(fā)量:統(tǒng)計(jì)所有依賴指令的總數(shù),得到指令與依賴指令之間的依賴關(guān)系量,即依賴指令數(shù),將依賴指令數(shù)作為依賴指令啟發(fā)量。
[0042]⑦指令本身執(zhí)行特性啟發(fā)量:統(tǒng)計(jì)指令本身所需的執(zhí)行時(shí)間或節(jié)拍數(shù),得到指令執(zhí)行節(jié)拍數(shù),將指令執(zhí)行節(jié)拍數(shù)作為指令本身執(zhí)行特性啟發(fā)量。
[0043]通過(guò)設(shè)置分別對(duì)應(yīng)處理單元、功能單元以及指令本身特性的多元啟發(fā)量,充分考慮了流向量VLIW體系結(jié)構(gòu)同時(shí)包含標(biāo)量處理單元和向量處理單元的硬件特性、指令間數(shù)據(jù)依賴關(guān)系所隱含的功能單元之間的關(guān)聯(lián)性,為后續(xù)指令排序提供有效的重排依據(jù)。
[0044]本實(shí)施例中,步驟I)中還包括獲取資源狀態(tài)表步驟,具體實(shí)施步驟為:獲取目標(biāo)基本塊中當(dāng)前節(jié)拍以及當(dāng)前節(jié)拍前多個(gè)節(jié)拍中各個(gè)功能單元狀態(tài)的資源狀態(tài)表,資源狀態(tài)表的每個(gè)結(jié)點(diǎn)記錄了對(duì)應(yīng)的功能單元在目標(biāo)時(shí)刻執(zhí)行的目標(biāo)指令以及完成目標(biāo)指令還需要的節(jié)拍數(shù)。資源狀態(tài)表中描述了每個(gè)節(jié)拍每個(gè)單元在執(zhí)行什么指令,以及被執(zhí)行的指令還需要多少個(gè)節(jié)拍才能被執(zhí)行完。根據(jù)決定一級(jí)指令中作為可發(fā)射指令的條件和二級(jí)指令中作為準(zhǔn)就緒指令的條件,可以知道通過(guò)查詢資源狀態(tài)表就能得到相關(guān)的信息。如圖3所示,資源狀態(tài)表對(duì)應(yīng)A個(gè)功能單元在當(dāng)前拍至前N-1拍的執(zhí)行狀態(tài),N的值即為指令集中執(zhí)行節(jié)拍數(shù)最多的指令所執(zhí)行的節(jié)拍數(shù)。
[0045]如圖2所示,本實(shí)施例的指令選擇方法要考慮的范圍可分為一級(jí)指令一級(jí)二級(jí)指令。一級(jí)指令是其所數(shù)據(jù)依賴的指令全部被發(fā)射的那些指令;二級(jí)指令是指其所數(shù)據(jù)依賴的指令是已發(fā)射的指令和一級(jí)指令,并且其所數(shù)據(jù)依賴的指令中至少有一條屬于一級(jí)指令的那些指令。從一級(jí)指令中獲取可發(fā)射指令得到可發(fā)射指令集合,從二級(jí)指令中獲取準(zhǔn)就緒指令得到準(zhǔn)就緒指令集合。
[0046]本實(shí)施例中,在指令調(diào)度中在每一拍對(duì)候選指令排序前,獲取各功能單元的候選指令集中所有可發(fā)射指令,步驟I)中每個(gè)功能單元獲取可發(fā)射指令的具體實(shí)施步驟為:為當(dāng)前功能單元設(shè)置一個(gè)存儲(chǔ)可發(fā)射指令的可發(fā)射指令集合并初始化為空;遍歷資源狀態(tài)表中當(dāng)前功能單元的所有一級(jí)就緒指令,如果一條目標(biāo)指令的所有數(shù)據(jù)依賴指令已經(jīng)執(zhí)行完畢,則將目標(biāo)指令添加到可發(fā)射指令集合中,并將可發(fā)射指令數(shù)增加I。
[0047]本實(shí)施例中,步驟I)中還包括為確定指令與功能單元之間的關(guān)系量獲取每個(gè)功能單元準(zhǔn)就緒指令獲取的具體實(shí)施步驟為:為當(dāng)前功能單元設(shè)置一個(gè)存儲(chǔ)準(zhǔn)就緒指令的準(zhǔn)就緒指令集合,以及準(zhǔn)就緒指令的依賴指令的集合并初始化為空;遍歷資源狀態(tài)表中當(dāng)前功能單元的二級(jí)指令,若一條目標(biāo)指令的所有依賴指令全部滿足只要一拍完成的可發(fā)射指令或?yàn)樵谙乱慌牡絹?lái)前執(zhí)行完畢,則將目標(biāo)指令添加到功能單元相應(yīng)的準(zhǔn)就緒指令集合中,目標(biāo)指令的所有依賴指令則添加到功能單元相應(yīng)的準(zhǔn)就緒指令的依賴指令集合中。通過(guò)可發(fā)射指令數(shù)量和準(zhǔn)就緒指令數(shù)量判斷各功能單元在下一拍是否空閑,從而確定下一拍空閑的關(guān)聯(lián)功能單元啟發(fā)量。
[0048]本實(shí)施例在每一拍的候選指令排序之前先計(jì)算可發(fā)射就緒指令的上述各種啟發(fā)量的數(shù)值,再對(duì)各個(gè)功能單元的可發(fā)射指令隊(duì)列,按各啟發(fā)式元素的優(yōu)先級(jí)從高到低反復(fù)對(duì)該隊(duì)列進(jìn)行排序和分組,得到重排后的新序列。排序時(shí)首先將可發(fā)射指令隊(duì)列按優(yōu)先級(jí)最高的啟發(fā)式元素相應(yīng)的啟發(fā)量的數(shù)值從高到低進(jìn)行排序,排序的結(jié)果再按啟發(fā)量的取值數(shù)量分成若干子隊(duì)列,對(duì)子隊(duì)列按下一個(gè)低一級(jí)的優(yōu)先級(jí)啟發(fā)式元素相應(yīng)的啟發(fā)量的數(shù)值進(jìn)行排序,循環(huán)執(zhí)行直至所有的啟發(fā)式元素都已經(jīng)處理。
[0049]本實(shí)施例流向量VLIW處理器中,一種功能單元只有一個(gè)物理實(shí)例,即一個(gè)功能單元一次只能選擇一條指令;每次排序時(shí)只需要選擇排序結(jié)果中的最優(yōu)先組進(jìn)行下一次排序選擇,將其余組數(shù)據(jù)全部丟棄以避免不必要的計(jì)算,加快處理速度。
[0050]如圖4所示,步驟3)中每個(gè)功能單元可發(fā)射指令進(jìn)行排序的具體實(shí)施步驟為:
3.1)取目標(biāo)功能單元中所有可發(fā)射指令作為當(dāng)前排序序列,并選擇優(yōu)先級(jí)最高的啟發(fā)量作為當(dāng)前啟發(fā)量,轉(zhuǎn)入執(zhí)行步驟3.2);
3.2)將可發(fā)射指令根據(jù)當(dāng)前啟發(fā)量的從大到小進(jìn)行排序,對(duì)排序后的指令按照啟發(fā)量的值的增長(zhǎng)或減小順序依次分為多個(gè)指令子序列,得到排序后的多個(gè)指令子序列;
3.3)取步驟3.2)得到的排序后的多個(gè)指令子序列中最優(yōu)啟發(fā)量值對(duì)應(yīng)的最優(yōu)指令子序列作為當(dāng)前排序序列,并選擇優(yōu)先級(jí)為下一級(jí)的啟發(fā)量作為當(dāng)前啟發(fā)量,返回執(zhí)行步驟
3.2),直至完成根據(jù)所有啟發(fā)量進(jìn)行的排序。
[0051]參見(jiàn)圖4,本實(shí)施例一個(gè)功能單元的可發(fā)射指令序列為Il~Iso,當(dāng)對(duì)可發(fā)射指令序列進(jìn)行排序時(shí),首先復(fù)制一份指令序列Il~Iso,用以備份排序前的原始序列;按優(yōu)先級(jí)順序取一個(gè)啟發(fā)量作為當(dāng)前啟發(fā)量,將指令序列Il~Iso按各指令對(duì)應(yīng)的當(dāng)前啟發(fā)量按從小到大或從大到小的方向的順序進(jìn)行排序,得到排序后的指令I(lǐng) l~Is ;對(duì)排序后的指令I(lǐng)l~Is進(jìn)行分組,具有相同啟發(fā)量值的分于一組,取分組后的各組中對(duì)應(yīng)最優(yōu)啟發(fā)量值的第一組Il~Im作為新的待排組執(zhí)行下一次的排序、其余組指令序列丟棄,循環(huán)直至按所有的啟發(fā)量完成排序。
[0052]本實(shí)施例在各功能單元獲取可發(fā)射指令后,通過(guò)對(duì)某個(gè)時(shí)間點(diǎn)上的候選指令集合中的指令計(jì)算各啟發(fā)式元素帶來(lái)的收益,得到指令的各啟發(fā)量,并按按優(yōu)先級(jí)考慮各種啟發(fā)量的影響大小進(jìn)行分析,即對(duì)可發(fā)射指令根據(jù)啟發(fā)量執(zhí)行帶優(yōu)先級(jí)的排序,最終形成適合流向量VLIW處理器體系結(jié)構(gòu)的多個(gè)指令隊(duì)列以供調(diào)度,而且對(duì)于每一個(gè)節(jié)拍的執(zhí)行包的每一個(gè)指令槽都能得到一個(gè)按優(yōu)先順序排好的指令隊(duì)列。由于各啟發(fā)量既包含與處理單元之間的硬件特性,也包括與功能單元之間的隱含關(guān)聯(lián)性,因而經(jīng)過(guò)上述排序后能夠使得在調(diào)度一條指令時(shí)盡可能讓所有功能單元處于忙碌的狀態(tài),達(dá)到充分發(fā)揮體系結(jié)構(gòu)優(yōu)勢(shì)、提高基本塊內(nèi)指令級(jí)并行性的目的。
[0053]以下以面向?qū)ο笳Z(yǔ)言設(shè)計(jì)實(shí)現(xiàn)本發(fā)明為例對(duì)本發(fā)明進(jìn)行進(jìn)一步說(shuō)明。
[0054]在面向?qū)ο笳Z(yǔ)言程序中,數(shù)據(jù)和相關(guān)的功能模塊都封裝在類中,因此本實(shí)施例首先需要建立一個(gè)指令調(diào)度器類,而僅對(duì)一個(gè)基本塊進(jìn)行指令調(diào)度所需的全局?jǐn)?shù)據(jù)作為此類的數(shù)據(jù)成員。本實(shí)施例基本塊和基本塊中的指令的基本信息已保存在基本塊類對(duì)象和指令類對(duì)象之中,指令模板信息(其中包含了執(zhí)行相應(yīng)指令的候選功能單元是哪些)已保存在指令模板類的對(duì)象中,并且指令對(duì)象已經(jīng)確定了對(duì)應(yīng)的指令模板是哪個(gè);體系結(jié)構(gòu)的基本信息則已保存在體系結(jié)構(gòu)類對(duì)象中,上述信息都是通過(guò)指針或者全局變量名來(lái)訪問(wèn)。
[0055]本實(shí)施例面向?qū)ο笳Z(yǔ)言程序設(shè)計(jì)內(nèi)容具有依次包括與指令調(diào)度過(guò)程相關(guān)的數(shù)據(jù)結(jié)構(gòu)的構(gòu)造、頂層流程控制、以及面向VLIW體系結(jié)構(gòu)的多元啟發(fā)式指令選擇步驟部分,面向VLIW體系結(jié)構(gòu)的多元啟發(fā)式指令選擇步驟部分具體包括更新資源狀態(tài)表步驟、可發(fā)射指令獲取步驟、準(zhǔn)就緒指令獲取步驟、啟發(fā)量計(jì)算步驟以及指令排序等。
[0056](-)數(shù)據(jù)結(jié)構(gòu)構(gòu)造部分
本實(shí)施基于面向?qū)ο笳Z(yǔ)言程序設(shè)計(jì),除硬件結(jié)構(gòu)信息和指令集信息外,需要定義相關(guān)的數(shù)據(jù)結(jié)構(gòu),主要包括:
①資源狀態(tài)表
資源狀態(tài)表用于描述某個(gè)節(jié)拍及其之前的若干節(jié)拍中各個(gè)功能單元的一些狀態(tài)信息。它是一個(gè)一維數(shù)組,元素個(gè)數(shù)等于物理功能單元數(shù)量,每個(gè)數(shù)組元素是一個(gè)鏈表并且數(shù)組元素下標(biāo)與物理功能單元的編號(hào)對(duì)應(yīng)。鏈表中的節(jié)點(diǎn)數(shù)量都等于指令集中執(zhí)行延遲時(shí)間最大的指令的執(zhí)行節(jié)拍數(shù),鏈表的每個(gè)結(jié)點(diǎn)是一個(gè)資源狀態(tài)類的對(duì)象。一個(gè)資源狀態(tài)類對(duì)象中記錄了對(duì)應(yīng)的功能單元在某個(gè)時(shí)刻執(zhí)行的指令及完成此指令仍需要的節(jié)拍數(shù)。鏈表的尾結(jié)點(diǎn)對(duì)應(yīng)了當(dāng)前指令節(jié)拍,越靠近鏈表首的結(jié)點(diǎn)對(duì)應(yīng)著越早的指令節(jié)拍。
[0057]②各功能單元的就緒指令集合
就緒指令即為一級(jí)指令,各功能單元的就緒指令集合由兩類指令構(gòu)成:一是數(shù)據(jù)依賴關(guān)系都已經(jīng)解除、正在等待功能單元空閑的指令,二是數(shù)據(jù)依賴
當(dāng)前第3頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
嵩明县| 卢龙县| 德保县| 科技| 江川县| 略阳县| 左云县| 精河县| 石台县| 东兴市| 赞皇县| 德安县| 云南省| 桂东县| 临沂市| 荆州市| 揭阳市| 寿阳县| 拉萨市| 即墨市| 溧阳市| 威信县| 平原县| 新绛县| 翼城县| 右玉县| 西和县| 贞丰县| 曲沃县| 介休市| 潮州市| 溧阳市| 华亭县| 天峨县| 宿迁市| 邹平县| 雷山县| 平和县| 光泽县| 临城县| 泗阳县|