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

支持向量條件訪存的方法和裝置的制作方法

文檔序號:6365621閱讀:210來源:國知局
專利名稱:支持向量條件訪存的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明主要涉及到計算機體系結(jié)構(gòu)的設(shè)計領(lǐng)域,特指一種面向無線通信等數(shù)據(jù)密集型應(yīng)用的向量處理器中向量數(shù)據(jù)的訪存控制方法和裝置,能更好地支持按單指令流多數(shù)據(jù)流(Single Instruction Multiple Data, SIMD)方式操作的向量處理單兀(VectorProcessing Elements, VPEs)對向量存儲器(Vector Memory, VM)的多種條件訪問操作。
背景技術(shù)
隨著計算機技術(shù)和集成電路工藝的發(fā)展,微處理器的主頻越來越高,中央處理單元(CPU)計算能力的增長遠(yuǎn)遠(yuǎn)超過了存儲器性能的增加,CPU與存儲器之間性能差異的“存儲墻”問題已成為制約微處理器整體性能進(jìn)一步提高的瓶頸。而在面向無線通信、圖像處理等流媒體應(yīng)用的向量處理器中,存儲墻的問題尤為嚴(yán)重。無線通信、圖形圖像處理等流媒體應(yīng)用具有典型的高數(shù)據(jù)密集性特點,其數(shù)據(jù)缺乏局部性和可重用性,同時數(shù)據(jù)處理又具有較強的實時性需求,使得片內(nèi)向量存儲器由于其訪問延時的確定性在向量處理器中得到了廣泛應(yīng)用。向量處理器通常采用超長指令字(VLIW)結(jié)構(gòu),片內(nèi)集成多個并行的向量處理單元(VPE),以SMD方式進(jìn)行運算操作,以開發(fā)更多的指令級和數(shù)據(jù)級并行性。如何為向量處理器中的向量處理單元提供更為靈活和高效的向量數(shù)據(jù)訪存方式成為向量存儲系統(tǒng)設(shè)計中面臨的重要問題。為了滿足VPE的高帶寬訪存需求,向量存儲器VM—般采用與VPE —一對應(yīng)的多路向量存儲體(Vector BANK, VB)低位地址交叉編址組織結(jié)構(gòu),支持多個VPE的并行訪存請求。目前一般的向量訪存方式存在以下問題(1)為了實現(xiàn)訪存的方便快捷,只支持向量處理單元與向量存儲器中的向量存儲體一一對應(yīng)的訪存方式,即各個VPE只能一起訪問其對應(yīng)VB內(nèi)的數(shù)據(jù),不能按條件訪問其他VB中的數(shù)據(jù);(2) VPE不能對向量處理器進(jìn)行標(biāo)量數(shù)據(jù)訪問,即不直接支持多個VPE對向量處理器中某一標(biāo)量數(shù)據(jù)的讀寫訪問操作,此類數(shù)據(jù)訪問只能通過VPE之間的混洗、打包、解包等額外操作或在存儲器中保存同一數(shù)據(jù)的多份拷貝來實現(xiàn),這將增加代碼密度或降低向量存儲器存儲空間的利用率,降低了訪存裝置的效率和靈活性;(3) —般的向量存儲器實現(xiàn)字節(jié)或半字連續(xù)的訪問往往需要用字節(jié)(8位)位寬的存儲體來組織存儲器,造成存儲體過多,存儲體的組織和編址復(fù)雜,從而訪存狀態(tài)機較為復(fù)雜。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題就在于針對現(xiàn)有技術(shù)存在的技術(shù)問題,提供一種可支持VPE對向量存儲器進(jìn)行各種條件訪問的訪存方法和裝置,采用壓縮字節(jié)和半字粒度訪問請求和數(shù)據(jù)的方法,大幅提高了向量存儲器訪存操作的靈活性,有效提高向量存儲器的利 用率和訪存效率,加速了相關(guān)算法。本發(fā)明采用以下技術(shù)方案
一種支持向量條件訪存的方法,其步驟為(I)在向量條件訪問單元VCAU中設(shè)置一個可編程的N位的VPE條件訪問寄存器VCon_AcessBit [N-1:0]和N位的VB條件寫回寄存器VCon_CopyBit [N_1:0];對應(yīng)N個VPE的訪存條件執(zhí)行位,為I時表示執(zhí)行,為O表示不執(zhí)行;其中,VCon_AcessBit[N-l:0]控制對應(yīng)VB是否執(zhí)行訪存操作,VCon_CopyBit [N-1:0]只在標(biāo)量讀訪問時控制對應(yīng)VB是否執(zhí)行數(shù)據(jù)寫回操作;
(2 )指令譯碼單元接收指令派發(fā)部件發(fā)出的向量訪存指令進(jìn)行指令譯碼,譯出指令中的訪存信息;若為寫指令還要向VPU的向量寄存器發(fā)出讀使能,讀出向量寄存器的數(shù)據(jù),并將以上訪存信息發(fā)給執(zhí)行站;
(3)執(zhí)行站中地址計算單元根據(jù)所述訪存信息產(chǎn)生訪問N個VB的地址和初步的訪問請求vr ;
(4)VCAU將執(zhí)行站接收到的向量條件訪問寄存器VCoruAcessBit、流水線中的訪問請求vr進(jìn)行整理,若向量條件訪問寄存器VCon_AceSsBit[i]=0,則將其對應(yīng)的VPEi請求vr[i]置無效,如果向量條件訪問寄存器VCon_AceSsBit[i]=l,則VPEi對應(yīng)的訪問請求 vr[i]有效;將訪問數(shù)據(jù)進(jìn)行整理,形成訪問N個VB的N套訪存請求和數(shù)據(jù)的訪存信息,然后將加工后的訪問請求Reqi、數(shù)據(jù)和步驟(3)中計算出的VB地址分別加入到步驟(2)得到的訪存信息中,再訪問VM;
(5)將各VB訪存流水線的寫回信息打入向量條件寫回單元VCWBU進(jìn)行整理,若VB訪存流水線傳遞過來的向量寫回寄存器VCon_CopyBit [i] =0,則只需將VCoruAcessBit [i] =1時讀出的數(shù)據(jù)寫回VPU即可;若此時為標(biāo)量訪問且訪存流水線中的VCon_CopyBit[i]=l,則將VCon_AcessBit [i] =1時讀出的數(shù)據(jù)復(fù)制N份,然后將VCon_CopyBit [i] =1對應(yīng)的數(shù)據(jù)寫回 VPU0本發(fā)明進(jìn)一步提供一種支持向量條件訪存的裝置,它包括向量存儲器VM,由N個向量存儲體VBci VBim、訪存指令譯碼單元、地址計算單元、向量條件訪問單元VCAU和向量條件寫回單元VCWBU組成,每個向量存儲體VB擁有自己的訪存流水控制器;所述訪存指令譯碼單元用來接收指令派發(fā)部件發(fā)送的向量條件訪存指令并譯碼出指令中的訪存信息;所述地址計算單元負(fù)責(zé)產(chǎn)生訪問VM的地址和初步的請求vr [N-1:0];所述向量條件訪問單元VCAU負(fù)責(zé)將流水線中的條件訪問寄存器VCon_AcessBit [N-1:0]和訪問請求vr [N_l :0]進(jìn)行整理生成向量條件訪問請求和字節(jié)使能,同時對數(shù)據(jù)進(jìn)行整理,并傳遞給N個VB的訪存流水線;所述向量條件寫回單元VCWBU根據(jù)訪存流水線中的訪問請求、字節(jié)使能和寫回訪問寄存器生成寫回使能信號,同時對寫回數(shù)據(jù)進(jìn)行整理,并根據(jù)向量處理部件VPU的忙閑狀態(tài)選擇是否寫回對應(yīng)的VPEi ;所述向量存儲器VM通過向量條件訪問單元VCAU和向量條件寫回單元VCWBU實現(xiàn)N個向量處理單元VPE對向量存儲器VM中向量數(shù)據(jù)的條件讀寫訪問。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于
I.本發(fā)明中,VM用字位寬的存儲體組織結(jié)構(gòu)實現(xiàn)了連續(xù)字節(jié)、半字或字粒度的訪存請求,支持按字(W位)對齊方式的多種數(shù)據(jù)粒度的向量數(shù)據(jù)訪問。按字節(jié)和半字粒度訪問時利用壓縮數(shù)據(jù)、請求和增加字節(jié)使能的控制方法提高了存儲空間的利用率,不需要用字節(jié)(8位)位寬的存儲體來組織VM,避免了存儲體過多導(dǎo)致的組織和編址復(fù)雜的問題,從而簡化了向量存儲體的組織結(jié)構(gòu)及其訪存請求仲裁狀態(tài)機。
2.本發(fā)明支持向量存儲器條件訪問,增強了向量數(shù)據(jù)訪問的靈活性,通過合理調(diào)控N個VB相對應(yīng)的訪存請求,屏蔽掉不需訪問的VB訪存請求,從而降低了訪存功耗。3.本發(fā)明為向量數(shù)據(jù)訪問提供了標(biāo)量數(shù)據(jù)的向量條件訪問方式,節(jié)省了數(shù)據(jù)存儲空間,提高了存儲器空間的有效利用率和向量訪存的靈活性,可大幅減少應(yīng)用算法中常數(shù)加載次數(shù)和混洗次數(shù),降低了功耗,減少了指令密度,提高了訪存效率,加速了相關(guān)算法。
4.本發(fā)明向量條件訪問對圖像過濾、自動頻率控制(AFC, Auto FrequencyControl)、多輸入多輸出(ΜΙΜΟ, Mult iple Input Multiple Output)均衡等數(shù)據(jù)密集型算法的向量化處理提供了較大的靈活性,提高了此類算法在向量處理器上的執(zhí)行效率。使用者可通過編程配置向量條件訪問寄存器和向量條件寫回寄存器來控制向量條件訪存,根據(jù)算法需要將向量條件為真的值原樣輸出,為假的值維持不變,從而得到過濾的數(shù)據(jù)。綜上所述,本發(fā)明中的支持向量條件訪存的方法和裝置,以較小的硬件代價,支持了多種粒度向量數(shù)據(jù)的條件訪問,提高了訪存效率,増加了向量訪存操作的靈活性,適用于面向無線通信、視頻和多媒體應(yīng)用的采用SMD和向量技術(shù)的處理器。


