国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      面向向量處理器數據交換的方法及裝置的制作方法

      文檔序號:6336772閱讀:180來源:國知局
      專利名稱:面向向量處理器數據交換的方法及裝置的制作方法
      技術領域
      本發(fā)明主要涉及到向量處理器的設計領域,特指一種面向向量處理器數據交換 的方法及裝置。
      背景技術
      隨著4G無線通信技術和高清視頻圖像處理技術的發(fā)展,向量處理器得到了廣泛 的應用。參見圖1,為向量處理器的一般結構示意圖。向量處理器一般由N個處理單元 PE組成,每個PE包含數個功能單元,一般包括移位部件、ALU部件、乘法部件等,這 些功能部件可以讀寫一組局部寄存器,每個PE包行一組局部寄存器,所有PE的同一編 號的局部寄存器寄存器在邏輯上又組成一個向量寄存器。例如圖示PE1-PEn的Rci寄存器 在邏輯上組成了向量寄存器VR0,每個PE所對應的R0稱為向量寄存器的一個元素。向 量處理器采用SIMD的方式,在同一條向量指令的控制下,N個PE同時對各自的局部寄 存器進行相同操作,用以開發(fā)應用程序的數據級并行性。無線通信和視頻圖像處理算法中包含著大量高密集運算的子任務,如FFT/IFFT 運算、矩陣求逆運算等。這些運算過程在映射到向量處理器上時,往往需要充分利用所 有可并行的運算資源,以便于使其滿足在功耗、實時行等方面的要求。然而,由于算法 本身的特性和向量數據通路的限制,算法在執(zhí)行過程中不同的處理單元之間不可避免地 要進行數據交換。例如在基2FFT/IFFT算法中,本級蝶形運算所需要的數據并非和前一 級蝶形運算的結果順序對應。因此,在進行本級蝶形運算之前就需要將前一級的結果交 換到需要它的PE中,以方便本級蝶形運算。參見圖2,為16點基2FFT算法的4級蝶形 運算示意圖。圖中所示x0-xl5為位反序輸入,X0-X15為順序輸出。圖中每一級運算 輸入點之間的交叉箭頭指示了要進行蝶形運算的一對輸入點,在每一級蝶形運算中,每 個點只參加一次蝶形運算。對于N點FFT共需要Iog2N級蝶形運算,每一級共進行N/2 次蝶形運算,產生N個結果被下一級蝶形運算使用。每一級蝶形運算所使用的一對輸入 點之間的距離都是前一級的2倍,如第一級是每兩個連續(xù)的輸入點之間做蝶形運算,即 輸入點之間的距離為1,第二級每個蝶形運算的兩個輸入點之間的距離為2,第三級每個 蝶形運算的兩個輸入點之間的距離為4,依次類推,直至第Iog2N級蝶形運算做完之后得 到順序輸出的結果。實現PE間的數據交換通常有兩種途徑1.利用共享向量存儲器;2.使用數據混 洗單元。這兩種方法在實現一般的數據交換時,效率是相當的。在實際應用中如FFT/ IFFT、矩陣求逆等又往往大量需要如下這種特殊的數據交換方式在數據交換完成后, 要保證每個向量寄存器最終的內容既有一部分保持不變,又有一部分來自于其它向量寄 存器。要用傳統(tǒng)的方法實現上述的特殊數據交換,第一種方法需要向量處理器支持屏蔽 字技術,所謂屏蔽字技術是指通過配置屏蔽字寄存器來控制某些PE不執(zhí)行當前指令,在 此基礎上,還需要數條配置屏蔽字寄存器的指令和兩條訪問共享向量存儲器的指令;第 二種方法則需要多條混洗指令。這兩種方法都增加了每次交換的時間和所使用的指令條

      發(fā)明內容
      本發(fā)明要解決的技術問題就在于針對現有技術存在的技術問題,本發(fā)明提供 一種原理簡單、操作方便、能夠快速完成特殊數據交換、縮短整個算法的運算時間、提 高執(zhí)行效率的面向向量處理器數據交換的方法及裝置,以滿足運算密集型應用的需求。為解決上述技術問題,本發(fā)明采用以下技術方案—種面向向量處理器數據交換的方法,其特征在于通過向量指令EXC完成 兩個向量寄存器之間指定部分內容的互相交換,所述向量指令EXC的指令格式為EXC mode VR1VRj,所述VRjP VR1用以指定要進行數據交換的兩個向量寄存器,所述mode為 一個立即數,用來指定這兩個向量寄存器之間數據交換的模式,所述mode的取值為1、 2、3……Log2N,其中N為向量處理器中處理單元PE的數目,一般為2的整數次冪。作為本發(fā)明的進一步改進當mode的值為1時,表明該指令要執(zhí)行的操作為將PEk中的局部寄存器Ri中 的內容和PEh中的局部寄存器Rj中的內容相互交換,沒有進行數據互換的局部寄存器中 的內容保持不變,其中k=2、4···Ν;當mode的值為2時,表明該指令要執(zhí)行的操作為 將PEk:PEk+1中的局部寄存器Ri中的內容和PEhPEH中的局部寄存器Rj中的內容相互交 換,沒有進行數據互換的局部寄存器中的內容保持不變,其中K = 3、7…N-I ;當mode 的值為s時,表明該指令要執(zhí)行的操作為將^^ : pe^ ■... ■ PA+p中的局部寄存器Ri中 的內容和: PEk+l-^ :…^巧_,中的局部寄存器Rj中的內容相互交換,沒有進行數 據互換的局部寄存器中的內容保持不變,其中k=2s-l+l、2s-l+2s……N-2S-1+1。本發(fā)明進一步提供一種面向向量處理器數據交換的裝置,其特征在于包括譯 碼邏輯單元、兩路選擇器以及時鐘信號單元,所述譯碼邏輯單元根據向量指令EXC的 mode域進行譯碼,每次譯碼后產生N/2個有效的使能信號,每個使能信號分別連接至兩 個兩路選擇器的使能端;所述兩路選擇器的輸入來自將要發(fā)生數據交換的兩個局部寄存 器的讀端口;當使能信號有效時,兩路選擇器控制兩個局部寄存器的內容各自寫回到交 換目的地所對應的局部寄存器寫端口,當時鐘信號有效時,完成兩個局部寄存器內容的 相互交換。所述向量指令EXC的指令格式為EXC mode VR1 VRj,所述VR1和VR1用以指定
      要進行數據交換的兩個向量寄存器,所述mode為一個立即數,用來指定這兩個向量寄存 器之間數據交換的模式,所述mode的取值為1、2、3……Log2N,其中N為向量處理器 中處理單元PE的數目,一般為2的整數次冪。當mode的值為1時,表明該指令要執(zhí)行的操作為將PEk中的局部寄存器Ri中 的內容和PEh中的局部寄存器Rj中的內容相互交換,沒有進行數據互換的局部寄存器中 的內容保持不變,其中k=2、4···Ν;當mode的值為2時,表明該指令要執(zhí)行的操作為 將PEk:PEk+1中的局部寄存器Ri中的內容和PEhPEH中的局部寄存器Rj中的內容相互交 換,沒有進行數據互換的局部寄存器中的內容保持不變,其中K = 3、7…Ni;當mode 的值為s時,表明該指令要執(zhí)行的操作為將^^ : pe^ ■... ■ PA+p中的局部寄存器Ri中 的內容和: PEk+l-^ :…^P民_,中的局部寄存器Rj中的內容相互交換,沒有進行數據互換的局部寄存器中的內容保持不變,其中k=2s-l+l、2s-l+2s……N-2S-1+1。與現有技術相比,本發(fā)明的優(yōu)點在于本發(fā)明面向向量處理器數據交換的方 法及裝置,可支持在向量寄存器間進行特殊方式數據交換,并設計完成該功能的相應指 令。通過本方法和裝置能夠減小FFT/IFFT和矩陣求逆等算法在向量處理器中的執(zhí)行時 間,有效壓縮了代碼長度。采用本發(fā)明設計的指令比傳統(tǒng)的混洗單元實現代價低,在實 現相同功能的情況下,降低了功耗。另外,本發(fā)明的裝置,結構簡單緊湊、成本低廉、 操作十分方便、可靠性好。


      圖1是向量處理器的一般結構示意圖;圖2是16點FFT算法的4級蝶形運算示意圖;圖3是本發(fā)明方法的執(zhí)行流程示意圖;圖4是本發(fā)明裝置的結構原理示意圖;圖5是本發(fā)明在8數據通路的向量處理器上的執(zhí)行過程示意圖。
      具體實施例方式以下將結合說明書附圖和具體實施例對本發(fā)明做進一步詳細說明。如圖3所示,為本發(fā)明面向向量處理器數據交換的方法執(zhí)行時的流程示意圖, 本發(fā)明通過向量指令EXC完成兩個向量寄存器(由2N個局部寄存器組成)之間指定部分 內容的互相交換,每次發(fā)生數據交換的局部寄存器有N個,即N/2對局部寄存器進行數 據交換,內容保持不變的局部寄存器也為N個。向量指令EXC的指令格式為EXC mode VR1VRj, VR1* VR1用以指定要進行數據交換的兩個向量寄存器,mode為一個立即數, 用來指定這兩個向量寄存器之間數據交換的模式,mode的取值為1、2、3……Log2N, 其中N為向量處理器中處理單元PE的數目,一般為2的整數次冪。S卩,執(zhí)行時,首先 根據指令EXC的操作數域VR1* VR1向寄存器發(fā)送讀請求,將得到的數據記為VR1'和 VR/,然后根據mode域的數值對VR1'和VR/進行部分數據互換,最后將得到的數 值VR1'和VR/重新寫回到寄存器VR1* VR1中。當mode的值為1時,表明該指令要執(zhí)行的操作為將PEk中的局部寄存器Ri中 的內容和PEh中的局部寄存器Rj中的內容相互交換,沒有進行數據互換的局部寄存器中 的內容保持不變,其中k=2、4···Ν;當mode的值為2時,表明該指令要執(zhí)行的操作為 將PEk:PEk+1中的局部寄存器Ri中的內容和PEhPEH中的局部寄存器Rj中的內容相互交 換,沒有進行數據互換的局部寄存器中的內容保持不變,其中K = 3、7…N-I ;當mode 的值為s時,表明該指令要執(zhí)行的操作為將^^ : pe^ ■... ■ PA+p中的局部寄存器Ri中 的內容和: PEk+l-^ :…^P民_,中的局部寄存器Rj中的內容相互交換,沒有進行數 據互換的局部寄存器中的內容保持不變,其中k=2s-l+l、2s-l+2s……N-2S-1+1。如圖4所示,本發(fā)明面向向量處理器數據交換的裝置,包括譯碼邏輯單元、兩 路選擇器以及時鐘信號單元,譯碼邏輯單元根據向量指令EXC的mode域進行譯碼,每 次譯碼后產生N/2個有效的使能信號,每個使能信號分別連接至兩個兩路選擇器的使能 端,這兩個兩路選擇器的輸入都來自與要執(zhí)行數據交換的兩個局部寄存器RdPR1的讀端口,當使能信號為高電平時,R1和R1的數據被兩個兩路選擇器分別選中到&和民的寫端 口,當時鐘信號有效時,即實現了兩個局部寄存器內容的相互交換。當使能信號為低電 平時,R1和R1的內容則保持不變。如圖5所示,本發(fā)明在8數據通路的向量處理器上的執(zhí)行過程示意圖。對于8 數據通路的向量處理器,EXC指令的mode域的取值可以為1、2、3,即EXC指令一共 可以完成三種特殊類型的數據交換。下面將結合圖2所示的16點基2FFT算法對本發(fā)明 進行詳細的說明。16點FFT共需4級蝶形運算,每一級要進行8個蝶形運算。當mode值為1時,該指令執(zhí)行的操作為將PE2、PE4, PE6, PE8中局部寄存器 R1中的內容分別與PE1. PE3> PE5, PE7中局部寄存器R1中的內容相互交換,PE1. PE3、 PE5, PE7中局部寄存器RdPPE2、PE4, PE6, PE8中局部寄存器R1的內容則保持不變。 執(zhí)行完此條指令后,每個PE內的局部寄存器民和&中的數據即為圖2所示的16點FFT 第一級蝶形運算所需要的輸入數據。僅需要一條指令進行數據交換之后,就可以在8個 PE上并行進行8個蝶形運算。當mode值為2時,該指令執(zhí)行的操作為將PE3、PE4, PE7, PE8中局部寄存器 R1中的內容分別與PE1. PE2, PE5, PE6中局部寄存器巧中的內容相互交換,PE1. PE2,
      PE5, PE6中局部寄存器RdPPE3、PE4, PE7, PE8中局部寄存器民的內容則保持不變。 執(zhí)行完此條指令后,每個PE內的局部寄存器民和&中的數據即為圖2所示的16點FFT 第二級蝶形運算所需要的輸入數據。僅需要一條指令進行數據交換之后,就可以在8個 PE上并行進行8個蝶形運算。當mode值為3時,該指令執(zhí)行的操作為將PE5、PE6, PE7, PE8中局部寄存器 R1中的內容分別與PE1. PE2, PE3> PE4中局部寄存器巧中的內容相互交換,PE1. PE2,
      PE3> PE4中局部寄存器RdPPE5、PE6, PE7, PE8中局部寄存器民的內容則保持不變。 執(zhí)行完此條指令后,每個PE內的局部寄存器民和&中的數據即為圖2所示的16點FFT 第二級蝶形運算所需要的輸入數據。僅需要一條指令進行數據交換之后,就可以在8個 PE上并行進行8個蝶形運算。綜上所述,通過本發(fā)明所實現的數據交換,可以最大限度的開發(fā)FFT算法在向 量處理器上的并行度,有效提高了該算法在向量處理器中的執(zhí)行效率。以上僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施 例,凡屬于本發(fā)明思路下的技術方案均屬于本發(fā)明的保護范圍。應當指出,對于本技術 領域的普通技術人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,應視為本發(fā) 明的保護范圍。
      權利要求
      1.一種面向向量處理器數據交換的方法,其特征在于通過向量指令EXC完成兩個 向量寄存器之間指定部分內容的互相交換,所述向量指令EXC的指令格式為EXC mode VR1VRj,所述VRjn VR1用以指定要進行數據交換的兩個向量寄存器,所述mode為一個 立即數,用來指定這兩個向量寄存器之間數據交換的模式,所述mode的取值為1、2、3……Log2N,其中N為向量處理器中處理單元PE的數目,一般為2的整數次冪。
      2.根據權利要求1所述的面向向量處理器數據交換的方法,其特征在于當mode的 值為1時,表明該指令要執(zhí)行的操作為將PEk中的局部寄存器Ri中的內容和PEh中的 局部寄存器Rj中的內容相互交換,沒有進行數據互換的局部寄存器中的內容保持不變, 其中k = 2、4…N;當mode的值為2時,表明該指令要執(zhí)行的操作為將PEk:PEk+1中 的局部寄存器Ri中的內容和PEkIPElrf中的局部寄存器Rj中的內容相互交換,沒有進 行數據互換的局部寄存器中的內容保持不變,其中K = 3、7…N-I ;當mode的值為s 時,表明該指令要執(zhí)行的操作為將^^ : pe^ ■... ■■中的局部寄存器Ri中的內容和 PEk_2S。PEk+l_2S i:…:/^㈡中的局部寄存器Rj中的內容相互交換,沒有進行數據互換的 局部寄存器中的內容保持不變,其中k = 2s-l+l、2s-l+2s……N-2s-l+l。
      3.—種面向向量處理器數據交換的裝置,其特征在于包括譯碼邏輯單元、兩路選 擇器以及時鐘信號單元,所述譯碼邏輯單元根據向量指令EXC的mode域進行譯碼,每 次譯碼后產生N/2個有效的使能信號,每個使能信號分別連接至兩個兩路選擇器的使能 端;所述兩路選擇器的輸入來自將要發(fā)生數據交換的兩個局部寄存器的讀端口;當使能 信號有效時,兩路選擇器控制兩個局部寄存器的內容各自寫回到交換目的地所對應的局 部寄存器寫端口,當時鐘信號有效時,完成兩個局部寄存器內容的相互交換。
      4.根據權利要求3所述的面向向量處理器數據交換的裝置,其特征在于所述向量 指令EXC的指令格式為EXC mode VR1VRj,所述VR1和VR1用以指定要進行數據交換的 兩個向量寄存器,所述mode為一個立即數,用來指定這兩個向量寄存器之間數據交換的 模式,所述mode的取值為1、2、3……Log2N,其中N為向量處理器中處理單元PE的數 目,一般為2的整數次冪。
      5.根據權利要求4所述的面向向量處理器數據交換的裝置,其特征在于當mode的 值為1時,表明該指令要執(zhí)行的操作為將PEk中的局部寄存器Ri中的內容和PEh中的 局部寄存器Rj中的內容相互交換,沒有進行數據互換的局部寄存器中的內容保持不變, 其中k = 2、4…N;當mode的值為2時,表明該指令要執(zhí)行的操作為將PEk:PEk+1中 的局部寄存器Ri中的內容和PEkIPElrf中的局部寄存器Rj中的內容相互交換,沒有進 行數據互換的局部寄存器中的內容保持不變,其中K = 3、7…N-I ;當mode的值為s 時,表明該指令要執(zhí)行的操作為將^^ : pe^ ■... ■■中的局部寄存器Ri中的內容和 PEk_2S。PEk+l_2S i:…:/^㈡中的局部寄存器Rj中的內容相互交換,沒有進行數據互換的 局部寄存器中的內容保持不變,其中k = 2s-l+l、2s-l+2s……N-2s-l+l。
      全文摘要
      一種面向向量處理器數據交換的方法及裝置,該方法為通過向量指令EXC完成兩個向量寄存器之間指定部分內容的互相交換,向量指令EXC的指令格式為EXC mode VRiVRj,VRi和VRj用以指定要進行數據交換的兩個向量寄存器,mode為一個立即數,用來指定這兩個向量寄存器之間數據交換的模式,mode的取值為1、2、3……Log2N,其中N為向量處理器中處理單元PE的數目,一般為2的整數次冪。該裝置包括譯碼邏輯單元、兩路選擇器以及時鐘信號單元。本發(fā)明具有原理簡單、操作方便、能夠快速完成特殊數據交換、縮短整個算法的運算時間、提高執(zhí)行效率、可滿足運算密集型應用需求等優(yōu)點。
      文檔編號G06F17/16GK102012802SQ20101055938
      公開日2011年4月13日 申請日期2010年11月25日 優(yōu)先權日2010年11月25日
      發(fā)明者萬江華, 劉勝, 劉蓬俠, 唐濤, 孫永節(jié), 張凱, 彭元喜, 胡春媚, 陳書明, 陳海燕 申請人:中國人民解放軍國防科學技術大學
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1