新四季網

一種用於FFT處理器的數據無衝突存取方法與流程

2023-06-06 00:48:16 2


本發明涉及FFT處理器的存取方法技術領域,特別是涉及一種用於FFT處理器的數據無衝突存取方法。



背景技術:

FFT是離散傅立葉變換(DFT)的一種快速實現方法,可以將數據在時域和頻域之間進行轉換。由於FFT是計算密集型算法,通常採用專用硬體進行FFT運算處理。基於存儲的(memory-based)架構是一種常用的FFT專用硬體架構。基於存儲的FFT架構,即,FFT處理器,其至少包括一個存儲器、一組處理單元和一個控制單元。

FFT處理器可以採用數據無衝突算法同時存取多個數據用於處理單元做蝶形運算,存儲器還需要同時存儲多個數據用於保存當前蝶形運算的結果。為了解決同時存取多個數據時的數據衝突問題,需要一種用於FFT處理器的數據無衝突存取方法以保證需要的數據能夠並行無衝突存取。

通常基於存儲架構的FFT處理器的處理單元支持較大基的單蝶形單元運算和較小基的多蝶形單元運算,比如處理單元同時支持一個基四和兩個基二運算。但是大部分現有的數據無衝突存取算法只能支持特定的FFT處理器中的處理單元,有些數據無衝突存取算法無法同時支持較大基的單蝶形單元運算和較小基的多蝶形單元運算。



技術實現要素:

(一)要解決的技術問題

本發明的目的是提供一種用於FFT處理器的數據無衝突存取方法,以解決FFT處理器同時支持較大基的單蝶形單元運算和較小基的多蝶形單元運算時的數據衝突問題。

(二)技術方案

為了解決上述技術問題,本發明提供一種用於FFT處理器的數據無衝突存取方法,包括:基於數據堆計算公式以獲得待存取數據所在的堆;計算所述待存取數據在所述堆中的地址,從而確定出所述待存取數據在FFT處理器的存儲器組中的地址。

其中,基於FFT處理器的並行度以及FFT處理器內的最大基構建第一平衡方程,所述第一平衡方程為

P=Nmax=2L,

其中,P為FFT處理器的並行度,Nmax為FFT處理器內的最大基,L為2的冪指數。

其中,將FFT運算的總點數N總按照混合基算法分解為m級蝶形運算,每一級蝶形運算的點數為N1,N2........Nm,待存取數據在每一級蝶形運算中可由n1,n2.......nm來確定,其中,

ni(i=1,2,3····m)分別代表待存取數據在第i級的蝶形運算中的排序。

其中,所述數據堆計算公式為

其中,bank為待存取數據在存儲器組中的堆,ai(i=1,2,3·····m)為ni或ni的位倒序,modNmax為對Nmax進行取模運算。

其中,當FFT運算的總點數N總按照混合基算法分解為m級蝶形運算時,若m≥2,則至少有一個ai滿足

其中,為ni的位倒序,ni為待存取數據在第i級蝶形運算的排序。

其中,在計算所述待存取數據在所述堆中的地址,從而確定出所述待存取數據在FFT處理器的存儲器組中的地址的步驟中,當FFT處理器中的總點數N總小於等於Nmax時,所述待存取數據在所述堆中的存儲地址都相同,即,addr=0;當FFT處理器中的總點數N總大於Nmax時, 所述待存取數據在所述堆中的存儲地址有兩種選擇。

其中,若在m級蝶形運算中有一個級為j級,j級滿足

1≤j<m,

N0×N1×…×Nj≤Nmax,

N0×N1×…×Nj+1>Nmax,

則所述待存取數據的地址方程為

addr=Nm…Nj+2n′j+1+…+Nmnm-1+nm,

其中,addr為待存取數據的地址,m代表蝶形運算的級,Nm為第m級蝶形運算的點數,nm為待存取數據在第m級蝶形運算中的排序。

其中,n』j+1為nj+1的高位比特,>>為右移符號,為對向上取整。

其中,若在m級蝶形運算中有一個級為j級且j級滿足

1<j≤m,

Nj…Nm≤Nmax,

Nj-1…Nm>Nmax,

則所述待存取數據的地址方程為

addr=Nj-1…N2n1+…+Nj-1nj-2+nj-1,

其中,N′j-1為Nj-1的高位比特,n′j-1為nj-1的高位比特。