圖I是本發(fā)明方法的流程示意圖。圖2是本發(fā)明裝置及其與其他部件的接ロ示意圖。圖3是VPU按字粒度訪問VM,當(dāng)向量條件訪問寄存器為VCon_AcessBit[i]=l和向量條件寫回寄存器VCon_CopyBit [i] =0或I對應(yīng)的向量條件訪問及條件寫回的數(shù)據(jù)流圖(0〈=i〈=N-l,以 ff=32 位,BE 位寬為 ff/8=4 為例)。圖4是VPU按字節(jié)粒度訪問VM,向量條件訪問寄存器VCon_AcessBit[i] [i+3]均為I和向量條件寫回寄存器VCon_CopyBit[i]=0時對應(yīng)的向量訪問數(shù)據(jù)流圖(0〈=i〈=N-l,以 ff=32 位,BE 位寬為 ff/8=4 為例)。圖5是VPU按半字粒度訪問VM,向量條件訪問寄存器VCon_AcessBit[i] [i+1]均為I和向量條件寫回寄存器VCon_CopyBit[i]=0時對應(yīng)的向量訪問數(shù)據(jù)流圖(0〈=i〈=N-l,以 ff=32 位,BE 位寬為 ff/8=4 為例)。圖6是向量條件訪問單元VCAU中訪問請求整理模塊的結(jié)構(gòu)示意圖,完成向量訪問請求的重整理(0〈=i〈=N-l,以W=32位,BE位寬為W/8=4為例)。圖I是向量條件與回單兀VCWBU中與回使能整通I旲塊的結(jié)構(gòu)不意圖,完成與回使能的重整理(0〈=i〈=N-l,以W=32位,BE位寬為W/8=4為例)。
具體實施例方式以下將結(jié)合說明書附圖和具體實施例對本發(fā)明做進(jìn)ー步詳細(xì)說明。在采用N路SMD技術(shù)的VM中,針對由N路W位寬的VB構(gòu)成的VM的向量數(shù)據(jù)訪問和標(biāo)量數(shù)據(jù)訪問,本發(fā)明提供ー種支持向量條件訪存的方法和裝置。如圖I所示,ー種支持向量條件訪存的方法,其步驟為
(I)在向量條件訪問單元VCAU中設(shè)置ー個可編程的N位的VPE條件訪問寄存器VCon_AcessBit [N-1:0]和N位的VB條件寫回寄存器VCon_CopyBit [N_1:0];對應(yīng)N個VPE的訪存條件執(zhí)行位,為I時表示執(zhí)行,為O表示不執(zhí)行;其中,VCon_AcessBit[N-l:0]控制對應(yīng)VB是否執(zhí)行訪存操作,VCon_CopyBit [N-1:0]只在標(biāo)量讀訪問時控制對應(yīng)VB是否執(zhí)行數(shù)據(jù)寫回操作;使用者可根據(jù)需要對VCon_AcessBit[N-l:0]和VCon_CopyBit [N_l: O]的任何一位進(jìn)行編程;
(2 )指令譯碼單元接收指令派發(fā)部件發(fā)出的向量訪存指令進(jìn)行指令譯碼,譯出指令中的訪存信息;若為寫指令還要向VPU的向量寄存器發(fā)出讀使能,讀出向量寄存器的數(shù)據(jù),并將以上訪存信息發(fā)給執(zhí)行站;該訪存信息包括訪問VM的訪問請求有效信號、向量訪存指令類型、符號擴展類型、基地址、偏移地址、源或目的寄存器編號和訪問粒度等;
(3)執(zhí)行站中地址計算單元根據(jù)訪存信息產(chǎn)生訪問N個VB的地址和初步的訪問請求
vr ;
(4)VCAU將執(zhí)行站接收到的向量條件訪問寄存器VCoruAcessBit、流水線中的訪問請 求vr按圖6方法進(jìn)行整理,若向量條件訪問寄存器VCoruAcessBit [i] =0,則將其對應(yīng)的VPEi請求vr[i]置無效,如果向量條件訪問寄存器VCon_AceSsBit[i]=l,則VPEi對應(yīng)的訪問請求vr [i]有效;將訪問數(shù)據(jù)按圖3、圖4和圖5方法進(jìn)行整理,形成訪問N個VB的N套訪存請求、數(shù)據(jù)等訪存信息,然后將加工后的訪問請求Reqp數(shù)據(jù)和步驟(3)中計算出的VB地址分別加入到步驟(2)得到的訪存信息中,再訪問VM ;
(5)將各VB訪存流水線的讀出數(shù)據(jù)、讀出請求Req、讀出字節(jié)使能BE、目的寄存器編號等寫回信息打入向量條件寫回単元VCWBU進(jìn)行整理(寫回使能按圖7進(jìn)行整理,數(shù)據(jù)按圖3、圖4和圖5進(jìn)行整理),若VB訪存流水線傳遞過來的向量寫回寄存器VCon_CopyBit[i]=0,則只需將VCon_AcessBit[i]=l時讀出的數(shù)據(jù)寫回對應(yīng)的VPEi即可(忙則寄存,不忙則寫回);若此時為標(biāo)量訪問且訪存流水線中的VCon_CopyBit[i]=l,則將VCon_AcessBit [i] =1時讀出的數(shù)據(jù)復(fù)制N份,然后將VCon_CopyBit[i]=l對應(yīng)的數(shù)據(jù)寫回對應(yīng)的VPEi (忙則寄存,不忙則寫回)。參見圖3所示,為具體實施例中,VPU按字粒度訪問向量存儲器的數(shù)據(jù)流圖(取W=32, BE位寬為W/8=4)。當(dāng)向量條件訪問寄存器VCon_AcessBit[i]=l (簡稱A[i],高有效),VPEi訪問VBi的訪存請求經(jīng)VCAU加工成真實的請求Reqi=Ri,四位的字節(jié)使能信號BEi= {Ri, Ri, Ri,民} ( Ri 高有效)和寫數(shù)據(jù) WrtDatai,此時 WrtDatai=PEDi, PEDi 為第 i 個 VPE的數(shù)據(jù),若為寫訪問,則有寫數(shù)據(jù)和寫字節(jié)屏蔽位,該屏蔽位為字節(jié)使能按位取反。向量條件寫回寄存器的第i位VCon_CopyBit[i]=0(簡稱C[i],高有效,只對標(biāo)量請求有效)時,本站流水線中字節(jié)使能BE和數(shù)據(jù)經(jīng)VCWBU加工成寫回信號(若為讀訪問則有寫回地址及數(shù)據(jù))WBi=Reqi和寫回數(shù)據(jù)WBDatai= RdDatai ( RdDatai為讀請求從VBi中讀出的數(shù)據(jù));若向量訪存指令類型為標(biāo)量讀且向量條件寫回寄存器C[i]=l,還要將向量條件寫回寄存器C
[N-1]為I的寫回使能WBi和數(shù)據(jù)WBDatai復(fù)制后再寫入對應(yīng)的VPE”參見圖4所示,為具體實施例中,VPU按字節(jié)粒度訪問向量存儲器的數(shù)據(jù)流圖(取W=32, BE位寬為W/8=4)。當(dāng)向量條件訪問寄存器A[i] [i+3]=l (高有效),VPEi^3訪問VBi的訪存請求民 1+3經(jīng)VCAU組合成真實的請求Reqi={Ri+3|Ri+2|Ri+1 Ri }(文中|表示或運算符)、四位的字節(jié)使能信號字節(jié)使能信號BEi= {Ri+3,Ri+2, Ri+1, RJ (高有效)和寫數(shù)據(jù)WrtDatai= {PEDi+3 [7:0], PEDi+2[7:0], PEDi+1 [7:0], PEDi [7:0]}(由于采用按字對齊訪問,字節(jié)數(shù)據(jù)壓縮組合時i的取值為i% (ff/8) =i%4=0, %表示求余運算符,相鄰W/8=4個字節(jié)請求或數(shù)據(jù)組合成訪問VBi的BE或數(shù)據(jù),PEDi [7:0]為第i個VPE的數(shù)據(jù)的[7:0]位,若為寫訪問則有寫數(shù)據(jù)和由字節(jié)使能按位取反得到的寫字節(jié)屏蔽位)。向量條件寫回寄存器C[i] [i+3]=0 (高有效)時,本站流水線中字節(jié)使能BE和數(shù)據(jù)經(jīng)VCWBU加工成寫回信號(若為讀訪問則有寫回地址及數(shù)據(jù))WBit3=Bi [3],WBit2=Bi [2],WBw=Bi [I], WBi = BiEO] (BJO]為 BEi 的第 O 位)和寫回數(shù)據(jù) WBDatai+3={ Typei [31],RdDatai
[31:24]},WBDatai+2= (Typei [23],RdDatai [23:16]},WBDatai+1= (Typei [15],RdDatai [15:8]}, WBDatai= { Typei [7],RdDatai [7:0]} ( Typei 為 RdDatai 的符號位擴展,RdDatai 為讀請求從VBi中讀出的數(shù)據(jù))。參見圖5所示,為具體實施例中,VPU按半字粒度訪問向量存儲器的數(shù)據(jù)流圖(取W=32,BE位寬為W/8=4)。當(dāng)向量條件訪問寄存器A[i] [i+l]=l (高有效),VPEi訪問VBi的訪存請求Ri經(jīng)VCAU組合成真實的請求Reqi= { Ri+11 Rj、四位的字節(jié)使能信號字節(jié)使能信號 BE[i] = {Ri+1,Ri+1, Ri, RJ (高有效)和寫數(shù)據(jù) WrtDatai= { PEDi+1 [15:0],PEDi[15:0]}(半字?jǐn)?shù)據(jù)壓縮組合時i的取值為i% (ff/8)=i%4=0,相鄰2個半字請求或數(shù)據(jù)組合成訪問VBi的BE或數(shù)據(jù),PEDi為第i個VPE的數(shù)據(jù),若為寫訪問,則有寫字節(jié)屏蔽位和數(shù)據(jù))。向量條件寫回寄存器C[i] [i+l]=0 (高有效)時,本站流水線中字節(jié)使能BE和數(shù)據(jù)經(jīng)VCWBU加工成寫回信號(若為讀訪問則有寫回使能及數(shù)據(jù))WBw=Bi [2],WBi = BiLO](Bi[O]為 BEi 的第 O 位)和寫回數(shù)據(jù) WBDataw= { Typei [31], RdDatai [31:16]}, WBDatai={ Typei [15], RdDatai [15:0]} ( Typei 為 RdDatai 的符號位擴展,RdDatai 為從 VBi 中讀出的數(shù)據(jù))。參見圖6所示,為具體實施例中,向量條件訪問單元VCAU中訪問請求整理模塊的結(jié)構(gòu)示意圖,完成向量訪問請求的重整理。主要由N位的向量條件訪問寄存器VCon_AcessBi t、N個ニ輸入或門0R2卜η、N個四輸入或門0R4。 和N個三選一選擇器MUX0
組成。VCon_AcessBit[i](簡稱A[i])的輸入端為初始的向量訪問請求的第i位vr[i],輸出端為VPEi的訪問請求Ri; A[i+1]的輸入端為初始的向量訪問請求的第i+1位vr [i+1],輸出端為VPEi+1的訪問請求Ri+1; A[i+2]的輸入端為初始的向量訪問請求的第i+2位vr[i+2],輸出端為VPEi+2的訪問請求Ri+2; A[i+3]的輸入端為初始的向量訪問請求的第i+3位vr [i+3],輸出端為VPEi+3的訪問請求Ri+3;或門0咕的輸入為Ri和Ri+1,或門OIMi的輸入為Ri, Ri+1,Ri+2,Ri+3,輸出連接至選擇器MUXi的輸入端之一;選擇器MUXi的輸入端分別為Ri, miRj,{ Ri+11 Ri },選擇器MUXi的輸出端為訪問VBi的請求Reqi(0〈=i〈=N-l),三選ー選擇器的選擇控制信號為問粒度AceSS_Width (00為字訪問,01為字節(jié)訪問,10為字訪問)(0〈=i〈=N-l)。參見圖7所示,為具體實施例中,向量條件寫回單元VCWBU中寫回使能整理模塊的結(jié)構(gòu)示意圖,完成寫回使能的重整理。主要由N個三輸入選擇器MUXtl η和N位向量條件寫回寄存器VCon_CopyBit組成。三選ー選擇器MUXi的輸入端分別為讀出存儲器的字請求信號Reqi、字節(jié)使能BEi [O]和BEi [O];三選ー選擇器MUXi+1的輸入端分別為字請求信號Reqi+1、字節(jié)使能BEi[l]和BEi [2];三選ー選擇器MUXi+2的輸入端分別為讀出存儲器的字使能信號Reqi+2、字節(jié)使能BEi [2]和BEi+1 [O];三選ー選擇器MUXi+3的輸入端分別為讀出存儲器的字使能信號Reqi+3、字節(jié)使能BEi [3]和BEi+1 [2]。N個三選一選擇器MUXc^im的輸出端為寫回N個VPE的寫回有效信號ソ&11(1^_1,它們分別為則立向量條件寫回寄存器¥&)11_、CopyBit [O] [N-1]的輸入;N位向量條件寫回寄存器VCon_CopyBit
[N-1]的輸出即為寫回N個VPE的使能信號本實施例中,向量條件訪問單兀(Vector Condition Access Unit, VCAU)具有向量條件訪問功能,向量條件寫回單兀(Vector Condition Write Back Unit, VCWBU)具有向量數(shù)據(jù)條件寫回功能,使VM不僅支持按字地址邊界對齊的N個字節(jié)、或半字、或字的連續(xù)訪問,還支持N路向量條件請求的非連續(xù)訪問。其中W為2的正整數(shù)次冪,大于等于8,N為2的正整數(shù)次冪,且N大于等于2。每個VB由W位寬的存儲體構(gòu)成,且包含W/8位的字節(jié)寫屏蔽信號BYWEN,屏蔽VB中ー個W位寬字中W/8個字節(jié)的寫入。BYWEN某位有效(假設(shè)為I表示有效,O表示無效),VB對應(yīng)字節(jié)的寫入操作被屏蔽,BYWEN某位無效,VB對應(yīng)的字節(jié)才能寫入數(shù)據(jù)。ー個VB單周期最大能提供W位寬字的數(shù)據(jù)訪問帶寬,可支持字節(jié)(8位)、半字(W/2位)和字粒度(W位)的訪問。SMD結(jié)構(gòu)的向量處理器按單指令流多數(shù)據(jù)流方式執(zhí)行訪存指令,其訪存譯碼單元負(fù)責(zé)向量訪存指令譯碼,地址計算單元負(fù)責(zé)向量訪存地址的計算,向量條件訪問單元VCAU根據(jù)訪存譯碼單元和地址計算単元得到的訪存類型、訪存粒度、訪存地址和訪問條件執(zhí)行等信息生成N路VB的訪存信號,送至VM訪存流水線實現(xiàn)向量存儲器的條件訪存;若為讀請求,寫回VPE信號還要經(jīng)過向量條件寫回単元VCWBU進(jìn)行整理,實 現(xiàn)向量存儲器的條件寫回。VCAU接收條件訪問寄存器VCon_AcessBit [N-1:0]、條件寫回寄存器VCon_CopyBit[N-l:0]、指令譯碼單元的訪存指令類型(標(biāo)量/向量讀、向量寫操作)、讀寫寄存器編號和數(shù)據(jù)訪問粒度(字節(jié)、半字或字粒度)及地址計算単元得到的N套訪存地址、N位向量訪問請求vr[N-l:0]等信息,然后將向量訪問請求vr[N-l:0]配合N位的條件訪問寄存器VCoruAcessBit [N-1:0]生成N套VB訪問請求及其對應(yīng)的W/8位的讀寫字節(jié)使能信號BE,再將包括條件訪問、寫回信息(VCon_AcessBit [N-1:0]和 VCon_CopyBit [N-1:0])、訪問請求、字節(jié)使能BE、訪問粒度、指令類型、訪存地址在內(nèi)的N套訪存信息,一起傳給對應(yīng)的N個VB,訪存請求為I的VB按VM訪存流水線執(zhí)行訪存操作,為O的則不執(zhí)行。如指令類型為向量寫操作,則各VB將傳給自己的BE按位取反賦值給BYWEN,執(zhí)行VB對應(yīng)字的寫操作,然后結(jié)束本次訪問;若為讀請求,訪問VB讀出數(shù)據(jù)后還要將流水線中的條件寫回信息(VCOn_COpyBit[N-l:0])、訪問請求、指令類型、字節(jié)使能BE、粒度信息(字節(jié)、半字或字)、符號位信息(符號位擴展或補O)和讀出的數(shù)據(jù)等信息傳遞到VCWBU,根據(jù)訪問粒度、指令類型(標(biāo)量讀或向量讀)和N位的VB向量條件寫回寄存器VCon_CopyBit[N-l:0] (VCon_CopyBit [N-1:0]只對標(biāo)量條件讀訪問有效),根據(jù)訪問粒度選擇使用訪問請求或字節(jié)使能BE生成與VPU的N個VPE對應(yīng)的N套寫回使能,寫回使能為I則執(zhí)行對應(yīng)VPE的寫回操作,寫回使能為O則不執(zhí)行寫回操作。VCAU的訪問請求和數(shù)據(jù)的整理過程分別見圖6,VCWBU的寫回使能和數(shù)據(jù)的整理過程分別見圖7。本實施例中,VPE按字節(jié)、半字、或字粒度對VM進(jìn)行條件訪問操作時,均按字邊界對齊、以字為単位。VCAU和VCWBU按以下三種向量訪存指令類型支持條件訪問操作。(I)向量讀;
VPU按字對VM進(jìn)行向量讀訪問時,VCAU直接將N位的VCon_AcessBit作為N個VB的讀訪問請求,和其對應(yīng)訪存地址一起發(fā)送到VM訪存流水線。N個訪問請求中任一請求都可為O或I,所以N個請求有2n種條件組合情況。VM中的N個VB根據(jù)讀訪問請求信號是否為I按訪存地址進(jìn)行讀存儲器操作,訪問請求、向量訪存指令類型和讀出數(shù)據(jù)繼續(xù)傳送到VM訪存流水線的寫回站,由VCWBU直接選擇讀訪問請求信號作為寫回使能,將讀出的字寫回對應(yīng)的VPE,完成字粒度的向量讀訪問。
VPU按半字或字節(jié)粒度對VM進(jìn)行向量讀訪問時,VCAU將根據(jù)訪問粒度和VCon_AcessBit生成發(fā)送給N個VB的讀訪問請求,對于半字訪問,最多能給VM發(fā)送N/2個有效訪問請求;對于字節(jié)訪問,最多能給VM發(fā)送N/ (W/8)個有效訪問請求。N個VB的讀訪問請求及其對應(yīng)的字節(jié)使能BE和訪存地址,被發(fā)給各VB執(zhí)行讀訪問操作,并將訪問請求、向量訪存指令類型、讀出數(shù)據(jù)、字節(jié)使能BE和訪問粒度傳至訪存流水線寫回站,由VCWBU根據(jù)BE和訪問粒度從讀出的字?jǐn)?shù)據(jù)中選出N個字節(jié)或N個半字?jǐn)?shù)據(jù),井生成對應(yīng)寫回使能,完成字節(jié)或半字向量讀訪問。生成寫回使能和數(shù)據(jù)的方法為如果是字節(jié)讀,則將選出的N/(W/8)個字?jǐn)?shù)據(jù)和字節(jié)使能BE[ (W/8)-l :0]按順序分解為連續(xù)的N個字節(jié)的數(shù)據(jù)及其寫回使能;如果訪問粒度是半字,則將N/2個字的數(shù)據(jù)及字節(jié)使能BE [ (W/8)-I: O]按順序分解為連續(xù)的N個半字?jǐn)?shù)據(jù),井生成N個寫回使能;然后將讀出的字節(jié)或半字寫回對應(yīng)的VPE,完成字節(jié)或半字粒度的向量讀訪問。( 2 )標(biāo)量讀;
訪存指令類型為標(biāo)量讀指令吋,N個VPE中只有ー個VPE發(fā)出讀請求,即N位的VCon_AcessBit[N-1:0]中只有I位被設(shè)置為有效,同時還需要設(shè)置條件寫回寄存器VCon_CopyBit,由其決定訪存流水線中按條件讀出的一個數(shù)據(jù)需要寫入哪些VPE。執(zhí)行標(biāo)量讀訪問時,讀存儲器操作與向量讀操作相同,不同的是還需要設(shè)置VCon_CopyBit,并將其送入VM訪存流水線的寫回站,同時將讀出的單個數(shù)據(jù)復(fù)制N份送入VM訪存流水線的寫回站,由VCWBU根據(jù)向量訪存指令類型直接使用VCon_CopyBit [N-1:0]生成寫回使能信號,控制對應(yīng)VB是否執(zhí)行寫回VPE操作,為I表示執(zhí)行,為O表示不執(zhí)行。如果條件工作寄存器VCon_CopyBit [N-1:0]全為1,則讀訪問得到的標(biāo)量數(shù)據(jù)將寫入所有VPE中。(3)向量寫;
如果執(zhí)行的訪存指令是向量寫訪問,需要根據(jù)訪存粒度對寫存儲器數(shù)據(jù)進(jìn)行合并整理。即如果訪問粒度為字節(jié)或半字,VCAU還需將訪存數(shù)據(jù)壓縮成多個與VB字寬對應(yīng)的多個數(shù)據(jù),井根據(jù)VPE條件訪問寄存器VCoruAcessBit和訪問粒度生成訪問VB的寫請求及其讀寫字節(jié)使能信號BE,將BE按位取反作為訪問對應(yīng)VB的字節(jié)屏蔽位BYWEN。如果是字節(jié)寫訪問,則需將連續(xù)的W/8個字節(jié)的數(shù)據(jù)及請求按順序合并成對應(yīng)的VB寫訪問數(shù)據(jù)、請求、及字節(jié)使能;如果是半字則需將連續(xù)的兩個半字的數(shù)據(jù)及其請求按順序合并成對應(yīng)的VB的寫訪問數(shù)據(jù)、請求及字節(jié)使能。將這些訪存信息送入后面的寫訪存流水線,完成VM的向量寫操作。如圖2所示,本發(fā)明提供ー種支持向量條件訪存的裝置,包括向量存儲器VM,由N個向量存儲體VBci VBim、訪存指令譯碼單元、地址計算單元、向量條件訪問單元VCAU和向量條件寫回単元VCWBU組成;每個VB擁有自己的訪存流水控制器;訪存指令譯碼單元用來接收指令派發(fā)部件發(fā)送的向量條件訪存指令并譯碼出指令中的訪存信息;地址計算單元負(fù)責(zé)產(chǎn)生訪問VM的地址和初步的請求vr [N-1:0];向量條件訪問單元VCAU負(fù)責(zé)將流水線中的條件訪問寄存器A [N-1:0]和訪問請求vr [N-1:0]進(jìn)行整理生成向量條件訪問請求和字節(jié)使能,同時對數(shù)據(jù)進(jìn)行整理,并傳遞給N個VB的訪存流水線;向量條件寫回単元VCWBU根據(jù)訪存流水線中的訪問請求、字節(jié)使能和寫回訪問寄存器生成寫回使能信號,同時對寫回數(shù)據(jù)進(jìn)行整理,并根據(jù)向量處理部件VPU的忙閑狀態(tài)選擇是否寫回VPU向量寄存器;向量存儲器VM通過向量條件訪問單元VCAU和向量條件寫回單元VCWBU實現(xiàn)N個向量處理單元VPE的向量數(shù)據(jù)對向量存儲器VM中向量數(shù)據(jù)的條件讀寫。以上僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤飾,應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種支持向量條件訪存的方法,其特征在于,步驟為 (I)在向量條件訪問單元VCAU中設(shè)置一個可編程的N位的VPE條件訪問寄存器VCon_AcessBit [N-1:0]和N位的VB條件寫回寄存器VCon_CopyBit [N_1:0];對應(yīng)N個VPE的訪存條件執(zhí)行位,為I時表示執(zhí)行,為O表示不執(zhí)行;其中,VCon_AcessBit[N-l:0]控制對應(yīng)VB是否執(zhí)行訪存操作,VCon_CopyBit [N-1:0]只在標(biāo)量讀訪問時控制對應(yīng)VB是否執(zhí)行數(shù)據(jù)寫回操作; (2 )指令譯碼單元接收指令派發(fā)部件發(fā)出的向量訪存指令進(jìn)行指令譯碼,譯出指令中的訪存信息;若為寫指令還要向VPU的向量寄存器發(fā)出讀使能,讀出向量寄存器的數(shù)據(jù),并將以上訪存信息發(fā)給執(zhí)行站; (3)執(zhí)行站中地址計算單元根據(jù)所述訪存信息產(chǎn)生訪問N個VB的地址和初步的訪問請求vr ; (4)VCAU將執(zhí)行站接收到的向量條件訪問寄存器VCoruAcessBit、流水線中的訪問請求vr進(jìn)行整理,若向量條件訪問寄存器VCon_AceSsBit[i]=0,則將其對應(yīng)的VPEi請求vr[i]置無效,如果向量條件訪問寄存器VCon_AceSsBit[i]=l,則VPEi對應(yīng)的訪問請求vr[i]有效;將訪問數(shù)據(jù)進(jìn)行整理,形成訪問N個VB的N套訪存請求和數(shù)據(jù)的訪存信息,然后將加工后的訪問請求Reqi、數(shù)據(jù)和步驟(3)中計算出的VB地址分別加入到步驟(2)得到的訪存信息中,再訪問VM ; (5)將各VB訪存流水線的寫回信息打入向量條件寫回單元VCWBU進(jìn)行整理,若VB訪存流水線傳遞過來的向量寫回寄存器VCon_CopyBit [i] =0,則只需將VCoruAcessBit [i] =1時讀出的數(shù)據(jù)寫回VPU即可;若此時為標(biāo)量訪問且訪存流水線中的VCon_CopyBit[i]=l,則將VCon_AcessBit[i]=l時讀出的數(shù)據(jù)復(fù)制N份,然后將VCon_CopyBit [i] =1對應(yīng)的數(shù)據(jù)寫回 VPU0
2.一種支持向量條件訪存的裝置,其特征在于,包括向量存儲器VM,由N個向量存儲體VBci VBim、訪存指令譯碼單元、地址計算單元、向量條件訪問單元VCAU和向量條件寫回單元VCWBU組成;所述每個向量存儲體VB擁有自己的訪存流水控制器;所述訪存指令譯碼單元用來接收指令派發(fā)部件發(fā)送的向量條件訪存指令并譯碼出指令中的訪存信息;所述地址計算單元負(fù)責(zé)產(chǎn)生訪問向量存儲器VM的地址和初步的請求vr[N-l:0];所述向量條件訪問單元VCAU負(fù)責(zé)將流水線中的條件訪問寄存器VCoruAcessBit [N-1:0]和訪問請求vr[N-l:0]進(jìn)行整理生成向量條件訪問請求和字節(jié)使能,同時對數(shù)據(jù)進(jìn)行整理,并傳遞給N個向量存儲體VB的訪存流水線;所述向量條件寫回單元VCWBU根據(jù)訪存流水線中的訪問請求、字節(jié)使能和寫回訪問寄存器生成寫回使能信號,同時對寫回數(shù)據(jù)進(jìn)行整理,并根據(jù)向量處理部件VPU的忙閑狀態(tài)選擇是否寫回VPU向量寄存器;所述向量存儲器VM通過向量條件訪問單元VCAU和向量條件寫回單元VCWBU實現(xiàn)N個向量處理單元VPE對向量存儲器VM的條件訪問。
全文摘要
一種支持向量條件訪存的方法和裝置,方法的步驟為(1)在向量條件訪問單元VCAU中設(shè)置兩個可編程的寄存器N位的VPE條件訪問寄存器和N位的VB條件寫回寄存器;(2)指令譯碼單元接收指令派發(fā)部件發(fā)出的向量訪存指令進(jìn)行指令譯碼,譯出指令中的訪存信息;(3)地址計算單元根據(jù)訪存信息產(chǎn)生訪問N個VB的訪問請求vr及地址并送到VCAU;(4)VCAU對所有訪存信息進(jìn)行條件整理和數(shù)據(jù)對齊;(5)將各VB訪存流水線的寫回信息打入向量條件寫回單元VCWBU進(jìn)行整理。該裝置由包括訪存指令譯碼單元、地址計算單元、向量存儲體VB、向量條件訪問單元VCAU、向量條件寫回單元VCWBU組成的向量存儲器VM。本發(fā)明可提高訪存操作靈活性,有效提高向量存儲器的利用率和訪存效率。
文檔編號G06F9/38GK102629238SQ20121005079
公開日2012年8月8日 申請日期2012年3月1日 優(yōu)先權(quán)日2012年3月1日
發(fā)明者萬江華, 劉仲, 劉宗林, 劉勝, 劉衡竹, 彭元喜, 陳書明, 陳海燕, 陳勝剛, 黃遠(yuǎn)廣 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
疏勒县| 保德县| 芜湖市| 紫金县| 平陆县| 临澧县| 重庆市| 顺义区| 绥滨县| 红河县| 当雄县| 咸宁市| 兴隆县| 永靖县| 固始县| 铜川市| 淳安县| 墨江| 阿拉善右旗| 临沧市| 边坝县| 得荣县| 潼南县| 西乌珠穆沁旗| 炎陵县| 喜德县| 贵阳市| 德清县| 清丰县| 江陵县| 静乐县| 宜章县| 双柏县| 洛阳市| 瑞昌市| 福建省| 汽车| 固阳县| 普安县| 屏山县| 海城市|