用于提高平衡吞吐量數(shù)據(jù)路徑架構(gòu)上的fir操作性能的新穎數(shù)據(jù)訪問方法
【專利摘要】本發(fā)明的實(shí)施例公開了一種用于提高平衡吞吐量數(shù)據(jù)路徑架構(gòu)上的FIR操作性能的新穎數(shù)據(jù)訪問方法。公開一種用于通過使用修改型平衡數(shù)據(jù)結(jié)構(gòu)和訪問架構(gòu)來實(shí)現(xiàn)涉及到乘法累加(MAC)操作的數(shù)字信號處理操作的裝置和方法。這一架構(gòu)維持如下數(shù)據(jù)路徑,該數(shù)據(jù)路徑連接一個地址生成單元、一個寄存器文件和一個MAC執(zhí)行單元。寄存器文件具有單獨(dú)的寄存器的分級分組組織,該組織減少存儲器未對準(zhǔn)所引起的冒泡周期。這一架構(gòu)使用并行執(zhí)行并且可以每個周期實(shí)現(xiàn)兩個或者更多個MAC操作。
【專利說明】用于提高平衡吞吐量數(shù)據(jù)路徑架構(gòu)上的FIR操作性能的新穎數(shù)據(jù)訪問方法
[0001]相關(guān)串請信息
[0002]本申請涉及[代理案號ll-BJ_0647]“Modified Balanced Throughput Data-PathArchitecture for Special Correlation Applications”,該申請?jiān)诜煽稍试S的最大程度上通過引用而全文并入本文。
【技術(shù)領(lǐng)域】
[0003]這里描述的本發(fā)明涉及用于實(shí)現(xiàn)數(shù)字信號處理(DSP)操作的系統(tǒng)架構(gòu)、裝置和方法。更具體而言但是并非排它地,本發(fā)明涉及用于實(shí)現(xiàn)涉及到乘法累加(MAC)計(jì)算的DSP操作(比如有限沖激響應(yīng)(FIR)濾波、有限傅里葉變換、卷積、相關(guān)和其它DSP操作)的系統(tǒng)、裝置和方法。其它科學(xué)領(lǐng)域也使用MAC操作,例如物理科學(xué)的數(shù)值仿真。
【背景技術(shù)】
[0004]在信號處理(尤其是數(shù)字信號處理)領(lǐng)域中,許多必需操作是有限沖激響應(yīng)(FIR)濾波器(也稱為加權(quán)平均)的形式。在這一公知操作中,值的有限集合(也稱為濾波器系數(shù)或者抽頭加權(quán)值)h(k) (k = 0,...,N-1)和輸入數(shù)據(jù)序列的值x(k)用來按照規(guī)則y(n) = EShik)x(n — &)創(chuàng)建輸出序列值y (η)。由于每次將η遞增I都將輸入值的所選集合移位I ;所以這一過程也稱為滑動窗求和。為了計(jì)算每個y(n),首先將系數(shù)和輸入值的配對相乘,然后相加求和,這稱為乘法累加(MAC)的過程。
[0005]FIR操作在信號處理中廣泛用來選擇所需頻率、去除噪聲并且檢測雷達(dá)信號以及其它應(yīng)用。如等式的形式所示,F(xiàn)IR濾波操作很好地適合在計(jì)算機(jī)硬件上實(shí)現(xiàn)。在一個這樣的實(shí)現(xiàn)方式中,向?qū)S么鎯ζ麝嚵兄屑虞d濾波器系數(shù),然后對于每個值y(n)而言,向第二存儲器陣列中加載輸入的對應(yīng)部分,并且對經(jīng)對準(zhǔn)的系數(shù)和輸入逐對執(zhí)行MAC操作。
[0006]盡管可以并且經(jīng)常是通過軟件在通用計(jì)算機(jī)上完成實(shí)現(xiàn)FIR操作,但是許多信號處理應(yīng)用需要FIR操作的很快計(jì)算。這些情況經(jīng)常需要在專用數(shù)字硬件(比如數(shù)字信號處理器(DSP))上、在可重新配置平臺(比如現(xiàn)場可編程門陣列(FPGA))上、或者在專用集成電路(ASIC)上的專用實(shí)現(xiàn)。在這一水平上,硬件實(shí)現(xiàn)方式的具體細(xì)節(jié)(比如如何代表并且內(nèi)部存儲值以及它們的數(shù)據(jù)類型、數(shù)據(jù)總線大小等)對于獲得很高速FIR操作而言變得重要。高效硬件實(shí)施的一個目標(biāo)是讓MAC操作出現(xiàn)于每個周期。實(shí)現(xiàn)甚至更高M(jìn)AC速率尤其是值得的。
[0007]在圖1中示出了本領(lǐng)域已知的一種用于實(shí)現(xiàn)快速FIR操作的一般方法和系統(tǒng)。信號數(shù)據(jù)或者系數(shù)經(jīng)過地址生成器(AG)從系統(tǒng)的存儲器移動并且存儲于系統(tǒng)的快速可訪問存儲器位置(稱為寄存器文件(Reg文件))。在每個周期中,從Reg文件移動兩個值進(jìn)入MAC單元,并且計(jì)算它們的乘積、求和成累加值并且回寫到累加寄存器位置。
[0008]對于進(jìn)行中的正常操作而言,必須有向寄存器文件中讀取的數(shù)據(jù)量與MAC單元消耗的數(shù)據(jù)量的平衡。另外,進(jìn)入MAC的數(shù)據(jù)值必須完整;如果訪問對于MAC而言必需的數(shù)據(jù)值有延遲,則MAC必須等待一個(或者多個)周期直至它獲得用于乘法和累加計(jì)算的完整數(shù)據(jù)值。這樣的暫停稱為冒泡周期。它代表系統(tǒng)的整體操作的效率低下。防止這樣的低效率是本發(fā)明的一個總體目標(biāo)。本發(fā)明的另一目標(biāo)是實(shí)現(xiàn)每個周期的多于一個MAC操作的速率。
【發(fā)明內(nèi)容】
[0009]這里公開的本發(fā)明實(shí)施例實(shí)現(xiàn)了新形式的平衡吞吐量數(shù)據(jù)路徑架構(gòu),該形式可以克服數(shù)據(jù)存儲器未對準(zhǔn)的問題,并且可以被推廣成產(chǎn)生每個周期多于一個的MAC操作的實(shí)現(xiàn)方式。在圖3中示出了新架構(gòu)。數(shù)據(jù)(包括用于MAC操作的輸入和系數(shù))存儲于系統(tǒng)的大型存儲器儲存器中,該大型存儲器儲存器常為隨機(jī)存取存儲器并且這里稱為系統(tǒng)存儲器。由于需要來自系統(tǒng)存儲器的各種值用于FIR計(jì)算,所以AG將值從系統(tǒng)存儲器移入架構(gòu)的寄存器存儲器文件系統(tǒng),該系統(tǒng)包括MAC執(zhí)行單元快速可訪問的存儲器單元。
[0010]本發(fā)明一個示例實(shí)施例的一個要素是將分級結(jié)構(gòu)用于寄存器存儲器文件系統(tǒng)。這一特征(稱為分組寄存器文件(GRF)系統(tǒng))將寄存器組織成三級。第一級是單獨(dú)的寄存器位置的基礎(chǔ)級。第二級將寄存器組織成寄存器配對。第三級將配對寄存器組織成分組寄存器,每個分組寄存器包括兩個配對寄存器并且因此包括四個單獨(dú)的寄存器。
[0011]GRF系統(tǒng)的分級和引用方案由實(shí)施例的下一特征(未對準(zhǔn)地址布局(MAP)系統(tǒng))使用,該特征由地址生成(AG)單元的修改版本實(shí)現(xiàn)。修改型AG按照下文詳述的兩個具體過程從系統(tǒng)存儲器向寄存器中加載值,以便完全填充每個單個分組寄存器。另外,具體加載順序幫助整個系統(tǒng)每個周期實(shí)現(xiàn)一個或者多于一個的MAC。
[0012]示例實(shí)施例的第三特征是在MAC執(zhí)行單元中使用并行處理。由于待對多對數(shù)據(jù)執(zhí)行的操作是乘法累加,所以MAC被構(gòu)造成接收多對數(shù)據(jù)和系數(shù)并且在每個周期同時執(zhí)行操作是有利的。用于這一處理形式的術(shù)語是單指令多數(shù)據(jù)(SMD)。MAC執(zhí)行單元無論它運(yùn)用的并行量如何都在乘法累加過程之后向寄存器存儲器系統(tǒng)回寫MAC操作的值。
[0013]如下文將詳述的那樣,本發(fā)明的這些特征的組合允許系統(tǒng)吞吐量一去往和來自寄存器和存儲器一保持平衡。另外可以通過使用MAP和修改型AG來克服由于存儲器未對準(zhǔn)所致的冒泡周期。最后可以實(shí)現(xiàn)更高M(jìn)AC速率。
[0014]根據(jù)對如附圖中所示本發(fā)明實(shí)施例的以下更具體描述將清楚本發(fā)明的前述和其它特征、效用和優(yōu)點(diǎn)。
【專利附圖】
【附圖說明】
[0015]具體描述參照附圖。在圖中,參考數(shù)字的兩個最右數(shù)位左邊的數(shù)位標(biāo)識該參考數(shù)字首次出現(xiàn)的圖。相同參考數(shù)字在所有附圖中用來引用相似特征和部件。
[0016]圖1示出了現(xiàn)有技術(shù)的平衡吞吐量數(shù)據(jù)路徑架構(gòu)。
[0017]圖2示出了現(xiàn)有技術(shù)的地址生成器(AG)的內(nèi)部細(xì)節(jié)和它如何訪問存儲器。
[0018]圖3示出了本發(fā)明對現(xiàn)有技術(shù)的平衡吞吐量數(shù)據(jù)路徑架構(gòu)的修改。
[0019]圖4示出了本發(fā)明中的用于AG的修改形式。
[0020]圖5示出了本發(fā)明的分組寄存器文件組織方案。
[0021]圖6示出了在對準(zhǔn)存儲器布局之下向分組寄存器中加載數(shù)據(jù)的兩階段過程。[0022]圖7示出了一個分組寄存器(共計(jì)四個寄存器)和來自存儲器的值的未對準(zhǔn)地址布局而未對準(zhǔn)地址對準(zhǔn)至分組寄存器的中間(在配對寄存器prl與prO之間)。
[0023]圖8示出了使用分組和未對準(zhǔn)地址布局過程的右手模式的、數(shù)據(jù)值A(chǔ)和B從存儲器向分組寄存器g0 (共計(jì)四個寄存器)中的示例連續(xù)數(shù)據(jù)加載操作的一個步驟。
[0024]圖9示出了使用分組和未對準(zhǔn)地址布局的左手模式的、現(xiàn)在為數(shù)據(jù)值C和D從存儲器向相同分組寄存器g中的示例連續(xù)數(shù)據(jù)加載操作的第二步驟 。
【具體實(shí)施方式】
[0025]這里列舉常用縮寫詞:
[0026]AG 地址生成器
[0027]ASIC 專用集成電路
[0028]DSP 數(shù)字信號處理器(或者處理)
[0029]EX 執(zhí)行單元
[0030]FIR 有限沖激響應(yīng)
[0031]FPGA 現(xiàn)場可編程門陣列
[0032]GR 分組寄存器
[0033]MAC 乘法累加
[0034]MAP 錯位地址系統(tǒng)
[0035]PR 配對寄存器
[0036]RAM 隨機(jī)存取存儲器
[0037]SIMD 單指令多數(shù)據(jù)
[0038]在本文獻(xiàn)中,詞語“示例性”用來意味著“用作示例、實(shí)例或者示出而并未解釋為限制”。這里描述為“示例性”的本發(fā)明主題內(nèi)容的任何實(shí)施例或者實(shí)現(xiàn)方式并不必然解釋為比其它實(shí)施例優(yōu)選或者有利。
[0039]公知的是數(shù)字信號處理的許多操作(具體為FIR濾波器)使用滑動窗型操作,在該操作中通過將輸入集合移位輸入值與系數(shù)或者抽頭權(quán)值逐對相乘的求和來創(chuàng)建值的輸出集合。例如FIR濾波器具有形式y(tǒng)(n)=fc),并且有限傅里葉變換是
?W 其中對于需要快速計(jì)算這樣的公式的應(yīng)用而言,
,? O
清楚的是必須迅速執(zhí)行乘法和累加操作。本發(fā)明這里公開用于快速實(shí)現(xiàn)這樣的MAC操作的各種實(shí)施例。
[0040]在圖1中示出了一種用于在數(shù)字電路中實(shí)施FIR濾波的已知架構(gòu),并且稱之為平衡吞吐量數(shù)據(jù)路徑架構(gòu)。它可以在專用DSP芯片、FPGA或者ASIC上實(shí)現(xiàn)。它包括四個主要要素:大型系統(tǒng)存儲器101、地址生成器AG 103、寄存器文件104(Reg文件)和MAC執(zhí)行單元105。系統(tǒng)存儲器經(jīng)常包括隨機(jī)存取存儲器并且用來存儲大量輸入和輸出數(shù)據(jù)值,并且如果必需則還存儲用于FIR應(yīng)用的濾波器系數(shù)。Reg文件單元包括稱為寄存器的存儲器位置陣列,這些寄存器通常讓系統(tǒng)的處理部件更快訪問。AG是經(jīng)常在電路中實(shí)現(xiàn)的尋址系統(tǒng),該系統(tǒng)負(fù)責(zé)在系統(tǒng)存儲器與Reg文件之間移動所需多條數(shù)據(jù)。AG通過數(shù)據(jù)總線102接收值并且向系統(tǒng)存儲器寫入值。最后,MAC單元105包括用于將兩個值相乘并且將該乘積與累加值相加的必需電路。累加值A(chǔ)ccum在存儲于Reg文件中之時可以在字節(jié)大小上大于數(shù)據(jù)或者系數(shù)D/C的大小以便防止算術(shù)溢出的問題。如在本領(lǐng)域中所知的那樣,MAC單元現(xiàn)在具有在一個周期中執(zhí)行MAC操作的能力。
[0041]在理想操作條件(其中目標(biāo)是獲得在每個周期中出現(xiàn)I個MAC操作)之下,系統(tǒng)必須從系統(tǒng)存儲器向Reg文件中移動與它從Reg文件向MAC移動的數(shù)據(jù)量相同的數(shù)據(jù)量,并且移回至累加寄存器位置。這是為了防止Reg文件的溢出并且保證完全利用MAC執(zhí)行單元而需要的數(shù)據(jù)吞吐量平衡。
[0042]在這一已知架構(gòu)中,Reg文件可以具有三個讀取/兩個寫入端口的結(jié)構(gòu),從而在每個周期中將兩個數(shù)據(jù)和/或系數(shù)值(圖1中的D/C)與累加的當(dāng)前值一起從Reg文件移入MAC單元以用于MAC操作。同時,AG通過一個寫入端口 106將兩個新數(shù)據(jù)或者系數(shù)值從系統(tǒng)存儲器移入Reg文件中,并且在MAC操作結(jié)束時,MAC執(zhí)行單元通過Reg文件的另一寫入端口將更新的累加值移回至累加值源于的Reg文件位置。
[0043]為了這一架構(gòu)理想地工作,必須在一個周期中從系統(tǒng)存儲器移動將必須訪問的來自系統(tǒng)存儲器的兩個新數(shù)據(jù)或者系數(shù)值。另外,AG使用的數(shù)據(jù)存儲器地址必須與存儲器的存儲器塊對準(zhǔn),從而可以在一個周期中通過數(shù)據(jù)總線移動兩個數(shù)據(jù)值。
[0044]然而如果完整配對的系數(shù)和/或數(shù)據(jù)值的存儲器地址未與系統(tǒng)存儲器的塊對準(zhǔn)(即地址指向在系統(tǒng)存儲器訪問塊的邊界之間的字節(jié)),則在一個周期中可以通過總線移動所需配對的僅一部分,并且系統(tǒng)將需要等待至下一周期以完成數(shù)據(jù)移動。這稱為存儲器未對準(zhǔn);它在MAC單元中需要冒泡周期,從而完整配對的值可以移入Reg文件位置。
[0045]一種處置存儲器未對準(zhǔn)的已知方式是使AG加倍并且讓系統(tǒng)存儲器具有雙地址端口和雙值輸出端口這兩者。這在圖2中示出。在跨越存儲器塊邊界存儲數(shù)據(jù)和/或系數(shù)值的情況下,然后為了訪問它,AG將需要生成兩個地址(開始地址201和遞增器單元202生成的遞增地址)。但是這將要求兩個地址端口在系統(tǒng)存儲器上可用。此外,系統(tǒng)存儲器將需要兩個端口,通過這兩個端口導(dǎo)出包含值的存儲器塊。在AG內(nèi),選擇器和組合器單元203將組裝數(shù)據(jù)值并且將它移向Reg文件。然而在功能上,這一方式需要更多電路面積和功率用于在數(shù)字硬件中實(shí)施。
[0046]圖3中所示本發(fā)明一個實(shí)施例公開了一種用于實(shí)現(xiàn)平衡數(shù)據(jù)吞吐量的不同架構(gòu),該架構(gòu)可以減少或者消除冒泡周期的出現(xiàn),這無需系統(tǒng)存儲器上的額外端口并且可以被擴(kuò)展成在時鐘周期中實(shí)現(xiàn)多于一個的MAC操作。實(shí)施例包括主存儲器系統(tǒng)301 (該系統(tǒng)通常包括RAM),修改型地址生成器AG 303訪問主存儲器系統(tǒng)以向寄存器存儲器陣列系統(tǒng)并從寄存器存儲器陣列系統(tǒng)移動值(信號數(shù)據(jù)值或者系數(shù))。可以僅用一個地址加法器實(shí)現(xiàn)AG。將寄存器存儲器陣列組織為由乘法累加處理器(MAC) 305直接訪問和寫入的GRF304。存儲器數(shù)據(jù)總線302可以是加倍寬度或者在其它情況下為四倍寬度或者2的任何正冪寬度,其中寬度這里是指每個寄存器存儲器位置以字節(jié)為單位的大小。
[0047]與現(xiàn)有技術(shù)的不同點(diǎn)之一在于:在一個實(shí)施例中,MAC單元能夠通過使用單指令多數(shù)據(jù)過程(SMD)在一個周期中執(zhí)行多于一對的MAC操作。
[0048]此外,用于寄存器存儲器陣列304的GRF將分級組織方案用于單獨(dú)寄存器存儲器位置。在一個實(shí)施例中,這是三層數(shù)據(jù)尋址和訪問方案,該方案包括單獨(dú)的寄存器的基礎(chǔ)層、第二層(其中組合單獨(dú)寄存器存儲器位置的配對用于用作稱為配對寄存器(PR)的單元并且其中組合兩個PR用于用作稱為分組寄存器(GR)的單元)。圖5從左到右示出了其中八個寄存器具有單獨(dú)的地址(示意地標(biāo)注為rO至r7)的示例、這些寄存器的配對如何組合成四個PR(示意地標(biāo)注為PO至p3)并且最終如何一按照交替模式一將這四個PR分組成兩個分組寄存器(GR)(示意地標(biāo)注為gO和gl)。圖5中所示實(shí)施例示出了 PR左邊具有奇數(shù)索引寄存器而偶數(shù)索引寄存器在右邊。
[0049]存在將PR組織成GR的兩種模式。在左手模式中,偶數(shù)索引PR布局于左邊而奇數(shù)索引PR布局于右邊。在右手模式中,奇數(shù)索引PR布局于左邊而偶數(shù)索引PR布局于右邊。
[0050]利用這一分級寄存器組織方案,在一個實(shí)施例中,修改型AG303可以使用未對準(zhǔn)地址布局過程(MAP)向存儲器系統(tǒng)并從存儲器系統(tǒng)移動值。
[0051]作為修改型AG與GRF系統(tǒng)一起的MAP操作的示例情況,假設(shè)寄存器存儲器位置寬度為32比特(即4字節(jié))。也假設(shè)AG通過加倍寬度數(shù)據(jù)總線訪問來自系統(tǒng)存儲器的64比特(即8字節(jié))加倍寬度的塊。當(dāng)向AG提供的系統(tǒng)存儲器地址為4的倍數(shù)時,對準(zhǔn)該地址。對于以二進(jìn)制提供的地址而言,對準(zhǔn)的地址具有各自等于O的兩個最低有效數(shù)。
[0052]如果在指令中未檢測到存儲器地址未對準(zhǔn),則來自系統(tǒng)存儲器的值可以存儲于一個GR的一個PR中。來自系統(tǒng)存儲器的第二數(shù)據(jù)塊然后可以存儲于GR的另一 PR中。這在圖6中圖示。
[0053]然而如果檢測到存儲器地址未對準(zhǔn)(在這一示例中,當(dāng)向AG提供的地址不是4的倍數(shù)時),則本發(fā)明的示例性實(shí)施例通過迫使地址中的適當(dāng)數(shù)目的最低有效位為O來創(chuàng)建對準(zhǔn)的地址。根據(jù)對準(zhǔn)的地址確定待加載的值的8字節(jié)加倍寬度。另外,AG基于地址的未對準(zhǔn)模式分配對準(zhǔn)點(diǎn)。作為示例,如果地址的未對準(zhǔn)是在(字節(jié)O至字節(jié)7中的)字節(jié)2,則對準(zhǔn)點(diǎn)是在移動的數(shù)據(jù)塊的字節(jié)I與字節(jié)2之間的點(diǎn)。對準(zhǔn)點(diǎn)與目標(biāo)分組寄存器的中點(diǎn)對準(zhǔn),從而如圖7中所示,字節(jié)O和I示意地對準(zhǔn)至GR的中點(diǎn)右邊而字節(jié)2至7示意地對準(zhǔn)至中點(diǎn)的左邊。然后如圖所示向目標(biāo)GR中加載數(shù)據(jù)字節(jié)。注意,填充寄存器rl和r3中的每個寄存器中的四個可用字節(jié)中的僅兩個字節(jié)。注意在圖5中,標(biāo)注為gO的GR使用GRF系統(tǒng)的右手模式。
[0054]對于連續(xù)加載操作而言,如果先前段落的示例性右手模式加載操作已經(jīng)用于一個加載操作,則如圖8和圖9中所示,在下一迭代中,加載的下一 8字節(jié)塊對于同一 GR使用左手模式。圖8示出了圖5中所示相同右手模式過程。圖7示出了使用左手模式訪問grO中的寄存器如何允許向grO的剩余分段中加載下一 8個字節(jié)C和D。
[0055]由于用MAP已經(jīng)將待相乘的兩個值移入寄存器陣列位置,所以MAC執(zhí)行單元可以在一個周期訪問兩個值并累加值、執(zhí)行乘法累加操作并且回寫更新的累加值。
[0056]該架構(gòu)的實(shí)施例在數(shù)據(jù)路徑302多于加倍寬度時可以每個周期實(shí)現(xiàn)多于一個的MAC操作以加載系數(shù)和/或數(shù)據(jù)值這二者的配對,并且構(gòu)造MAC單元用于單指令多數(shù)據(jù)(SIMD)操作。一種用于構(gòu)造MAC單元以配置用于每個周期正整數(shù)K個MAC操作的示例性方式;其中待相乘的數(shù)據(jù)值的大小是2的正冪,M ;并且其中從存儲器存儲單元到寄存器存儲器陣列的數(shù)據(jù)路徑為2*M*K。
[0057]已經(jīng)在某一具體程度上描述本發(fā)明的當(dāng)前優(yōu)選實(shí)施例及其許多改進(jìn)。應(yīng)當(dāng)理解已經(jīng)通過示例進(jìn)行這一描述并且本發(fā)明由所附權(quán)利要求的范圍限定。本領(lǐng)域普通技術(shù)人員清楚在權(quán)利要求的范圍內(nèi)的其它實(shí)施例。
【權(quán)利要求】
1.一種用于執(zhí)行信號處理操作的裝置,包括: 系統(tǒng)存儲器存儲單元; 地址生成器(AG)單元,功能上連接到所述系統(tǒng)存儲器存儲單元并且可操作用于通過具有多個數(shù)據(jù)寬度的數(shù)據(jù)總線從所述系統(tǒng)存儲器存儲單元接收數(shù)據(jù)并且向所述系統(tǒng)存儲器存儲單元寫入數(shù)據(jù); 寄存器存儲器陣列,功能上連接到所述AG并且可操作用于從所述AG接收數(shù)據(jù)并且向所述AG寫入值,其中使用寄存器文件系統(tǒng)來存儲所述寄存器存儲器陣列中的所述數(shù)據(jù); 乘法累加(MAC)執(zhí)行單元,功能上連接到所述寄存器文件系統(tǒng)并且可操作用于從所述寄存器存儲器陣列接收并且向所述寄存器存儲器陣列寫入,并且將數(shù)據(jù)值配對相乘和相加并且向所述寄存器存儲器陣列中的位置寫入求和; 其中在用于所述單獨(dú)的寄存器存儲器位置的分級方案中組織所述寄存器文件系統(tǒng),其中將單獨(dú)寄存器存儲器位置配對組織成相應(yīng)配對寄存器(PR)單元,并且將PR單元配對組織成相應(yīng)分組寄存器(GR)單元;并且 其中所述AG單元使用未對準(zhǔn)地址布局(MAP)系統(tǒng)以通過將任何未對準(zhǔn)數(shù)據(jù)地址與分組寄存器的中點(diǎn)對準(zhǔn)將來自所述系統(tǒng)存儲器存儲單元的值放入所述寄存器。
2.根據(jù)權(quán)利要求1所述的裝置,其中從所述系統(tǒng)存儲器到所述AG的所述數(shù)據(jù)總線的所述多個寬度是寄存器存儲器位置以字節(jié)為單位的大小的2的正冪。
3.根據(jù)權(quán)利要求1所述的裝置,其中所述AG具有一個地址加法器。
4.根據(jù)權(quán)利要求1所述的裝置,其中所述AG通過單個端口訪問所述系統(tǒng)存儲器存儲單·J Li ο
5.根據(jù)權(quán)利要求1所述的裝置,其中所述分級組織方案根據(jù)左手模式或者右手模式將八個寄存器位置組織成兩個分組寄存器單元;其中所述左手模式按照順序[rl,rO, r3, r2]將寄存器rO至r3布置成GRO并且按照順序[r5,r4,r7,r6]將寄存器r4至r7布置成GRl ;并且其中所述右手模式按照順序[r3,r2, rl, rO]將寄存器rO至r4布置成GRO并且按照順序[r7, r6, r5, r4]將寄存器r5至r7布置成GRl。
6.根據(jù)權(quán)利要求5所述的裝置,其中所述AG通過移動以字節(jié)為單位的大小為標(biāo)準(zhǔn)寄存器以字節(jié)為單位的大小兩倍的數(shù)據(jù)塊將數(shù)據(jù)移入所述分組的寄存器,其中所述AG為從系統(tǒng)存儲器移動的所述數(shù)據(jù)塊的字節(jié)確定對準(zhǔn)點(diǎn),所述AG將所述對準(zhǔn)點(diǎn)與所述AG將把所述數(shù)據(jù)移入的分組寄存器的中點(diǎn)對準(zhǔn),并且向所述分組寄存器中對應(yīng)地逐字節(jié)加載所述數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的裝置,其中對于存儲器對準(zhǔn)地址的情況而言,從系統(tǒng)存儲器移動的所述數(shù)據(jù)塊的所述對準(zhǔn)點(diǎn)是字節(jié)O的端部,所述端部與字節(jié)O的與字節(jié)I相鄰的端部相對。
8.根據(jù)權(quán)利要求6所述的裝置,其中對于存儲器未對準(zhǔn)地址的情況而言,從系統(tǒng)存儲器移動的所述數(shù)據(jù)塊的所述對準(zhǔn)點(diǎn)是在所述未對準(zhǔn)地址的字節(jié)數(shù)的與下一更低字節(jié)數(shù)相鄰的端部,并且其中所述AG通過迫使所述未對準(zhǔn)地址對準(zhǔn)至所述存儲器塊來訪問所述存儲器單元。
9.根據(jù)權(quán)利要求6所述的裝置,其中所述AG通過按照根據(jù)權(quán)利要求6所述的過程首先加載第一塊而按照左手排序配置所述分組寄存器并且按照右手排序配置第二數(shù)據(jù)塊來移動兩個數(shù)據(jù)塊,每個數(shù)據(jù)塊以字節(jié)為單位的大小是標(biāo)準(zhǔn)寄存器以字節(jié)為單位的大小的兩倍。
10.根據(jù)權(quán)利要求6所述的裝置,其中所述AG通過將根據(jù)權(quán)利要求6所述的過程應(yīng)用于數(shù)據(jù)塊的每個配對和關(guān)聯(lián)目標(biāo)分組寄存器并且確定用于數(shù)據(jù)塊的每個配對的對應(yīng)對準(zhǔn)點(diǎn)將數(shù)據(jù)塊的多個配對依次移入對應(yīng)分組的寄存器使得兩個數(shù)據(jù)塊移向一個分組的寄存器。
11.根據(jù)權(quán)利要求1所述的裝置,其中所述乘法累加單元被配置用于單指令多數(shù)據(jù)(SIMD)操作。
12.根據(jù)權(quán)利要求1所述的裝置,其中所述MAC單元被配置用于每個周期正整數(shù)K個MAC操作;其中待相乘的所述數(shù)據(jù)值的大小是2的正冪M ;并且其中從所述存儲器存儲單元到所述寄存器存儲器陣列的所述數(shù)據(jù)路徑為2*M*K。
13.一種用于執(zhí)行信號處理操作的方法,包括: 從系統(tǒng)存儲器存儲單元讀取并且向系統(tǒng)存儲器存儲單元寫入將在MAC操作中使用的多個值; 在通過使用三級分級訪問系統(tǒng)和未對準(zhǔn)地址布局過程這二者而組織的寄存器存儲器位置中存儲所述值; 將值從所述寄存器存儲器位置移入乘法累加執(zhí)行單元; 執(zhí)行所述MAC操作;并且 將所述操作的結(jié)果寫入所述 寄存器; 其中所述三級分級方案將單獨(dú)的寄存器存儲器位置的配對組織成配對的寄存器(PR)單元,并且將PR單元的配對組織成分組寄存器(GR)單元。
14.根據(jù)權(quán)利要求13所述的方法,其中地址生成器(AG)從所述系統(tǒng)存儲器越過數(shù)據(jù)總線移動從所述系統(tǒng)存儲器讀取的所述多個數(shù)據(jù)值,并且其中數(shù)據(jù)總線大小是所述寄存器存儲器數(shù)據(jù)大小的寬度的2的正冪。
15.根據(jù)權(quán)利要求13所述的方法,其中所述分級組織方案根據(jù)左手模式或者右手模式將八個寄存器位置組織成兩個分組寄存器單元;其中所述左手模式按照順序[rl,rO, r3,r2]將寄存器rO至r3布置成GRO并且按照順序[r5,r4,r7,r6]將寄存器r4至r7布置成GRl ;并且其中所述右手模式按照順序[r3,r2, rl, rO]將寄存器rO至r4布置成GRO并且按照順序[r7, r6, r5, r4]將寄存器r5至r7布置成GRl。
16.根據(jù)權(quán)利要求13所述的方法,其中所述AG按如下方式通過移動以字節(jié)為單位的大小為標(biāo)準(zhǔn)寄存器以字節(jié)為單位的大小兩倍的數(shù)據(jù)塊將數(shù)據(jù)從系統(tǒng)存儲器移入所述分組的寄存器:所述AG確定從存儲器移動的字節(jié)的對準(zhǔn)點(diǎn),所述AG將所述對準(zhǔn)點(diǎn)與所述AG將把所述數(shù)據(jù)移入的分組寄存器的中點(diǎn)對準(zhǔn),并且向所述分組寄存器中對應(yīng)地逐字節(jié)加載所述數(shù)據(jù)。
17.根據(jù)權(quán)利要求16所述的方法,其中對于存儲器對準(zhǔn)地址的情況而言,從系統(tǒng)存儲器移動的所述數(shù)據(jù)塊的所述對準(zhǔn)點(diǎn)是字節(jié)O的端部,所述端部與字節(jié)O的與字節(jié)I相鄰的端部相對。
18.根據(jù)權(quán)利要求16所述的方法,其中對于存儲器未對準(zhǔn)地址的情況而言,從系統(tǒng)存儲器移動的所述數(shù)據(jù)塊的所述對準(zhǔn)點(diǎn)是在所述未對準(zhǔn)地址的字節(jié)數(shù)的與下一更低字節(jié)數(shù)相鄰的端部,并且其中通過迫使所述未對準(zhǔn)地址對準(zhǔn)至所述系統(tǒng)存儲器塊來訪問所述存儲器單元。
19.根據(jù)權(quán)利要求18所述的方法,其中所述AG通過按照根據(jù)權(quán)利要求16所述的過程首先加載第一塊而按照左手排序配置所述分組寄存器并且按照右手排序配置第二數(shù)據(jù)塊來移動兩個數(shù)據(jù)塊,每個數(shù)據(jù)塊以字節(jié)為單位的大小是標(biāo)準(zhǔn)寄存器以字節(jié)為單位的大小的兩倍。
20.根據(jù)權(quán)利要求16所述的方法,其中所述AG通過將根據(jù)權(quán)利要求16所述的過程應(yīng)用于數(shù)據(jù)塊的每個配對和關(guān)聯(lián)目標(biāo)分組寄存器并且確定用于數(shù)據(jù)塊的每個配對的所述適當(dāng)對準(zhǔn)點(diǎn)將數(shù)據(jù)塊的多個配對依次移入對應(yīng)的分組的寄存器使得兩個數(shù)據(jù)塊移向一個分組的寄存器。
21.根據(jù)權(quán)利要求13所述的方法,其中所述MAC執(zhí)行單元通過每個周期執(zhí)行正整數(shù)K個SMD操作來操作;其中待相乘的所述數(shù)據(jù)值的大小是2的正冪M ;并且其中從所述存儲器存儲單元到所述寄存器存儲器陣列的所述數(shù)據(jù)路徑為2*M*K。
【文檔編號】G06F13/16GK103543983SQ201210251206
【公開日】2014年1月29日 申請日期:2012年7月11日 優(yōu)先權(quán)日:2012年7月11日
【發(fā)明者】朱鵬飛, 孫紅霞, 吳永強(qiáng), E·圭代蒂 申請人:世意法(北京)半導(dǎo)體研發(fā)有限責(zé)任公司, 意法半導(dǎo)體股份有限公司