其中,

其中,N′j-1為nj-1的高位比特,Nj-1為第j-1級蝶形運算的點數,>> 為右移符號,Nmax為FFT處理器內的最大基,n』j-1為nj-1的高位比特,nj-1為待存取數據在第j-1級蝶形運算中的排序,Nm為第m級蝶形運算的點數。Nj為第j級蝶形運算的點數。

(三)有益效果

本發明提供的用於FFT處理器的數據無衝突存取方法,與現有技術相比,具有如下優點:

該方法支持較大基的單蝶形單元運算和較小基的多蝶形單元運算,可以充分利用FFT處理器的硬體並行度,從而能夠避免在同時存取多個待存取數據時發生數據衝突的問題。

附圖說明

圖1為本申請的實施例的用於FFT處理器的數據無衝突存取方法的步驟流程示意圖;

圖2為本申請的實施例的用於FFT處理器的數據無衝突存取方法的位倒序示意圖。

具體實施方式

下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。以下實例用於說明本發明,但不用來限制本發明的範圍。

如圖1所示,圖1示意性地顯示了該數據無衝突存取方法的步驟流程示意圖。該方法包括:

步驟S410,基於數據堆計算公式以獲得待存取數據所在的堆。

步驟S420,計算所述待存取數據在所述堆中的地址,從而確定出所述待存取數據在FFT處理器的存儲器組中的地址。

基於存儲的FFT處理器的硬體數據用於無線通信系統(4G和WLAN),其並行度為16,可以最多支持同時處理一個基16、兩個基8、兩個基5、四個基4、四個基3或八個基2蝶形運算。

FFT處理器可以支持8至8192點的2的整數冪FFT運算和12 至2400點的非2的整數冪DFT運算(可以用基2、基3、基5完成運算)。該FFT處理器的存儲器包含一個或多個存儲器組,每個寄存器組包含P個堆。在每一級蝶形運算中,存儲器從一個確定的存儲器組中讀取待存取數據,並將該待存取數據送入處理單元,然後,將處理單元的結果保存到同一個或另一個確定的存儲器組中。待存取數據在存儲器組中的地址由其所在的堆和其在堆中的地址唯一確定。由此可知,若想確定出待存取數據在存儲器組中的地址,則首先應當確定出待存取數據在存儲器組中的堆,即,通過步驟S410便可獲得。然後,確定出該待存取數據在堆中的地址,即通過步驟S420便可獲得。

該方法支持較大基的單蝶形單元運算和較小基的多蝶形單元運算,可以充分利用FFT處理器的硬體並行度,從而能夠避免在同時存取多個待存取數據時發生數據衝突的問題。

為優化上述技術方案中的步驟S410,基於FFT處理器的並行度以及FFT處理器內的總點數構建第一平衡方程,所述第一平衡方程為

P=Nmax=2L,

其中,P為FFT處理器的並行度,Nmax為FFT處理器內的最大基,L為2的冪指數。

在一個實施例中,將FFT運算的總點數N總按照混合基算法分解為m級蝶形運算,每一級蝶形運算的點數為N1,N2........Nm,待存取數據在每一級蝶形運算中可由n1,n2.......nm來確定,其中,

ni(i=1,2,3·····m)分別代表待存取數據在第i級的蝶形運算中的排序。

為優化上述技術方案中的步驟S410,在上述技術方案的基礎上,該數據堆計算公式為

其中,bank為待存取數據在存儲器組中的堆,ai(i=1,2,3·····m) 為ni或ni的位倒序,modNmax為對Nmax進行取模運算。

ni(i=1,2,…m)的數據位寬為L比特,不滿L比特的通過高位補零達到L比特。

需要說明的是,位倒序是將數據按照比特位倒序輸出,結果的最高位是位倒序前的最低位,結果的次高位是位倒序的次低位,依次類推。

在一個實施例中,當FFT運算的總點數N總按照混合基算法分解為m級蝶形運算時,若m≥2,則至少有一個aj滿足

其中,ai(i=1,2,3·····m)為ni的位倒序,ni為待存取數據在每一級蝶形運算中的排序。

在一個實施例中,在計算所述待存取數據在所述堆中的地址,從而確定出所述待存取數據在FFT處理器的存儲器組中的地址的步驟中,當FFT處理器中的總點數N總小於等於Nmax時,所述待存取數據在所述堆中的存儲地址都相同,即,addr=0。

