本發(fā)明專利技術(shù)提供了一種并行指令集的實(shí)現(xiàn)方法,找出需要并行執(zhí)行的單操作指令相同的相關(guān)指令信息;將需要并行執(zhí)行的單操作指令的操作類型進(jìn)行統(tǒng)一編碼后放置于所要產(chǎn)生的并行指令中的并行操作類型域;將需要并行執(zhí)行的單操作指令的源寄存器地址位號、目的寄存器地址位號、偏移量和偏移方向分別放置于所要產(chǎn)生的并行指令的并行指令操作數(shù)域;將并行操作類型域與并行指令操作數(shù)域合并產(chǎn)生的一條新的指令,即為單發(fā)射多指令的并行指令集。本發(fā)明專利技術(shù)提高了專用微處理器的執(zhí)行效率和微處理器內(nèi)部模塊的利用率,有著廣泛的應(yīng)用前景。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)屬于計(jì)算機(jī)
,涉及到微處理器指令集中的一種并行指令實(shí)現(xiàn)方法。
技術(shù)介紹
高性能處理器通常需要具有一個(gè)可以滿足以下要求的指令集緊湊代碼(以便存儲(chǔ)處理器程序所需的存儲(chǔ)器數(shù)量足夠小),以及豐富的操作和操作數(shù)。實(shí)際上,一個(gè)程序內(nèi)有90%或更多的指令很少被執(zhí)行以至其只占用10%或者更少的執(zhí)行時(shí)間,剩余的10%的指令自然占用90%的執(zhí)行時(shí)間,而且經(jīng)常出現(xiàn)這樣的情況,即一個(gè)程序中很少執(zhí)行的部分不能夠有效使用處理器去同時(shí)提交兩個(gè)或者更多指令,如果使用VLIW指令集對這樣的程序部分進(jìn)行編碼,由于一個(gè)指令的結(jié)果被下一個(gè)指令用到,當(dāng)連續(xù)指令不能出現(xiàn)在相同的 VLIff包中時(shí),大部分指令將被編譯器插入程序中以填充VLIW包的“無操作”(NOP)指令,因而對于不能有效利用并行提交指令的能力或這種能力的性能提高未產(chǎn)生較大的影響的程序部分,期望對程序進(jìn)行編碼以實(shí)現(xiàn)最大的代碼密度。然而由于緊湊代碼導(dǎo)致對各個(gè)最經(jīng)常的操作進(jìn)行最小編碼(從指令集中消除不經(jīng)常使用的操作)并且豐富的操作和操作數(shù)需要正交32位精簡指令集,這樣的多發(fā)射指令集在TMS320C3000系列DSP芯片和TMS320C6000系列DSP芯片中得以應(yīng)用,但是這兩個(gè)要求往往彼此沖突并且難以在單獨(dú)的統(tǒng)一指令集中實(shí)現(xiàn),無法提高處理器的處理效率。
技術(shù)實(shí)現(xiàn)思路
為了克服現(xiàn)有技術(shù)的不足,本專利技術(shù)提供一種單發(fā)射并行操作的指令集,可實(shí)現(xiàn)乘法,加法和裝載指令的并行執(zhí)行,滿足高性能處理器對指令集的要求,即緊湊代碼和多操作。本專利技術(shù)解決其技術(shù)問題所采用的技術(shù)方案包括以下步驟步驟一,列出需要并行執(zhí)行的單操作指令,找出這些指令的源寄存器地址位號、目的寄存器地址位號、偏移量、偏移方向和操作類型相同的相關(guān)指令信息;步驟二,將需要并行執(zhí)行的單操作指令的操作類型進(jìn)行統(tǒng)一編碼后放置于所要產(chǎn)生的并行指令中的任一位段,該位段稱為并行操作類型域,所述的編碼確保需要并行執(zhí)行的單操作指令的操作類型信息沒有重合;步驟三,將需要并行執(zhí)行的單操作指令的源寄存器地址位號、目的寄存器地址位號、偏移量和偏移方向分別放置于所要產(chǎn)生的并行指令的其他位段處,該位段稱為并行指令操作數(shù)域,確保需要并行執(zhí)行的單操作指令的源寄存器地址位號、目的寄存器地址位號、偏移量、偏移方向沒有重合;步驟四,將并行操作類型域與并行指令操作數(shù)域合并產(chǎn)生的一條新的指令,即為單發(fā)射多指令的并行指令集。本專利技術(shù)的有益效果是通過對指令結(jié)構(gòu)有針對性的并行性設(shè)計(jì),提高了專用微處理器的執(zhí)行效率和微處理器內(nèi)部模塊的利用率。本專利技術(shù)提供了一種針對不同結(jié)構(gòu)的微處理器及微處理器中的譯碼單元的指令集中并行指令字段劃分的方法,有著廣泛的應(yīng)用前景。附圖說明圖I為本專利技術(shù)的方法流程圖;圖2為專用算法處理器結(jié)構(gòu)圖;圖3寄存器傳輸并行指令結(jié)構(gòu)圖;圖4存儲(chǔ)器訪問并行指令結(jié)構(gòu)圖;圖5乘加運(yùn)算并行指令結(jié)構(gòu)圖。具體實(shí)施方式 本專利技術(shù)包括以下步驟步驟一,列出需要并行執(zhí)行的單操作指令,分別找出這些指令的源寄存器地址位號、目的寄存器地址位號、偏移量、偏移方向、操作類型等功能相同或者相近的相關(guān)指令信肩、O步驟二,將需要并行執(zhí)行的單操作指令的操作類型信息進(jìn)行統(tǒng)一編碼后放置于所要產(chǎn)生的并行指令中的某一位段處,但該編碼方法所生成的編碼不能使需要并行執(zhí)行的單操作指令的操作類型信息有部分重合或者完全重合的情況,不需要并行執(zhí)行的單操作指令的操作類型信息在該位段可以有不重合或者部分重合或者完全重合的情況,并通過不同編碼使其區(qū)分。約定該位段稱為并行操作類型域。步驟三,將需要并行執(zhí)行的兩條或者多條單操作指令的源寄存器地址位號、目的寄存器地址位號、偏移量、偏移方向等相關(guān)信息分別放置于所要產(chǎn)生的并行指令的其他位段處,但該放置方法不能使需要并行執(zhí)行的單操作指令的源寄存器地址位號、目的寄存器地址位號、偏移量、偏移方向等相關(guān)對應(yīng)信息有部分重合或者完全重合的情況,不需要并行執(zhí)行的單操作指令的操作類型信息在該位段可以有不重合或者部分重合或者完全重合的情況,并通過不同編碼區(qū)分。約定該位段稱為并行指令操作數(shù)域。步驟四,將并行操作類型域與并行指令操作數(shù)域以某種方式合并而產(chǎn)生的一條新的指令即為一種單發(fā)射多指令的并行指令集的專利技術(shù)。該單發(fā)射多指令的一類并行指令包含并行操作類型域和并行指令操作數(shù)域。并行操作類型域可以包含一條、兩條或者多條需要并行執(zhí)行的指令。并行指令操作數(shù)域可以包含并行指令所需的源操作數(shù)寄存器和目的操作數(shù)寄存器等相關(guān)信息。下面結(jié)合附圖和實(shí)施例對本專利技術(shù)進(jìn)一步說明。一條單發(fā)射并行指令中的包含三類可并行執(zhí)行的指令,即乘法指令,加減法指令和裝載指令。其中乘法指令分為定點(diǎn)小數(shù)寄存器乘和定點(diǎn)整數(shù)寄存器乘。裝載指令分為寄存器讀寫和存儲(chǔ)器存取。這條并行指令的并行操作類型域包括操作類型字段、乘加字段,并行指令操作數(shù)域包括裝載字段和無關(guān)字段。這條并行指令從程序存儲(chǔ)器取出到程序的運(yùn)行,需要經(jīng)過如下四個(gè)步驟步驟一取指。指將并行指令從程序存儲(chǔ)器中取出。步驟二 譯碼。指將并行指令劃分為三個(gè)域,對每個(gè)域從高位到低位進(jìn)行譯碼,并將譯碼的結(jié)果輸出。步驟三執(zhí)行。指根據(jù)并行指令譯碼的結(jié)果,啟動(dòng)相應(yīng)的加法器,乘法器或者數(shù)據(jù)傳輸進(jìn)行相應(yīng)的操作。步驟四寫回。將并行指令執(zhí)行的結(jié)果寫回寄存器或者數(shù)據(jù)存儲(chǔ)器。具體實(shí)施例操作類型字段為32位并行指令的高4位,即31位到28位,該域包括指示該并行指令是否執(zhí)行加減法操作(第31位),乘法操作(第30位)或者裝載操作(第29、28位)。當(dāng)?shù)?1位為‘I’時(shí),表示該并行指令中包含加減法操作;當(dāng)?shù)?0位為‘I’,且第29到第14位全為‘0’,第13位為‘I’時(shí),表示該并行指令中包含定點(diǎn)整數(shù)寄存器乘法操作,當(dāng)?shù)?0位為‘I’時(shí),表示該并行指令中包含定點(diǎn)小數(shù)寄存器乘法操作;當(dāng)?shù)?9位、第28位為“01”時(shí),表示該并行指令中包含寄存器讀寫操作,為“00”時(shí),表示該并行指令不執(zhí)行寄存器賦值和 存儲(chǔ)器操作,為“10”時(shí),表示該并行指令中包含存儲(chǔ)器存取操作。裝載字段或者無關(guān)字段為32位并行指令的第27位到13位,當(dāng)為裝載字段,且第29,28位為“01”時(shí),表示該并行指令中包含寄存器讀寫操作,當(dāng)?shù)?7位為‘0’時(shí),表示啟動(dòng)無條件寄存器賦值。此時(shí),當(dāng)?shù)?5,24位為“00”時(shí),表示為無條件通用寄存器間賦值,第23,22,21位為目的寄存器號,第17,16,15位為源寄存器號,其他位保留;當(dāng)?shù)?5,24位為“OI”時(shí),表示為無條件地址/索引/循環(huán)/其他寄存器向通用寄存器賦值,第23,22,21位為目的寄存器號,第19,18位為源類型,第17,16,15位為源寄存器號,其他位保留;當(dāng)?shù)?5,24位為“ 10”時(shí),表示為無條件通用寄存器向地址/索引/循環(huán)/其他寄存器賦值,第23,22,21位為目的寄存器號,第19,18位為目的類型,第17,16,15位為源寄存器號,其他位保留;當(dāng)?shù)?7,26,25,24位為“1000”時(shí),表示啟動(dòng)條件通用寄存器賦值,第23,22,21位表示目的寄存器號,第20,19,18位表示條件位,第17,16,15位表示源寄存器號,其他位保留。當(dāng)?shù)?7位到13位為裝載字段,且第29,28位為“ 10”時(shí),表示該并行指令中包含存儲(chǔ)器存取操作。當(dāng)?shù)?1位為‘0’時(shí),表示存儲(chǔ)器加載至寄存器,第27,26,25為目的寄存器號,第24,23,22本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種并行指令集的實(shí)現(xiàn)方法,其特征在于包括下述步驟:步驟一,列出需要并行執(zhí)行的單操作指令,找出這些指令的源寄存器地址位號、目的寄存器地址位號、偏移量、偏移方向和操作類型相同的相關(guān)指令信息;步驟二,將需要并行執(zhí)行的單操作指令的操作類型進(jìn)行統(tǒng)一編碼后放置于所要產(chǎn)生的并行指令中的任一位段,該位段稱為并行操作類型域,所述的編碼確保需要并行執(zhí)行的單操作指令的操作類型信息沒有重合;步驟三,將需要并行執(zhí)行的單操作指令的源寄存器地址位號、目的寄存器地址位號、偏移量和偏移方向分別放置于所要產(chǎn)生的并行指令的其他位段處,該位段稱為并行指令操作數(shù)域,確保需要并行執(zhí)行的單操作指令的源寄存器地址位號、目的寄存器地址位號、偏移量、偏移方向沒有重合;步驟四,將并行操作類型域與并行指令操作數(shù)域合并產(chǎn)生的一條新的指令,即為單發(fā)射多指令的并行指令集。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:楊靚,閆鑫,陳上,曹輝,
申請(專利權(quán))人:中國航天科技集團(tuán)公司第九研究院第七七一研究所,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。