專利名稱:多粒度并行存儲(chǔ)系統(tǒng)的制作方法
多粒度并行存儲(chǔ)系統(tǒng)技術(shù)領(lǐng)域
本發(fā)明屬于存儲(chǔ)技術(shù)領(lǐng)域,主要涉及嵌入式信號(hào)處理平臺(tái)中的片上存儲(chǔ)系統(tǒng),特別是支持行列多粒度并行讀寫的多粒度并行存儲(chǔ)系統(tǒng)。
背景技術(shù):
隨著集成電路工藝的發(fā)展,芯片上可集成更多的運(yùn)算部件和更大容量靜態(tài)存儲(chǔ)器 SRAM容量。高速嵌入式信號(hào)處理芯片中可設(shè)計(jì)多個(gè)運(yùn)算部件和多個(gè)大容量、大位寬的片上存儲(chǔ)器,實(shí)現(xiàn)并行計(jì)算和并行存儲(chǔ)。信號(hào)處理算法經(jīng)常以矩陣的形式來組織輸入/輸出數(shù)據(jù),并以矩陣為對象進(jìn)行計(jì)算。矩陣數(shù)據(jù)一般按行或按列存放在存儲(chǔ)器中。存儲(chǔ)器讀寫端口位寬固定,并且順序編址。當(dāng)矩陣按行存放時(shí),存儲(chǔ)器可以一次性并行讀寫多個(gè)矩陣行元素,但無法一次性并行讀寫多個(gè)矩陣列元素;當(dāng)矩陣按列存放時(shí),存儲(chǔ)器可以一次性并行讀寫多個(gè)矩陣列元素,但無法一次性并行讀取多個(gè)矩陣列元素。
圖1是傳統(tǒng)的片上存儲(chǔ)器的結(jié)構(gòu)和編址方法的示意圖,其中顯示了當(dāng)矩陣數(shù)據(jù)類型與存儲(chǔ)單元一致時(shí),矩陣元素在普通片上存儲(chǔ)器中的位置。如圖1所示,假定存儲(chǔ)器讀寫端口 101位寬為4,即存儲(chǔ)器100的一行存放4個(gè)元素,一次操作可并行讀寫4個(gè)地址連續(xù)的元素;矩陣A的尺寸為4X4,矩陣第i行,第j列元素為 」,(0彡i < 4,0彡j < 4),按行存放在地址0處。此時(shí),存儲(chǔ)器100可一次性并行讀寫4個(gè)矩陣行元素,但由于矩陣列元素分布在存儲(chǔ)器的多個(gè)存儲(chǔ)行104中,所以一次只能讀寫一個(gè)矩陣列元素,無法并行讀取矩陣列元素。
在信號(hào)處理系統(tǒng)中,在并行讀寫矩陣行元素的同時(shí)常常還需要并行讀寫矩陣列元素,如某信號(hào)處理算法輸入三個(gè)矩陣(A,B,D),需要得到兩個(gè)矩陣乘法結(jié)果C = AXB,E = BXD ;同時(shí),信號(hào)處理系統(tǒng)中有4個(gè)運(yùn)算單元可并行計(jì)算。那么在計(jì)算C = AXB時(shí),需要并行讀取矩陣B的4個(gè)行元素;在計(jì)算E = BXD時(shí),需要并行讀取矩陣B的4個(gè)列元素。因此,在整個(gè)算法實(shí)現(xiàn)過程中,即需要按行并行讀取矩陣B,也需要按列并行讀取矩陣B。但傳統(tǒng)存儲(chǔ)器結(jié)構(gòu)只能按行并行讀取,或按列并行讀取。當(dāng)存儲(chǔ)器在每個(gè)時(shí)鐘周期無法并行提供所需的4個(gè)操作數(shù)時(shí),4個(gè)運(yùn)算單元中只有一個(gè)處于工作狀態(tài),這必將降低整個(gè)系統(tǒng)的運(yùn)算效率。
同時(shí),矩陣的數(shù)據(jù)類型多種多樣,常用的數(shù)據(jù)類型有Sbit的字節(jié)類型、16bit的短字類型、32bit的整數(shù)類型和單精度浮點(diǎn)類型以及64bit的雙精度浮點(diǎn)類型。而存儲(chǔ)單元是固定一種數(shù)據(jù)類型,一個(gè)地址對應(yīng)一個(gè)Sbit數(shù)據(jù)或一個(gè)地址對應(yīng)一個(gè)32bit數(shù)據(jù)。為了在存儲(chǔ)器中用最基本的存儲(chǔ)單元來表達(dá)所有數(shù)據(jù)類型,常用的做法是用多個(gè)連續(xù)的低位寬數(shù)據(jù)類型拼接成一個(gè)高位寬數(shù)據(jù)類型。如圖2所示,假定存儲(chǔ)單元是Sbit的字節(jié),而矩陣尺寸為4X2,數(shù)據(jù)類型為16bit的短字,按行存放,一個(gè)矩陣元素由兩個(gè)連續(xù)8bit拼接而成。 在圖1中,矩陣數(shù)據(jù)類型與存儲(chǔ)單元是一致的,矩陣列的元素地址為{3,7,11,15},列地址完全離散;但在圖2中,矩陣數(shù)據(jù)類型與存儲(chǔ)元不一致,矩陣列的元素地址為{2,3,6,7,10, 11,14,15},列地址整體離散,部分連續(xù)。因此,在并行讀寫矩陣行、列元素時(shí),還需要考慮矩陣元素的不同數(shù)據(jù)類型,采用不同的讀寫粒度。這里所述的“讀寫粒度”是指地址連續(xù)的存儲(chǔ)單元的個(gè)數(shù)。
目前已有一些專利討論如何實(shí)現(xiàn)矩陣行列的讀寫,但都沒有在SRAM架構(gòu)層次實(shí)現(xiàn)矩陣行列多粒度并行讀取的功能。如美國專利us 6,084, 771B(Processor With Register File Accessible By Row Column to Achieve DataArray Transposition)、中國專利200910043343. 5(行列訪問端口分離的矩陣寄存器文件)都提出了一種支持矩陣行列讀取的寄存器文件,但矩陣數(shù)據(jù)仍存放在存儲(chǔ)器中,讀寫矩陣行列時(shí)需要先將矩陣數(shù)據(jù)從存儲(chǔ)器載入寄存器文件,再從寄存器文件讀寫矩陣行列;同時(shí),由于寄存器文件容量非常少,每次操作只能讀寫整個(gè)矩陣的小部分?jǐn)?shù)據(jù);另外,它們都沒有考慮如何支持不同的數(shù)據(jù)類型。美國專利 US 7, 802, 049 B2 (Random Access MemoryHave Fast Column Access)主要討論了如何快速地從DRAM存儲(chǔ)行中獲取連續(xù)數(shù)據(jù),但沒有討論矩陣行列的并行讀取。發(fā)明內(nèi)容
(一)要解決的技術(shù)問題
本發(fā)明所要解決的技術(shù)問題是克服傳統(tǒng)的片上存儲(chǔ)系統(tǒng)不能并行讀寫矩陣行列數(shù)據(jù)及無法跨行讀寫的缺點(diǎn),提高存儲(chǔ)系統(tǒng)和存儲(chǔ)器的讀寫效率。
( 二 )技術(shù)方案
本發(fā)明提出的多粒度并行存儲(chǔ)系統(tǒng)包括多個(gè)存儲(chǔ)器、移位產(chǎn)生器、地址增量查找單元、地址移位器、行地址產(chǎn)生器和多個(gè)地址加法器,所述移位產(chǎn)生器用于根據(jù)外部輸入的地址Addr產(chǎn)生移位值Shift ;所述地址增量查找單元用于根據(jù)讀寫粒度g產(chǎn)生地址移位器的輸入數(shù)據(jù);地址移位器用于將輸入的數(shù)據(jù)循環(huán)右移Shift個(gè)元素后輸出到所述地址加法器一個(gè)輸入端;所述行地址產(chǎn)生器用于根據(jù)外部輸入的地址Addr產(chǎn)生行地址RowAddr,輸入到每個(gè)地址加法器的另一個(gè)輸入端;所述地址加法器用于將所述兩個(gè)輸入端輸入的數(shù)據(jù)進(jìn)行無符號(hào)相加,得到存儲(chǔ)器的讀寫地址,并將其輸入到所述多個(gè)存儲(chǔ)器的地址輸入端。
所述存儲(chǔ)系統(tǒng)還包括寫移位器和讀移位器,所述寫移位器用于將外部輸入的寫數(shù)據(jù)循環(huán)右移Shift個(gè)元素后輸出到所述多個(gè)存儲(chǔ)器;所述讀移位器接收來自所述多個(gè)存儲(chǔ)器的數(shù)據(jù),并將該數(shù)據(jù)循環(huán)左移Shift個(gè)元素后向外部輸出。
所述地址移位器、寫移位器、讀移位器都具有一個(gè)移位控制端,所述移位產(chǎn)生器的輸出端分別與地址移位器、寫移位器、讀移位器的該移位控制端相連,用于將所述移位值 Shift輸入到所述地址移位器1410、寫移位器、讀移位器。
所述地址移位器、寫移位器、讀移位器由多路選擇器實(shí)現(xiàn)。
所述存儲(chǔ)系統(tǒng)的位寬為W,K = Iog2W,所述存儲(chǔ)器支持K+1種讀寫粒度,所述地址增量查找單元包括多個(gè)列,且每個(gè)列與一個(gè)讀寫粒度相對應(yīng)。
所述多個(gè)存儲(chǔ)器構(gòu)成多個(gè)存儲(chǔ)塊,每個(gè)存儲(chǔ)塊的尺寸為N,地址增量查找單元中從左至右第i列的從下至上第j個(gè)元素的值為[(j/^) X21] XD,其中“/”表示整除,D = N/ W,0 < i < K,0< j < W。
所述移位產(chǎn)生器產(chǎn)生Shift值的公式為
Shift = (Addr % W)+ (Addr/N),其中“ %”表示求模,“/” 表示整除。
所述行地址產(chǎn)生器產(chǎn)生行地址RowAddr的公式為RowAddr = Addr/W,其中“/”表示整除。
所述存儲(chǔ)器具有一個(gè)寫使能端,寫使能TO直接輸入到每個(gè)存儲(chǔ)器的該寫使能端。
(三)有益效果
本發(fā)明提出的多粒度并行存儲(chǔ)系統(tǒng)和存儲(chǔ)器具有多Bank的邏輯結(jié)構(gòu)、支持多粒度并行讀寫模式和多粒度編址方法,可同時(shí)支持不同數(shù)據(jù)類型的矩陣行列數(shù)據(jù)并行讀取, 從而在根本上清除信號(hào)處理算法中轉(zhuǎn)置操作的要求,提高信號(hào)處理算法執(zhí)行效率。
圖1是傳統(tǒng)的片上存儲(chǔ)器的結(jié)構(gòu)和編址方法的示意圖,其中示出了當(dāng)矩陣數(shù)據(jù)類型與存儲(chǔ)單元一致時(shí),矩陣元素在存儲(chǔ)器中的位置;
圖2是傳統(tǒng)的片上存儲(chǔ)器的結(jié)構(gòu)和編址方法的另一示意圖,其中示出了當(dāng)矩陣數(shù)據(jù)位寬是存儲(chǔ)單元的位寬的兩倍時(shí),矩陣元素在片上存儲(chǔ)器中的位置;
圖3是本發(fā)明提出的存儲(chǔ)系統(tǒng)的存儲(chǔ)器邏輯結(jié)構(gòu)圖4是本發(fā)明在不同讀寫粒度下存儲(chǔ)器的編址方式和邏輯Bank劃分的示意圖5示出了本發(fā)明在讀寫粒度g = 1、讀寫地址=4時(shí),存儲(chǔ)器讀寫數(shù)據(jù)與存儲(chǔ)單元的對應(yīng)關(guān)系,以及數(shù)據(jù)選通路徑;
圖6示出了讀寫粒度g = 2、讀寫地址=4時(shí),存儲(chǔ)器讀寫數(shù)據(jù)與存儲(chǔ)單元的對應(yīng)關(guān)系,以及選通路徑;
圖7示出了讀寫粒度g = 4、讀寫地址=4時(shí),存儲(chǔ)器讀寫數(shù)據(jù)與存儲(chǔ)單元的對應(yīng)關(guān)系,以及選通路徑;
圖8示出了當(dāng)一尺寸為8X5的矩陣的數(shù)據(jù)位寬與存儲(chǔ)單元位寬一致時(shí),該矩陣元素與存儲(chǔ)單元的映射關(guān)系;
圖9示出了當(dāng)一尺寸為8X5的矩陣的數(shù)據(jù)位寬為存儲(chǔ)單元位寬的兩倍時(shí),該矩陣元素與存儲(chǔ)單元的映射關(guān)系;
圖10示出了存儲(chǔ)塊305與物理存儲(chǔ)單元的映射關(guān)系;
圖11示出了在圖10示出的映射關(guān)系下所對應(yīng)的存儲(chǔ)單元,此時(shí)讀寫粒度g = 1, 讀寫地址為4 ;
圖12示出了在圖10示出的映射關(guān)系下所對應(yīng)的存儲(chǔ)單元,此時(shí)讀寫粒度g = 2, 讀寫地址為4 ;
圖13示出了在圖10示出的映射關(guān)系下所對應(yīng)的存儲(chǔ)單元,此時(shí)讀寫粒度g = 4, 讀寫地址為4 ;
圖14示出了在圖10示出的映射關(guān)系下的存儲(chǔ)器的物理結(jié)構(gòu)。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
為便于說明發(fā)明內(nèi)容,各個(gè)數(shù)據(jù)位寬以存儲(chǔ)單元為單位來度量,存儲(chǔ)單元定義為存儲(chǔ)器的編址單位,也是存儲(chǔ)器可讀寫的最小數(shù)據(jù)位寬。描述過程中出現(xiàn)包含“位寬為W” 的語句都需要理解成W個(gè)存儲(chǔ)單元的比特位(bit)。如存儲(chǔ)單元為8bit的字節(jié)類型時(shí),讀寫端口位寬為4的存儲(chǔ)器實(shí)際位寬為4X8 = 32bit。同時(shí),所有對象從0開始,從左至右編號(hào)。另外,如前所述,“粒度”是指地址連續(xù)的存儲(chǔ)單元的個(gè)數(shù)。在以下的描述過程中,約定以下符號(hào)
■ W 存儲(chǔ)器讀寫端口位寬,必須為2的冪次方(即W為2的η次方,η為自然數(shù));
■ K :K = Iog2W, Κ+1表示存儲(chǔ)器支持的讀寫粒度種類;
■ k 存儲(chǔ)器讀寫粒度參數(shù),為自然數(shù),且O彡k彡K,實(shí)際讀寫粒度為g = 2k ;
_g:g = 2k,存儲(chǔ)器讀寫粒度,1彡g彡W;
■ N:—個(gè)存儲(chǔ)塊的大小。
本發(fā)明示意圖中均假定W = 4,但本發(fā)明適用于W為2的冪次方的其它情況。
(一 )存儲(chǔ)系統(tǒng)和存儲(chǔ)器的邏輯結(jié)構(gòu)
本發(fā)明所提出的存儲(chǔ)系統(tǒng)的邏輯結(jié)構(gòu)如圖3所示。所述存儲(chǔ)系統(tǒng)包括存儲(chǔ)器300 和存儲(chǔ)器讀寫端口 301,存儲(chǔ)器讀寫端口 301的位寬為W,存儲(chǔ)器300由W個(gè)存儲(chǔ)塊305和一個(gè)數(shù)據(jù)選通網(wǎng)絡(luò)301構(gòu)成。每個(gè)存儲(chǔ)塊305是由存儲(chǔ)單元303構(gòu)成的二維陣列,該陣列中的存儲(chǔ)行304必須包含W個(gè)存儲(chǔ)單元303,每個(gè)存儲(chǔ)塊一次可讀寫一個(gè)存儲(chǔ)行304。
需要說明的是,存儲(chǔ)塊305只是表示了存儲(chǔ)單元303的邏輯結(jié)構(gòu),并不是物理結(jié)構(gòu)。
數(shù)據(jù)選通網(wǎng)絡(luò)302在邏輯上根據(jù)讀寫地址和讀寫粒度從W個(gè)存儲(chǔ)塊305中選擇W 個(gè)存儲(chǔ)單元303作為讀寫對象。
本發(fā)明所提出的存儲(chǔ)系統(tǒng)支持多種讀寫粒度,存儲(chǔ)系統(tǒng)中每個(gè)存儲(chǔ)塊305的編址方法與圖1中存儲(chǔ)器編址一致,但在不同的讀寫粒度下,每個(gè)存儲(chǔ)塊305的起始地址各不相同。我們以參數(shù)k來表征不同的讀寫粒度,實(shí)際的讀寫粒度g = 2k。
圖4示出了 W = 4時(shí),存儲(chǔ)器在不同讀寫粒度下每個(gè)存儲(chǔ)塊405的編址。對于讀寫粒度g,每g個(gè)相鄰的存儲(chǔ)塊405拼接成一個(gè)邏輯Bank 406,所有邏輯Bank 406的起始地址相同;邏輯Bank 406內(nèi)的存儲(chǔ)塊405起始地址前后相接,每個(gè)邏輯Bank 406的尋址范圍為0 gN-Ι,整個(gè)存儲(chǔ)器的尋址范圍為0 gN-1。
存儲(chǔ)器在進(jìn)行讀操作時(shí),將讀寫地址和讀寫粒度發(fā)送給每個(gè)邏輯Bank406,每個(gè)邏輯Bank 406讀取g個(gè)存儲(chǔ)單元并通過數(shù)據(jù)選通網(wǎng)絡(luò)302傳遞給存儲(chǔ)器讀寫端口 301,ff/g 個(gè)邏輯Bank 406所讀取的數(shù)據(jù)按從左到右的順序拼接成位寬為W的輸出數(shù)據(jù)。
存儲(chǔ)器在進(jìn)行寫操作時(shí),將存儲(chǔ)器讀寫端口 301傳遞過來的數(shù)據(jù)拆分成g份,每份數(shù)據(jù)位寬為w/g,通過數(shù)據(jù)選通網(wǎng)絡(luò)302將第i份數(shù)據(jù)發(fā)送給第i個(gè)邏輯Bank 406(0 ^ i <g),同時(shí)將讀寫地址和讀寫粒度發(fā)送給每個(gè)邏輯Bank 406。每個(gè)邏輯Bank 406寫入g 個(gè)存儲(chǔ)單元。
圖5示出了讀寫粒度g = 1,讀寫地址為4時(shí),存儲(chǔ)器內(nèi)部邏輯通路。數(shù)據(jù)選通網(wǎng)絡(luò)502選通邏輯如圖中所示,存儲(chǔ)器讀寫端口 501的數(shù)據(jù)與各個(gè)邏輯Bank 506中地址為4, 粒度為1的存儲(chǔ)單元503相對應(yīng)。
圖6示出了讀寫粒度g = 2,讀寫地址為4時(shí),存儲(chǔ)器內(nèi)部邏輯通路。數(shù)據(jù)選通網(wǎng)絡(luò)602選通邏輯如圖中所示,存儲(chǔ)器讀寫端口 601的數(shù)據(jù)與各個(gè)邏輯Bank 606中地址為4, 粒度為2的存儲(chǔ)單元603相對應(yīng)。6
圖7示出了讀寫粒度g = 4,讀寫地址為4時(shí)的存儲(chǔ)器內(nèi)部邏輯通路。數(shù)據(jù)選通網(wǎng)絡(luò)702選通邏輯如圖中所示,存儲(chǔ)器讀寫端口 701的數(shù)據(jù)與各個(gè)邏輯Bank 706中地址為 4,粒度為4的存儲(chǔ)單元703相對應(yīng)。
為利用本發(fā)明所提出的多粒度并行存儲(chǔ)系統(tǒng)和存儲(chǔ)器并行讀寫矩陣行列數(shù)據(jù),需要將矩陣元素按一定的規(guī)律存放在存儲(chǔ)器中。
圖8示出了當(dāng)一矩陣的數(shù)據(jù)位寬與存儲(chǔ)單元位寬一致時(shí),該矩陣元素與存儲(chǔ)單元的映射關(guān)系。如圖8所示,假定矩陣尺寸為8 X 5,矩陣第i行,第j列元素為 ^,(0 < i < 8, 0 ^ j < 5),當(dāng)矩陣數(shù)據(jù)類型與存儲(chǔ)單元一致時(shí),按讀寫粒度g = 1劃分邏輯Bank 806 第 i個(gè)邏輯Bank 806中連續(xù)存放(行號(hào)<%W== i)的矩陣行,其中“ % ”表示求模運(yùn)算。在進(jìn)行矩陣行列讀寫時(shí),我們定義連續(xù)的W個(gè)行元素或W個(gè)列元素為一個(gè)數(shù)據(jù)組,如{a00,a01, a02, a03}是行元素構(gòu)成的一個(gè)數(shù)據(jù)組,{aQQ,a10, a20, a30}是由列元素構(gòu)成的一個(gè)數(shù)據(jù)組。整個(gè)矩陣劃分成多個(gè)數(shù)據(jù)組,存儲(chǔ)器每個(gè)時(shí)鐘周期可并行讀寫一個(gè)數(shù)據(jù)組。此時(shí)矩陣元素在存儲(chǔ)器中的位置如圖8所示。當(dāng)并行讀寫矩陣行數(shù)據(jù)組時(shí),讀寫粒度g = W(這里假定W = 4,也可以為其它2的冪次方)。第i行的第j個(gè)數(shù)據(jù)組的讀寫地址為
權(quán)利要求
1.一種多粒度并行存儲(chǔ)系統(tǒng),包括多個(gè)存儲(chǔ)器(1407)、移位產(chǎn)生器(1414)、地址增量查找單元(1409)、地址移位器(1410)、行地址產(chǎn)生器(141 和多個(gè)地址加法器(1411),其特征在于所述移位產(chǎn)生器(1414)用于根據(jù)外部輸入的地址Addr產(chǎn)生移位值Siift ; 所述地址增量查找單元(1409)用于根據(jù)讀寫粒度g產(chǎn)生地址移位器(1410)的輸入數(shù)據(jù);地址移位器(1410)用于將輸入的數(shù)據(jù)循環(huán)右移Siift個(gè)元素后輸出到所述地址加法器(1411) 一個(gè)輸入端;所述行地址產(chǎn)生器(1413)用于根據(jù)外部輸入的地址Addr產(chǎn)生行地址RowAddr,輸入到每個(gè)地址加法器(1411)的另一個(gè)輸入端;所述地址加法器(1411)用于將所述兩個(gè)輸入端輸入的數(shù)據(jù)進(jìn)行無符號(hào)相加,得到存儲(chǔ)器(1407)的讀寫地址,并將其輸入到所述多個(gè)存儲(chǔ)器(1407)的地址輸入端。
2.如權(quán)利要求1所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述存儲(chǔ)系統(tǒng)還包括寫移位器(1412)和讀移位器(1408),所述寫移位器(141 用于將外部輸入的寫數(shù)據(jù)循環(huán)右移Shift個(gè)元素后輸出到所述多個(gè)存儲(chǔ)器(1407);所述讀移位器(1408)接收來自所述多個(gè)存儲(chǔ)器(1407)的數(shù)據(jù),并將該數(shù)據(jù)循環(huán)左移 Shift個(gè)元素后向外部輸出。
3.如權(quán)利要求2所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述地址移位器(1410)、寫移位器(141 、讀移位器(1408)都具有一個(gè)移位控制端,所述移位產(chǎn)生器(1414)的輸出端分別與地址移位器(1410)、寫移位器(1412)、讀移位器(1408)的該移位控制端相連,用于將所述移位值Shift輸入到所述地址移位器(1410)、寫移位器(141 、讀移位器1408。
4.如權(quán)利要求2所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述地址移位器(1410)、寫移位器(1412)、讀移位器(140 由多路選擇器實(shí)現(xiàn)。
5.如權(quán)利要求1所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述存儲(chǔ)系統(tǒng)的位寬為W,K =Iog2W,所述存儲(chǔ)器(1407)支持K+1種讀寫粒度,所述地址增量查找單元(1409)包括多個(gè)列,且每個(gè)列與一個(gè)讀寫粒度相對應(yīng)。
6.如權(quán)利要求5所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述多個(gè)存儲(chǔ)器(1407)構(gòu)成多個(gè)存儲(chǔ)塊(1005),每個(gè)存儲(chǔ)塊(100 的尺寸為N,地址增量查找單元(1409)中從左至右第i列的從下至上第j個(gè)元素的值為[(j/2i) X21] XD,其中“/”表示整除,D = N/W, 0 < i < K,0 < j < W。
7.如權(quán)利要求6所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述移位產(chǎn)生器產(chǎn)生aiift 值的公式為Shift = (Addr% W) + (Addr/N),其中 “%” 表示求模,“/” 表示整除。
8.如權(quán)利要求6所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述行地址產(chǎn)生器產(chǎn)生行地址RowAddr的公式為RowAddr = Addr/W,其中“/”表示整除。
9.如權(quán)利要求1所述的多粒度并行存儲(chǔ)系統(tǒng),其特征在于,所述存儲(chǔ)器(1407)具有一個(gè)寫使能端,寫使能WE直接輸入到每個(gè)存儲(chǔ)器(1407)的該寫使能端。
全文摘要
本發(fā)明公開了一種多粒度并行存儲(chǔ)系統(tǒng),該存儲(chǔ)系統(tǒng)包括多個(gè)存儲(chǔ)器、移位產(chǎn)生器、地址增量查找單元、地址移位器、行地址產(chǎn)生器和多個(gè)地址加法器。所述移位產(chǎn)生器用于根據(jù)外部輸入的地址產(chǎn)生移位值Shift;所述地址增量查找單元用于根據(jù)讀寫粒度產(chǎn)生地址移位器的輸入數(shù)據(jù);地址移位器用于將輸入的數(shù)據(jù)循環(huán)右移Shift個(gè)元素后輸出到所述地址加法器一個(gè)輸入端;所述行地址產(chǎn)生器用于根據(jù)外部輸入的地址產(chǎn)生行地址,輸入到每個(gè)地址加法器的另一個(gè)輸入端;所述地址加法器用于將所述兩個(gè)輸入端輸入的數(shù)據(jù)進(jìn)行無符號(hào)相加,得到每個(gè)存儲(chǔ)器的讀寫地址,并將其輸入到所述多個(gè)存儲(chǔ)器的地址輸入端。本發(fā)明提出的存儲(chǔ)系統(tǒng)可同時(shí)支持不同數(shù)據(jù)類型的矩陣行列數(shù)據(jù)并行讀取,從而在根本上清除信號(hào)處理算法中轉(zhuǎn)置操作的要求,提高信號(hào)處理算法執(zhí)行效率。
文檔編號(hào)G06F12/02GK102541749SQ20111045945
公開日2012年7月4日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者劉子君, 張志偉, 張星, 王東琳, 薛曉軍, 謝少林 申請人:中國科學(xué)院自動(dòng)化研究所