在一個具體的實施例中,當FFT運算的總點數N總小於16時,所述待存取數據在所述堆中的存儲地址都相同,即,addr=0。

在另一個實施例中,在計算所述待存取數據在所述堆中的地址,從而確定出所述待存取數據在FFT處理器的存儲器組中的地址的步驟中,當FFT處理器中的總點數N總大於Nmax時,所述待存取數據在所述堆中的存儲地址有兩種選擇。

若在m級蝶形運算中有一個級為j級且j級滿足

1≤j<m,

N0×N1×…×Nj≤Nmax,

N0×N1×…×Nj+1>Nmax,

則所述待存取數據的地址方程為

addr=Nm…Nj+2n′j+1+…+Nmnm-1+nm,

其中,m代表蝶形運算的級,addr為待存取數據的地址,Nm為第m級蝶形運算的點數,nm代表待存取數據在第m級蝶形運算中排在第nm個數。

在一個具體的實施例中,當FFT處理器中的總點數N總大於16時,若在m級蝶形運算中有一個級為j級且j級滿足

1≤j<m,

N0…Nj≤16,

N0…Nj+1>16,

其中,n』j+1為nj+1的高位比特,>>為右移符號,為對向上取整。

在第i個階段的運算中,控制單元需要每次從存儲器中存取K個數據,這K個數據組成一個數據塊。每個周期控制單元從存儲器中讀取一個數據塊到運算單元,並將運算單元得出的結果數據塊存入存儲器中。

如果,Ni=16則K=16。每個數據塊包含一個基16蝶形的數據。每個數據塊有ni=(0,1,…,15)和相同的nk(K不等於i)。

如果Ni≠16,則每個數據塊中包含多個蝶形單元的待存取數據。相同的蝶形單元中有ni=(0,1,…,Ni-1),每個數據塊中不同的蝶形單元有不同的nj和相同的nk(K不等於i或j)。其中j的取值為

以216點FFT為例。假設

待存取數據的存儲公式為:

bank=(n1+n2+n3+n4)mod16,

addr=9n,2+3n3+n4,

其中,

在數據輸入階段,數據並行度為9,同時輸入的數據有相同的n1,n2和n3=(0,1,2),n4=(0,1,2)。

在第一個階段的運算中,數據塊中相同的基8蝶形單元中有n1=(0,1,…,7),不同的基8單元有n2=(0,1)或n2=(2),分別對應同時進行兩個或一個基8運算。

在第二個階段的運算中,數據塊中相同的基3蝶形單元中有n2=(0,1,2),不同的基3單元有n1=(0,1,2,3)或n1=(4,5,6,7),對應同時進行四個基3運算。

在第三個階段的運算中,數據塊中相同的基3蝶形單元中有n3=(0,1,2),不同的基3單元有n1=(0,1,2,3)或n1=(4,5,6,7),對應同時進行四個基3運算。

在第四個階段的運算中,數據塊中相同的基3蝶形單元中有n4=(0,1,2),不同的基3單元有n3=(0,1,2),對應同時進行三個基3運算。

在數據輸出階段,數據並行度為8,同時輸出的數據有相同的n2,n3,n4和n1=(0,1,2,3,4,5,6,7)。

若在m級蝶形運算中有一個級為j級且j級滿足

1<j≤m,

Nj…Nm≤Nmax,

Nj-1…Nm>Nmax,

則所述待存取數據的地址方程為

addr=N′j-1…N2n1+…+N′j-1nj-2+n′j-1,

其中,N′j-1為Nj-1的高位比特,n′j-1為nj-1的高位比特。

在一個實施例中,

其中,N′j-1為Nj-1的高位比特,Nj-1為第j-1級蝶形運算的點數,>>為右移符號,Nmax為FFT處理器內的總點數,n』j+1為nj-1的高位比特,nj-1為待存取數據在第j-1級蝶形運算中的排序,Nm為第m級蝶形運算的點數。Nj為第j級蝶形運算的點數。

綜上所述,該方法支持較大基的單蝶形單元運算和較小基的多蝶形單元運算,可以充分利用FFT處理器的硬體並行度,從而能夠避免在同時存取多個待存取數據時發生數據衝突的問題。

以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