国产精品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>

      一種支持fft加速的simd向量處理器的制作方法

      文檔序號(hào):6439873閱讀:370來源:國(guó)知局
      專利名稱:一種支持fft加速的simd向量處理器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種支持FFT加速的SIMD向量處理器及其設(shè)計(jì)方法,具體地說是一種支持可變點(diǎn)數(shù),對(duì)FFT/IFFT運(yùn)算加速效率較高而整體硬件開銷較低的SIMD向量處理器及其設(shè)計(jì)方法。
      背景技術(shù)
      快速傅里葉變換(Fast Fourier Transformation, FFT)運(yùn)算一般都通過專用硬件加速器(稱為FFT處理器)或DSP處理器完成。專用硬件加速器能獲得較高的加速效率,但是會(huì)占用較多額外資源,包括片上存儲(chǔ)資源和片上計(jì)算邏輯資源,特別是當(dāng)變換的長(zhǎng)度極大時(shí),專用硬件加速器所占用的額外資源將無(wú)法承受。用DSP處理器軟件編程的方式完成 FFT運(yùn)算雖然不會(huì)占用額外的硬件資源且具有很大的靈活性,但是其處理速度相對(duì)較慢,滿足不了某些應(yīng)用的實(shí)時(shí)性要求。
      在一些數(shù)字信號(hào)處理算法,如距離-多普勒算法中,涉及大量各種長(zhǎng)度的向量處理,最長(zhǎng)可達(dá)到16K甚至更長(zhǎng)。對(duì)這些向量的處理既包括規(guī)則的向量運(yùn)算(向量加減法、向量乘法等)也包括FFT/IFFT運(yùn)算。SIMD向量處理器可用來加速規(guī)則的向量運(yùn)算,但是尚未出現(xiàn)同時(shí)能夠直接加速FFT運(yùn)算(加速效率和專用加速器相當(dāng))的SIMD向量處理器,在這種情況下,還需要另外使用FFT硬件加速器來加速各種點(diǎn)數(shù)的FFT/IFFT運(yùn)算,額外的片上資源將會(huì)被占用。發(fā)明內(nèi)容
      為了加速大點(diǎn)數(shù)FFT的運(yùn)算效率,同時(shí)避免使用專門硬件加速器所帶來的額外硬件開銷,本發(fā)明的目的是提供一種支持FFT加速的SIMD向量處理器。該SIMD向量處理器能夠直接加速FFT運(yùn)算,還可提供和專用硬件加速器加速效率相當(dāng)?shù)腇FT運(yùn)算加速,在保證性能的同時(shí)避免額外的硬件開銷。
      本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的一種支持FFT加速的SIMD向量處理器,其特征在于該處理器包括控制單元、計(jì)算單元、存儲(chǔ)器子系統(tǒng)、存儲(chǔ)交織單元和地址產(chǎn)生單元;所述計(jì)算單元支持各種向量運(yùn)算的快速處理,所述存儲(chǔ)器子系統(tǒng)包括存放操作數(shù)的存儲(chǔ)器組A、存放系數(shù)的存儲(chǔ)器組B和存放運(yùn)算結(jié)果的存儲(chǔ)器組C,且存儲(chǔ)器組A、存儲(chǔ)器組B和存儲(chǔ)器組C內(nèi)的單個(gè)存儲(chǔ)體的位寬為一個(gè)復(fù)數(shù)字,支持4路數(shù)據(jù)并行的復(fù)數(shù)向量運(yùn)算和8路數(shù)據(jù)并行的實(shí)數(shù)向量運(yùn)算;計(jì)算單元、地址產(chǎn)生單元和存儲(chǔ)交織單元均與控制單元連接;地址產(chǎn)生單元根據(jù)運(yùn)算類型、運(yùn)算的數(shù)據(jù)并行度及向量的長(zhǎng)度產(chǎn)生所需的操作數(shù)地址序列、系數(shù)地址序列、結(jié)果地址序列;存儲(chǔ)交織單元與地址產(chǎn)生單元和計(jì)算單元連接,并實(shí)現(xiàn)存儲(chǔ)體的地址映射。
      本發(fā)明中,存儲(chǔ)器組A、存儲(chǔ)器組B和存儲(chǔ)器組C均為4個(gè)存儲(chǔ)體。存儲(chǔ)交織單元實(shí)現(xiàn)存儲(chǔ)器組A、存儲(chǔ)器組B和存儲(chǔ)器組C內(nèi)部4個(gè)存儲(chǔ)體的地址映射,使同時(shí)讀取的4個(gè)操作數(shù)位于4個(gè)不同的存儲(chǔ)體,且同時(shí)寫入的4個(gè)運(yùn)算結(jié)果位于4個(gè)不同的存儲(chǔ)體;通過可編程地址映射方法,支持各種長(zhǎng)度向量的規(guī)則向量運(yùn)算和FFT/IFFT運(yùn)算。
      所述可編程地址映射方法是可通過軟件編程方式設(shè)置向量長(zhǎng)度,對(duì)于不同的向量長(zhǎng)度,地址映射方法也相應(yīng)變化,且在各向量長(zhǎng)度下,均能保證規(guī)則向量運(yùn)算和FFT/IFFT 運(yùn)算無(wú)沖突讀寫。
      計(jì)算單元包括2個(gè)復(fù)數(shù)乘法器和4個(gè)復(fù)數(shù)加法器,支持2路數(shù)據(jù)并行的復(fù)數(shù)乘法、 卷積運(yùn)算,4路數(shù)據(jù)并行的復(fù)數(shù)加減法、累加運(yùn)算,4路數(shù)據(jù)并行的復(fù)數(shù)模方運(yùn)算,4路數(shù)據(jù)并行的FFT/IFFT運(yùn)算,以及8路數(shù)據(jù)并行的實(shí)數(shù)乘法、卷積、加減法、累加運(yùn)算。對(duì)于上述的η路數(shù)據(jù)并行的向量運(yùn)算,平均每個(gè)時(shí)鐘周期處理η個(gè)向量單元(不考慮處理每個(gè)向量前的流水線填充時(shí)間)。其加速效率與專用硬件加速器相當(dāng),且支持可變點(diǎn)數(shù),因此在保障系統(tǒng)計(jì)算效率的同時(shí),節(jié)省了在設(shè)計(jì)中因使用FFT專用硬件加速單元而帶來的巨額片上存儲(chǔ)資源與邏輯資源開銷。
      本發(fā)明中的存儲(chǔ)子系統(tǒng)包括三個(gè)存儲(chǔ)器組,分別存放操作數(shù)、系數(shù)和運(yùn)算結(jié)果,每組存儲(chǔ)器分為4個(gè)存儲(chǔ)體,存儲(chǔ)體的位寬為一個(gè)復(fù)數(shù)字,以支持4路數(shù)據(jù)并行的復(fù)數(shù)向量運(yùn)算和8路數(shù)據(jù)并行的實(shí)數(shù)向量運(yùn)算。地址產(chǎn)生單元,能夠根據(jù)運(yùn)算類型(規(guī)則運(yùn)算、FFT/ IFFT運(yùn)算)、運(yùn)算的數(shù)據(jù)并行度(2、4、8)、向量的長(zhǎng)度等產(chǎn)生所需的操作數(shù)地址序列、系數(shù)地址序列(對(duì)某些運(yùn)算不需要,如累加運(yùn)算和復(fù)數(shù)模方運(yùn)算)、結(jié)果地址序列。
      本發(fā)明能夠直接加速FFT運(yùn)算的SIMD向量處理器,除了能夠加速規(guī)則向量運(yùn)算之外,還可提供和專用硬件加速器加速效率相當(dāng)?shù)腇FT運(yùn)算加速,在保證性能的同時(shí)避免額外的硬件開銷。
      本發(fā)明的有益效果是通過向SIMD向量處理器添加FFT加速指令的方式,取得了和專用硬件加速器相當(dāng)?shù)募铀傩?,而避免了使用專用硬件加速所帶來的額外硬件開銷。 本發(fā)明可以有效地應(yīng)用于具有大量超長(zhǎng)向量運(yùn)算(包括規(guī)則向量運(yùn)算與FFT/IFFT)的實(shí)時(shí)信號(hào)處理系統(tǒng)。


      圖1是本發(fā)明的整體架構(gòu)示意圖;圖2是傳統(tǒng)的radix-2 DIT FFT運(yùn)算數(shù)據(jù)流圖; 圖3是本發(fā)明的radix-2 DIT FFT運(yùn)算數(shù)據(jù)流圖。
      具體實(shí)施方式
      下面結(jié)合附圖對(duì)本發(fā)明支持FFT加速的SIMD向量處理器進(jìn)行詳細(xì)的說明。
      一種支持FFT加速的SIMD向量處理器,見圖1,該處理器包括控制單元、計(jì)算單元、 存儲(chǔ)器子系統(tǒng)、存儲(chǔ)交織單元和地址產(chǎn)生單元。
      計(jì)算單元支持各種向量運(yùn)算的快速處理,計(jì)算單元包括2個(gè)復(fù)數(shù)乘法器和4個(gè)復(fù)數(shù)加法器,支持2路數(shù)據(jù)并行的復(fù)數(shù)乘法、卷積運(yùn)算,4路數(shù)據(jù)并行的復(fù)數(shù)加減法、累加運(yùn)算,4路數(shù)據(jù)并行的復(fù)數(shù)模方運(yùn)算,4路數(shù)據(jù)并行的FFT/IFFT運(yùn)算,以及8路數(shù)據(jù)并行的實(shí)數(shù)乘法、卷積、加減法、累加運(yùn)算。對(duì)于上述的η路數(shù)據(jù)并行的向量運(yùn)算,平均每個(gè)時(shí)鐘周期處理η個(gè)向量單元(不考慮處理每個(gè)向量前的流水線填充時(shí)間)。其加速效率與專用硬件加速器相當(dāng),且支持可變點(diǎn)數(shù),因此在保障系統(tǒng)計(jì)算效率的同時(shí),節(jié)省了在設(shè)計(jì)中因使用FFT專用硬件加速單元而帶來的巨額片上存儲(chǔ)資源與邏輯資源開銷。
      存儲(chǔ)器子系統(tǒng)包括三個(gè)存儲(chǔ)器組,分別為存放操作數(shù)的存儲(chǔ)器組A、存放系數(shù)的存儲(chǔ)器組B和存放運(yùn)算結(jié)果的存儲(chǔ)器組C,且每個(gè)存儲(chǔ)器組內(nèi)均為4個(gè)存儲(chǔ)體。單個(gè)存儲(chǔ)體的位寬為一個(gè)復(fù)數(shù)字,支持4路數(shù)據(jù)并行的復(fù)數(shù)向量運(yùn)算和8路數(shù)據(jù)并行的實(shí)數(shù)向量運(yùn)算, 使同時(shí)讀取的4個(gè)操作數(shù)位于4個(gè)不同的存儲(chǔ)體,且同時(shí)寫入的4個(gè)運(yùn)算結(jié)果位于4個(gè)不同的存儲(chǔ)體;通過可編程地址映射方法,支持各種長(zhǎng)度向量的規(guī)則向量運(yùn)算和FFT/IFFT運(yùn)算。計(jì)算單元、地址產(chǎn)生單元和存儲(chǔ)交織單元均與控制單元連接。
      地址產(chǎn)生單元根據(jù)運(yùn)算類型、運(yùn)算的數(shù)據(jù)并行度及向量的長(zhǎng)度產(chǎn)生所需的操作數(shù)地址序列、系數(shù)地址序列、結(jié)果地址序列;存儲(chǔ)交織單元與地址產(chǎn)生單元和計(jì)算單元連接, 并實(shí)現(xiàn)存儲(chǔ)體的地址映射。存儲(chǔ)交織單元與三個(gè)存儲(chǔ)器組相適配,也包括存儲(chǔ)交織單元A、 存儲(chǔ)交織單元BT和存儲(chǔ)交織單元C三個(gè)部分。
      可編程地址映射方法是可通過軟件編程方式設(shè)置向量長(zhǎng)度,對(duì)于不同的向量長(zhǎng)度,地址映射方法也相應(yīng)變化,且在各向量長(zhǎng)度下,均能保證規(guī)則向量運(yùn)算和FFT/IFFT運(yùn)算無(wú)沖突讀寫。
      如前所述,使支持規(guī)則向量運(yùn)算的SIMD處理器支持FFT直接加速的最大障礙在于地址沖突。在FFT專用硬件加速器設(shè)計(jì)中同樣會(huì)面臨這個(gè)問題,并已經(jīng)有很成熟的解決方法,一般可以通過靈活的設(shè)計(jì)存儲(chǔ)系統(tǒng)和地址映射來避免。但是,在這里問題就更復(fù)雜了, 因?yàn)樾枰谔砑覨FT加速指令之后仍能支持其他規(guī)則向量運(yùn)算的加速。
      本發(fā)明應(yīng)用新的radix-2 DIT FFT運(yùn)算數(shù)據(jù)流圖,并提出了一種地址映射方法同時(shí)支持規(guī)則向量運(yùn)算與FFT/IFFT的無(wú)沖突存儲(chǔ)器存取,而且其可編程性支持各種長(zhǎng)度向量的運(yùn)算。
      圖2是傳統(tǒng)的radix-2 DIT FFT運(yùn)算數(shù)據(jù)流圖(輸入數(shù)據(jù)已經(jīng)進(jìn)行過地址的比特位反轉(zhuǎn))?;谠摂?shù)據(jù)流圖進(jìn)行計(jì)算時(shí),操作數(shù)的地址序列與結(jié)果的地址序列是相同的,但對(duì)于每一級(jí)運(yùn)算地址序列都是不同的,見表1。
      表1每個(gè)操作數(shù)/結(jié)果數(shù)據(jù)通道的地址序列(對(duì)于長(zhǎng)度為8的FFT)
      權(quán)利要求
      1.一種支持FFT加速的SIMD向量處理器,其特征在于該處理器包括控制單元、計(jì)算單元、存儲(chǔ)器子系統(tǒng)、存儲(chǔ)交織單元和地址產(chǎn)生單元;所述計(jì)算單元支持各種向量運(yùn)算的快速處理,所述存儲(chǔ)器子系統(tǒng)包括存放操作數(shù)的存儲(chǔ)器組A、存放系數(shù)的存儲(chǔ)器組B和存放運(yùn)算結(jié)果的存儲(chǔ)器組C,且存儲(chǔ)器組A、存儲(chǔ)器組B和存儲(chǔ)器組C內(nèi)的單個(gè)存儲(chǔ)體的位寬為一個(gè)復(fù)數(shù)字,支持4路數(shù)據(jù)并行的復(fù)數(shù)向量運(yùn)算和8路數(shù)據(jù)并行的實(shí)數(shù)向量運(yùn)算;計(jì)算單元、 地址產(chǎn)生單元和存儲(chǔ)交織單元均與控制單元連接;地址產(chǎn)生單元根據(jù)運(yùn)算類型、運(yùn)算的數(shù)據(jù)并行度及向量的長(zhǎng)度產(chǎn)生所需的操作數(shù)地址序列、系數(shù)地址序列、結(jié)果地址序列;存儲(chǔ)交織單元與地址產(chǎn)生單元和計(jì)算單元連接,并實(shí)現(xiàn)存儲(chǔ)體的地址映射。
      2.根據(jù)權(quán)利要求1所述的支持FFT加速的SIMD向量處理器,其特征在于存儲(chǔ)器組A、 存儲(chǔ)器組B和存儲(chǔ)器組C均為4個(gè)存儲(chǔ)體。
      3.根據(jù)權(quán)利要求2所述的支持FFT加速的SIMD向量處理器,其特征在于存儲(chǔ)交織單元實(shí)現(xiàn)存儲(chǔ)器組A、存儲(chǔ)器組B和存儲(chǔ)器組C內(nèi)部4個(gè)存儲(chǔ)體的地址映射,使同時(shí)讀取的4 個(gè)操作數(shù)位于4個(gè)不同的存儲(chǔ)體,且同時(shí)寫入的4個(gè)運(yùn)算結(jié)果位于4個(gè)不同的存儲(chǔ)體;通過可編程地址映射方法,支持各種長(zhǎng)度向量的規(guī)則向量運(yùn)算和FFT/IFFT運(yùn)算。
      4.根據(jù)權(quán)利要求3所述的支持FFT加速的SIMD向量處理器,其特征在于所述可編程地址映射方法是可通過軟件編程方式設(shè)置向量長(zhǎng)度,對(duì)于不同的向量長(zhǎng)度,地址映射方法也相應(yīng)變化,且在各向量長(zhǎng)度下,均能保證規(guī)則向量運(yùn)算和FFT/IFFT運(yùn)算無(wú)沖突讀寫。
      5.根據(jù)權(quán)利要求1所述的支持FFT加速的SIMD向量處理器,其特征在于計(jì)算單元包括2個(gè)復(fù)數(shù)乘法器和4個(gè)復(fù)數(shù)加法器,支持2路數(shù)據(jù)并行的復(fù)數(shù)乘法、卷積運(yùn)算,4路數(shù)據(jù)并行的復(fù)數(shù)加減法、累加運(yùn)算,4路數(shù)據(jù)并行的復(fù)數(shù)模方運(yùn)算,4路數(shù)據(jù)并行的FFT/IFFT運(yùn)算, 以及8路數(shù)據(jù)并行的實(shí)數(shù)乘法、卷積、加減法、累加運(yùn)算。
      全文摘要
      本發(fā)明公開了一種支持FFT加速的SIMD向量處理器。包括控制單元、計(jì)算單元、存儲(chǔ)子系統(tǒng)、存儲(chǔ)交織單元和地址產(chǎn)生單元計(jì)算單元支持各種向量運(yùn)算的快速處理;存儲(chǔ)器子系統(tǒng)包括三個(gè)存儲(chǔ)器組,每個(gè)存儲(chǔ)器組包括四個(gè)存儲(chǔ)體且存儲(chǔ)器組內(nèi)的單個(gè)存儲(chǔ)體的位寬為一個(gè)復(fù)數(shù)字,支持4路數(shù)據(jù)并行的復(fù)數(shù)向量運(yùn)算和8路數(shù)據(jù)并行的實(shí)數(shù)向量運(yùn)算;計(jì)算單元、地址產(chǎn)生單元和存儲(chǔ)交織單元均與控制單元連接;地址產(chǎn)生單元產(chǎn)生所需的操作數(shù)地址序列、系數(shù)地址序列、結(jié)果地址序列;存儲(chǔ)交織單元與地址產(chǎn)生單元和計(jì)算單元連接,并實(shí)現(xiàn)存儲(chǔ)體的地址映射。本發(fā)明對(duì)FFT/IFFT運(yùn)算的加速效率和專用硬件加速器相當(dāng),卻避免了使用專用硬件加速器所帶來的巨大的額外開銷,適用于具有大量長(zhǎng)向量運(yùn)算的實(shí)時(shí)信號(hào)處理系統(tǒng)中。
      文檔編號(hào)G06F9/34GK102495721SQ20111039371
      公開日2012年6月13日 申請(qǐng)日期2011年12月2日 優(yōu)先權(quán)日2011年12月2日
      發(fā)明者孫敏敏, 李麗, 李偉, 沙金, 潘紅兵, 王佳文, 鄭維山 申請(qǐng)人:南京大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1