專利名稱:粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)輸入輸出結(jié)構(gòu),特別是粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出端口的設(shè)計(jì)結(jié)構(gòu)。
背景技術(shù):
可配置計(jì)算又稱為自適應(yīng)計(jì)算,是由多個(gè)具有可重配置功能的處理單元(PE)和可以配置不同數(shù)據(jù)傳遞方向的連接線路一起構(gòu)成的數(shù)據(jù)處理結(jié)構(gòu)。目前,可配置計(jì)算主要分為兩類細(xì)粒度配置和粗粒度配置。細(xì)粒度配置計(jì)算主要是指現(xiàn)場(chǎng)可編程邏輯門陣列FPGA,它在數(shù)字芯片開(kāi)發(fā)和系統(tǒng)設(shè)計(jì)等方面應(yīng)用非常廣泛,但由于細(xì)粒度的原因,其實(shí)際邏輯單元僅占到實(shí)際芯片面積的10%,其余被開(kāi)關(guān)、RAM、布線網(wǎng)絡(luò)所占有,功耗和工作頻率都不是非常理想,在處理一些規(guī)則運(yùn)算,如乘法時(shí)效率不高。相對(duì)的,粗粒度可配置計(jì)算的粒度一般為8,16,32位等,非常適合進(jìn)行算法級(jí)操作。
進(jìn)入上世紀(jì)90年代,隨著超大規(guī)模集成電路VLSI技術(shù)的發(fā)展,以可編程開(kāi)關(guān)(program switch)為基礎(chǔ)的粗粒度可配置計(jì)算結(jié)構(gòu)不斷被開(kāi)發(fā)出來(lái),并在圖像濾波、特征提取、目標(biāo)識(shí)別與跟蹤、通訊算法等方面展示出了非凡的性能與潛力。表1列出的是國(guó)外大學(xué)中部分粗粒度可配置計(jì)算項(xiàng)目技術(shù)總結(jié)。
表1 現(xiàn)有項(xiàng)目技術(shù)總結(jié)
在這些項(xiàng)目中,雖然內(nèi)部涉及的可重配置處理單元結(jié)構(gòu)和功能各不相同,但由相應(yīng)處理單元構(gòu)成陣列的數(shù)據(jù)輸入/輸出結(jié)構(gòu)卻可大致分為兩類(1)通過(guò)全局總線控制器或者交叉條(crossbar)實(shí)現(xiàn)可重配置處理單元陣列與外部的輸入輸出端口連接。在這種方式下,結(jié)構(gòu)允許根據(jù)不同的配置需要,將某個(gè)處理單元中數(shù)據(jù)總線與外部端口相連。采用這種方式的結(jié)構(gòu)主要有PADDI-1,PADDI-2,REMARC,COLT,KressArray,PipeRench。
(2)可重配置處理單元自身的數(shù)據(jù)輸入/輸出總線直接與外部接口相連。采用這種方式的結(jié)構(gòu)主要有GarP,RAW,MorphoSys,CHESS,RaPiD。
對(duì)于這兩種實(shí)現(xiàn)方式,都存在各自的不足。對(duì)于第一種方式,根據(jù)全局總線控制器或者交叉條的控制,外部端口與處理單元陣列中內(nèi)部某個(gè)處理單元數(shù)據(jù)總線相連,外部端口數(shù)據(jù)通過(guò)此處理單元輸入/輸出。但面對(duì)類似下面的情況,如按順序串行輸入的數(shù)據(jù)每三個(gè)分為一組(a,b,c),在處理單元陣列映射(a*b+c)功能時(shí),這種輸入輸出結(jié)構(gòu)則無(wú)法完成。對(duì)于第二種結(jié)構(gòu)設(shè)計(jì)方式,由于是直接將處理單元的數(shù)據(jù)引出,外部接口所需的位寬將隨著輸出數(shù)據(jù)總線的處理單元數(shù)目和數(shù)據(jù)總線的位寬的增加而增加。以16位MorphoSys為例,它的8*8處理單元陣列與微處理器的接口需要256位,如果處理單元陣列改為12*12,則與微處理器的接口需要384位,這使得接口部分所占芯片面積和控制復(fù)雜度增加。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問(wèn)題克服現(xiàn)有技術(shù)的不足,提供一種粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),既利于映射算法中數(shù)據(jù)的輸入輸出,又減少了輸入輸出端口。
本發(fā)明的技術(shù)解決方案粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),包括分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3;交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被選的數(shù)據(jù)總線包括輸入數(shù)據(jù)總線、相鄰PEA數(shù)據(jù)輸入和RAM輸入數(shù)據(jù),被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進(jìn)行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE模塊合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過(guò)交叉條C2控制后輸出數(shù)據(jù)總線,或通過(guò)交叉條C2和交叉條C3的聯(lián)合控制輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號(hào);RAM讀出的數(shù)據(jù)允許通過(guò)交叉條C3的控制,傳遞到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(1)由于存在合并和分散功能模塊后,將N+1個(gè)數(shù)據(jù)總線中的數(shù)據(jù)合并于一條數(shù)據(jù)總線中輸入輸出,可明顯減少外部端口數(shù)量。
(2)輸入數(shù)據(jù)經(jīng)分散功能模塊輸入后,順序輸入的數(shù)據(jù)可分配給不同的處理單元,同時(shí)開(kāi)始處理,能夠?qū)崿F(xiàn)類似下面的情況;輸入數(shù)據(jù)每三個(gè)分為一組(a,b,c),在處理單元陣列中映射(a*b+c)功能。
(3)處理單元陣列PEA輸出的數(shù)據(jù)經(jīng)合并功能模塊后,多個(gè)輸入數(shù)據(jù)允許從一條輸出數(shù)據(jù)總線中順序輸出,便于進(jìn)行RAM操作。
(4)本發(fā)明采用由交叉條控制的數(shù)據(jù)傳遞路徑,方便靈活,不但能夠?qū)崿F(xiàn)數(shù)據(jù)到處理單元陣列的輸入輸出,而且能夠?qū)崿F(xiàn)數(shù)據(jù)在處理單元陣列間的傳遞;同時(shí),能夠?yàn)榻涌诮Y(jié)構(gòu)中RAM內(nèi)讀出的數(shù)據(jù)建立一條輸入處理單元陣列的數(shù)據(jù)路徑。
(5)本發(fā)明的地址發(fā)生器中將DMA功能集成于接口結(jié)構(gòu)之中,加快了數(shù)據(jù)的輸入和輸出,利于數(shù)據(jù)流的處理,充分發(fā)揮配置計(jì)算的優(yōu)勢(shì)。
圖1為本發(fā)明的結(jié)構(gòu)框圖;圖2為本發(fā)明中的分散功能DEMUX結(jié)構(gòu)圖;圖3為本發(fā)明的分散功能DEMUX模塊順序接收4個(gè)輸入數(shù)據(jù)時(shí)的功能示意圖;圖4為本發(fā)明的合并功能MERGE模塊結(jié)構(gòu)圖;圖5為本發(fā)明的合并功能MERGE模塊合并4路輸入數(shù)據(jù)功能示意圖;圖6為本發(fā)明的RAM功能控制器結(jié)構(gòu)框圖;圖7為本發(fā)明的地址發(fā)生器結(jié)構(gòu)框圖;圖8為發(fā)明采用的交叉條結(jié)構(gòu)示意圖;圖9為發(fā)明的路徑控制示意圖。
具體實(shí)施例方式
如圖1所示,本發(fā)明主要由分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3組成。在圖1中,各外部接口信號(hào)線分別定義為●‘相鄰PEA數(shù)據(jù)輸入’-表示相鄰PEA輸入到此輸入輸出接口結(jié)構(gòu)的數(shù)據(jù)總線;●‘輸出數(shù)據(jù)到相鄰PEA’-表示此輸入輸出接口結(jié)構(gòu)向相鄰PEA輸出的數(shù)據(jù)總線;●‘輸出數(shù)據(jù)總線’-為此接口結(jié)構(gòu)向外部輸出的數(shù)據(jù)總線;●‘輸入數(shù)據(jù)總線’-為外部向此接口結(jié)構(gòu)輸入的數(shù)據(jù)總線;●‘地址總線’-為此接口結(jié)構(gòu)讀取外部數(shù)據(jù)隨機(jī)存儲(chǔ)器(SRAM)時(shí)必需的地址總線;
●RD、WR-為此輸入/輸出結(jié)構(gòu)讀寫外部RAM數(shù)據(jù)提供控制信號(hào)。
交叉條C1、C2、C3控制數(shù)據(jù)傳遞路徑,為功能模塊選擇合理的輸入數(shù)據(jù)總線和輸出數(shù)據(jù)方向,交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被選的數(shù)據(jù)總線包括輸入數(shù)據(jù)總線、相鄰PEA數(shù)據(jù)輸入和RAM輸入數(shù)據(jù),被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進(jìn)行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE模塊合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過(guò)交叉條C2控制后輸出,或通過(guò)交叉條C3,輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號(hào),針對(duì)RAM的數(shù)據(jù)操作主要有DMA方式讀,DMA方式寫,和根據(jù)輸入的地址數(shù)據(jù)進(jìn)行讀操作,針對(duì)RAM的控制信號(hào)包括數(shù)據(jù)寫入控制信號(hào)WR和數(shù)據(jù)讀出控制信號(hào)RD;RAM讀出的數(shù)據(jù)通過(guò)交叉條C3的控制,反饋到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA,成為RAM輸入數(shù)據(jù)。
如圖2所示,本發(fā)明中的分散功能DEMUX模塊由數(shù)據(jù)計(jì)數(shù)器、配置代碼寄存器、數(shù)據(jù)存儲(chǔ)位置表、N+1個(gè)譯碼器、N+1個(gè)數(shù)據(jù)寄存器、最大計(jì)數(shù)值寄存器、路由選通電路單元組成。配置代碼寄存器作用是預(yù)先存儲(chǔ)配置數(shù)據(jù),分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)],]]>[]的含義是取整。數(shù)據(jù)存儲(chǔ)位置表內(nèi)部由N+1個(gè)寄存器組成,其內(nèi)部寄存的數(shù)據(jù)指輸入數(shù)據(jù)的存儲(chǔ)位置。m位數(shù)據(jù)計(jì)數(shù)器主要負(fù)責(zé)對(duì)輸入的有效數(shù)據(jù)進(jìn)行計(jì)數(shù);最大計(jì)數(shù)值寄存器存儲(chǔ)的是分散功能模塊分散輸出的數(shù)據(jù)總線數(shù)目。數(shù)據(jù)寄存器x(x=0,1,......N)在數(shù)據(jù)輸出觸發(fā)信號(hào)作用下,允許將內(nèi)部寄存器中存儲(chǔ)的數(shù)據(jù)從輸出數(shù)據(jù)總線x(x=0,1,......N)輸出。
配置代碼寄存器內(nèi)部的第一部分、第二部分?jǐn)?shù)據(jù)分別與最大計(jì)數(shù)值寄存器和數(shù)據(jù)存儲(chǔ)位置表相連,外部輸入數(shù)據(jù)分別輸入到m位數(shù)據(jù)計(jì)數(shù)器和各個(gè)數(shù)據(jù)寄存器的路由選通電路switch,m位數(shù)據(jù)計(jì)數(shù)器將記錄的輸入數(shù)據(jù)數(shù)目同時(shí)輸入到數(shù)據(jù)存儲(chǔ)位置表和最大計(jì)數(shù)值寄存器,為輸入數(shù)據(jù)讀取內(nèi)部寄存器指定的存儲(chǔ)位置信息,送入各個(gè)路由選通電路對(duì)應(yīng)的譯碼電路。譯碼電路負(fù)責(zé)控制路由選通電路。m位數(shù)據(jù)計(jì)數(shù)器與最大計(jì)數(shù)值寄存器相連,一旦記錄的輸入數(shù)據(jù)個(gè)數(shù)與最大計(jì)數(shù)值寄存器的數(shù)據(jù)相等,則會(huì)產(chǎn)生控制信號(hào),此控制信號(hào)一方面作為m位數(shù)據(jù)計(jì)數(shù)器的清零信號(hào),另一方面作為數(shù)據(jù)輸出觸發(fā)信號(hào)觸發(fā)數(shù)據(jù)寄存器x(x=0,1,......N)向外部輸出數(shù)據(jù)。
如圖3所示,本發(fā)明的分散功能DEMUX模塊順序串行接收4個(gè)輸入數(shù)據(jù),并同時(shí)并行從輸出數(shù)據(jù)總線1,2,3,4中輸出接收到的4個(gè)數(shù)據(jù)。
如圖4所示,本發(fā)明的數(shù)據(jù)合并功能MERGE模塊主要由有效數(shù)據(jù)標(biāo)志字寄存器,配置代碼1寄存器,配置代碼2寄存器,數(shù)據(jù)存儲(chǔ)位置表,最大計(jì)數(shù)值寄存器,計(jì)數(shù)器,‘1’保持器,存儲(chǔ)數(shù)據(jù)寄存器,路由選通電路及邏輯比較電路組成。有效數(shù)據(jù)標(biāo)志字寄存器由N+1位組成,每位分別對(duì)應(yīng)外部輸入數(shù)據(jù)x(x=0,1,......N),當(dāng)外部輸入數(shù)據(jù)有效時(shí),寄存器中相應(yīng)位置‘1’,否則清零?!?’保持器作為高電平保持器,在輸入觸發(fā)信號(hào)的作用下,輸出維持高電平,直到有清零信號(hào)到來(lái),恢復(fù)為低電平。存儲(chǔ)數(shù)據(jù)寄存器內(nèi)部由N+1個(gè)寄存器組成,能夠同時(shí)并行存儲(chǔ)外部輸入數(shù)據(jù);并根據(jù)輸入的地址信息,讀出相應(yīng)寄存器中的數(shù)據(jù),向外部輸出。數(shù)據(jù)存儲(chǔ)位置表內(nèi)部由N+1個(gè)寄存器組成,其內(nèi)部寄存的數(shù)據(jù)指示的是輸入數(shù)據(jù)的存儲(chǔ)位置。數(shù)據(jù)計(jì)數(shù)器主要負(fù)責(zé)對(duì)輸入的有效數(shù)據(jù)進(jìn)行計(jì)數(shù);最大計(jì)數(shù)值寄存器存儲(chǔ)的是合并功能模塊將合并輸入的數(shù)據(jù)總線數(shù)目。配置代碼1寄存器預(yù)先存儲(chǔ)的是輸入數(shù)據(jù)總線中將被合并輸出的數(shù)據(jù)總線信息,由N+1位組成,每位分別對(duì)應(yīng)外部輸入數(shù)據(jù)x(x=0,1,......N),當(dāng)某一位置‘1’時(shí),說(shuō)明此位對(duì)應(yīng)的外部輸入數(shù)據(jù)將被合并輸出。配置代碼2寄存器預(yù)先存儲(chǔ)的配置數(shù)據(jù)分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)].]]>外部輸入的有效數(shù)據(jù)在輸入到存儲(chǔ)數(shù)據(jù)寄存器的同時(shí),數(shù)據(jù)中的有效信息輸入到有效數(shù)據(jù)標(biāo)志字寄存器,它與預(yù)先存儲(chǔ)的配置代碼1寄存器中的數(shù)據(jù)經(jīng)邏輯比較電路,形成控制信號(hào)。在此控制信號(hào)有效時(shí),觸發(fā)‘1’保持器,使能計(jì)數(shù)器。計(jì)數(shù)器從零開(kāi)始對(duì)時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù);并同時(shí)切斷外部輸入數(shù)據(jù)路由選通電路,阻止此功能模塊接收新的外部輸入數(shù)據(jù)。輸出的計(jì)數(shù)值同時(shí)輸入到數(shù)據(jù)存儲(chǔ)位置表和最大計(jì)數(shù)值寄存器。數(shù)據(jù)存儲(chǔ)位置表會(huì)讀取輸入數(shù)據(jù)指示的內(nèi)部寄存器中位置信息,送入存儲(chǔ)數(shù)據(jù)寄存器,以向外部輸出數(shù)據(jù)。計(jì)數(shù)器與最大計(jì)數(shù)值寄存器相連,一旦計(jì)數(shù)值與最大計(jì)數(shù)值寄存器的數(shù)據(jù)相等,則會(huì)產(chǎn)生控制信號(hào),恢復(fù)‘1’保持器為低電平狀態(tài)。
如圖5所示,本發(fā)明的合并功能MERGE模塊并行接收4個(gè)輸入數(shù)據(jù)總線中的數(shù)據(jù),并順序串行從輸出數(shù)據(jù)總線中輸出數(shù)據(jù)。
如圖6所示,本發(fā)明的RAM功能控制器主要由計(jì)數(shù)器,長(zhǎng)度寄存器,DMA傳輸數(shù)據(jù)長(zhǎng)度配置存儲(chǔ)器,RAM功能配置存儲(chǔ)器,功能控制寄存器,讀寫信號(hào)發(fā)生器和邏輯比較電路組成。計(jì)數(shù)器負(fù)責(zé)在DMA工作方式下對(duì)輸入的時(shí)鐘進(jìn)行計(jì)數(shù),同時(shí)此時(shí)鐘信號(hào)作為遞增功能觸發(fā)信號(hào)向外輸入到地址發(fā)生器中。RAM功能配置存儲(chǔ)器是一個(gè)3位的寄存器,分別與功能控制寄存器中的各位相對(duì)應(yīng),定義模塊允許的工作方式DMA讀(read),DMA寫(write),正常讀(general read)。讀寫信號(hào)發(fā)生器負(fù)責(zé)產(chǎn)生讀取外部RAM的讀寫信號(hào)。
DMA傳輸數(shù)據(jù)長(zhǎng)度配置存儲(chǔ)器和RAM功能配置存儲(chǔ)器預(yù)先存儲(chǔ)的配置數(shù)據(jù)分別寫入長(zhǎng)度寄存器和功能控制寄存器。功能控制寄存器中的DMA方式控制位與時(shí)鐘信信號(hào)經(jīng)過(guò)邏輯組合后,即向外輸出控制信號(hào),成為遞增功能觸發(fā)信號(hào),又輸入到計(jì)數(shù)器對(duì)其進(jìn)行計(jì)數(shù)。計(jì)數(shù)器中的數(shù)值與長(zhǎng)度寄存器同時(shí)輸入邏輯比較電路。如果比較一致,則形成DMA結(jié)束信號(hào)向外輸出;否則,允許讀寫信號(hào)發(fā)生器在DMA方式下產(chǎn)生讀寫信號(hào)。外部輸入數(shù)據(jù)總線形成的有效數(shù)據(jù)標(biāo)志字寄存器在正常讀方式下,在讀寫信號(hào)發(fā)生器內(nèi)部與時(shí)鐘信號(hào)經(jīng)邏輯組合形成向外輸出的讀RD、寫WR控制信號(hào)。
如圖7所示,本發(fā)明中的地址發(fā)生器模塊主要由遞增功能控制器,DMA起始地址配置寄存器,RAM功能配置存儲(chǔ)器,功能控制寄存器和有效數(shù)據(jù)標(biāo)志字寄存器單元組成。遞增功能控制器負(fù)責(zé)在DMA方式工作時(shí),對(duì)初始輸入的數(shù)據(jù)在外部遞增功能觸發(fā)信號(hào)的作用下,不斷加1,并從輸出地址總線輸出;在正常讀寫工作方式時(shí),則僅是將輸入的數(shù)據(jù)作為地址直接輸出。DMA起始地址配置寄存器負(fù)責(zé)配置DMA方式工作時(shí)的起始地址信息;RAM功能配置存儲(chǔ)器是一個(gè)3位的寄存器,分別與功能控制寄存器中的各位相對(duì)應(yīng),定義模塊允許的工作方式DMA讀(read),DMA寫(write),正常讀(general read)。
外部輸入數(shù)據(jù)總線和DMA起始地址配置寄存器中的數(shù)據(jù)同時(shí)輸入到內(nèi)部的多路選擇器,多路選擇器選擇的數(shù)據(jù)輸入遞增功能控制器。多路選擇器的選通控制信號(hào)主要依靠?jī)蓚€(gè)信號(hào)實(shí)現(xiàn)DMA工作方式下與延遲輸入的外部配置命令經(jīng)組合邏輯形成的控制信號(hào);正常讀方式下外部輸入數(shù)據(jù)總線形成的數(shù)據(jù)有效信號(hào)。
圖1中,C1,C2,C3是交叉條,起到的作用是根據(jù)不同的配置信息,控制數(shù)據(jù)傳遞的路徑,圖8為本發(fā)明采用的交叉條的結(jié)構(gòu)圖。在這些路由開(kāi)關(guān)的控制作用下,能夠根據(jù)需要,形成如圖9所示的數(shù)據(jù)傳遞路徑。
如圖9所示,INx→DEMUXx,MERGEx→OUTx(x1,2)為數(shù)據(jù)的輸入、輸出控制;MERGE1→RAM1,MERGE2→RAM3為從處理單元陣列到RAM的路徑;RAM1→DEMUX2,RAM3→DEMUX2,RAM1→DEMUX1,RAM15→DEMUX1為從RAM到處理單元陣列的路徑;RAM15→RAM1,RAM1→RAM3為相鄰RAM塊之間的數(shù)據(jù)傳遞路徑。INx→DEMUXx完成數(shù)據(jù)的分散功能,將外部輸入的數(shù)據(jù)根據(jù)配置的不同情況,分成多路數(shù)據(jù),同時(shí)輸入到PEA陣列;MERGEx→OUTx完成數(shù)據(jù)的合并功能,將PEA陣列向外輸出的數(shù)據(jù),合并后從一條數(shù)據(jù)總線輸出。RAM15→RAM1,RAM1→RAM3在實(shí)現(xiàn)RAM間數(shù)據(jù)傳遞的同時(shí),也能夠?qū)崿F(xiàn)數(shù)據(jù)間接尋址功能。以RAM15→RAM1為例,首先在RAM15中按順序存儲(chǔ)準(zhǔn)備在RAM1中讀出數(shù)據(jù)的地址信息,然后順序讀取RAM15中的數(shù)據(jù),并傳遞給RAM1作為地址信息,則RAM1輸出的數(shù)據(jù)內(nèi)容即是本發(fā)明所期望地址的數(shù)據(jù)。
權(quán)利要求
1.粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于包括分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3;交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被選的數(shù)據(jù)總線包括輸入數(shù)據(jù)總線、相鄰PEA數(shù)據(jù)輸入和RAM輸入數(shù)據(jù),被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進(jìn)行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE模塊合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過(guò)交叉條C2控制后輸出數(shù)據(jù)總線,或通過(guò)交叉條C2和交叉條C3的聯(lián)合控制輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號(hào);RAM讀出的數(shù)據(jù)通過(guò)交叉條C3的控制,傳遞到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA。
2.根據(jù)權(quán)利要求1所述的粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的分散功能DEMUX模塊具有一路外部輸入數(shù)據(jù)總線,N+1路外部輸出數(shù)據(jù)總線,包括數(shù)據(jù)計(jì)數(shù)器、配置代碼寄存器、數(shù)據(jù)存儲(chǔ)位置表、N+1個(gè)譯碼器、N+1個(gè)數(shù)據(jù)寄存器、最大計(jì)數(shù)值寄存器、路由選通電路;配置代碼寄存器預(yù)先存儲(chǔ)配置數(shù)據(jù);數(shù)據(jù)存儲(chǔ)位置表內(nèi)部由N+1個(gè)寄存器組成;m位數(shù)據(jù)計(jì)數(shù)器對(duì)輸入的有效數(shù)據(jù)進(jìn)行計(jì)數(shù);最大計(jì)數(shù)值寄存器存儲(chǔ)輸出的有效數(shù)據(jù)總線數(shù)目;數(shù)據(jù)寄存器x,x=0,1,......N在數(shù)據(jù)輸出觸發(fā)信號(hào)作用下,將內(nèi)部寄存器中存儲(chǔ)的數(shù)據(jù)從輸出數(shù)據(jù)總線輸出;配置代碼寄存器內(nèi)部與最大計(jì)數(shù)值寄存器和數(shù)據(jù)存儲(chǔ)位置表相連,外部輸入數(shù)據(jù)分別輸入到m位數(shù)據(jù)計(jì)數(shù)器和各個(gè)數(shù)據(jù)寄存器的路由選通電路,m位數(shù)據(jù)計(jì)數(shù)器將記錄的輸入數(shù)據(jù)數(shù)目同時(shí)輸入到數(shù)據(jù)存儲(chǔ)位置表和最大計(jì)數(shù)值寄存器,數(shù)據(jù)存儲(chǔ)位置表會(huì)讀取輸入數(shù)據(jù)指示的內(nèi)部寄存器中位置信息,送入各個(gè)路由選通電路對(duì)應(yīng)的譯碼電路,譯碼電路負(fù)責(zé)控制路由選通電路,m位數(shù)據(jù)計(jì)數(shù)器與最大計(jì)數(shù)值寄存器相連,一旦記錄的輸入數(shù)據(jù)個(gè)數(shù)與最大計(jì)數(shù)值寄存器的數(shù)據(jù)相等,則會(huì)產(chǎn)生控制信號(hào),此控制信號(hào)一方面作為m位數(shù)據(jù)計(jì)數(shù)器的清零信號(hào),另一方面作為數(shù)據(jù)輸出觸發(fā)信號(hào)觸發(fā)數(shù)據(jù)寄存器x,x=0,1,......N向外部輸出數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的配置代碼寄存器分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)].]]>
4.根據(jù)權(quán)利要求1所述的粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的合并功能MERGE模塊具有N+1路外部輸入數(shù)據(jù)總線,一路外部輸出數(shù)據(jù)總線,包括有效數(shù)據(jù)標(biāo)志字寄存器、配置代碼1寄存器、配置代碼2寄存器、數(shù)據(jù)存儲(chǔ)位置表、最大計(jì)數(shù)值寄存器、計(jì)數(shù)器、‘1’保持器、存儲(chǔ)數(shù)據(jù)寄存器、路由選通電路及邏輯比較電路;有效數(shù)據(jù)標(biāo)志字寄存器由N+1位組成,每位分別對(duì)應(yīng)外部輸入數(shù)據(jù)x,x=0,1,......N,當(dāng)外部輸入數(shù)據(jù)有效時(shí),有效數(shù)據(jù)標(biāo)志字寄存器中相應(yīng)位置‘1’,否則清零;‘1’保持器作為高電平保持器,在輸入觸發(fā)信號(hào)的作用下,輸出維持高電平,直到有清零信號(hào)到來(lái),恢復(fù)為低電平;存儲(chǔ)數(shù)據(jù)寄存器內(nèi)部由N+1個(gè)寄存器組成,能夠同時(shí)并行存儲(chǔ)外部輸入數(shù)據(jù),并根據(jù)輸入的地址信息,讀出相應(yīng)寄存器中的數(shù)據(jù),向外部輸出;數(shù)據(jù)存儲(chǔ)位置表由N+1個(gè)寄存器組成,其內(nèi)部寄存的數(shù)據(jù)指示輸入數(shù)據(jù)的存儲(chǔ)位置;數(shù)據(jù)計(jì)數(shù)器對(duì)輸入的有效數(shù)據(jù)進(jìn)行計(jì)數(shù);最大計(jì)數(shù)值寄存器存儲(chǔ)被合并輸出的輸入數(shù)據(jù)總線數(shù)目;配置代碼1寄存器預(yù)先存儲(chǔ)輸入數(shù)據(jù)總線中將被合并輸出的數(shù)據(jù)總線信息,由N+1位組成,每位分別對(duì)應(yīng)外部輸入數(shù)據(jù)x,x=0,1,......N,當(dāng)某一位置‘1’時(shí),此位對(duì)應(yīng)的外部輸入數(shù)據(jù)將被合并輸出,配置代碼2寄存器預(yù)先存儲(chǔ)配置數(shù)據(jù);外部輸入的有效數(shù)據(jù)在輸入到存儲(chǔ)數(shù)據(jù)寄存器的同時(shí),數(shù)據(jù)中的有效信息輸入到有效數(shù)據(jù)標(biāo)志字寄存器,它與預(yù)先存儲(chǔ)的配置代碼1寄存器中的數(shù)據(jù)經(jīng)邏輯比較電路,形成控制信號(hào),在此控制信號(hào)有效時(shí),觸發(fā)‘1’保持器,使能計(jì)數(shù)器從零開(kāi)始對(duì)時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù),并同時(shí)切斷外部輸入數(shù)據(jù)路由選通電路,不接收新的外部輸入數(shù)據(jù),輸出的計(jì)數(shù)值同時(shí)輸入到數(shù)據(jù)存儲(chǔ)位置表和最大計(jì)數(shù)值寄存器;數(shù)據(jù)存儲(chǔ)位置表讀取輸入數(shù)據(jù)指示的內(nèi)部寄存器中位置信息,送入存儲(chǔ)數(shù)據(jù)寄存器,以向外部輸出數(shù)據(jù);計(jì)數(shù)器與最大計(jì)數(shù)值寄存器相連,一旦計(jì)數(shù)值與最大計(jì)數(shù)值寄存器的數(shù)據(jù)相等,產(chǎn)生控制信號(hào),恢復(fù)‘1’保持器為低電平狀態(tài)。
5.根據(jù)權(quán)利要求4所述的粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的配置代碼2寄存器預(yù)先存儲(chǔ)的配置數(shù)據(jù)分為兩部分高(m+1)比特作為第一部分,其余的4×(N+1)比特,每4比特一組,作為第二部分,其N與m的關(guān)系為m=[log2(N+1)].]]>
6.根據(jù)權(quán)利要求1所述的粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的RAM功能控制器包括計(jì)數(shù)器、長(zhǎng)度寄存器、DMA傳輸數(shù)據(jù)長(zhǎng)度配置存儲(chǔ)器、RAM功能配置存儲(chǔ)器、功能控制寄存器、讀寫信號(hào)發(fā)生器和邏輯比較電路;計(jì)數(shù)器負(fù)責(zé)在DMA工作方式下對(duì)輸入的時(shí)鐘進(jìn)行計(jì)數(shù),同時(shí)此時(shí)鐘信號(hào)作為遞增功能觸發(fā)信號(hào)向外輸入到地址發(fā)生器中;RAM功能配置存儲(chǔ)器分別與功能控制寄存器中的各位相對(duì)應(yīng);讀寫信號(hào)發(fā)生器負(fù)責(zé)產(chǎn)生讀取外部RAM的讀寫信號(hào);DMA傳輸數(shù)據(jù)長(zhǎng)度配置存儲(chǔ)器和RAM功能配置存儲(chǔ)器預(yù)先存儲(chǔ)的配置數(shù)據(jù)分別寫入長(zhǎng)度寄存器和功能控制寄存器,功能控制寄存器中的DMA方式控制位與時(shí)鐘信信號(hào)經(jīng)過(guò)邏輯組合后,即作為遞增功能出發(fā)信號(hào)向外輸出,又輸入到計(jì)數(shù)器對(duì)其進(jìn)行計(jì)數(shù),計(jì)數(shù)器中的數(shù)值與長(zhǎng)度寄存器同時(shí)輸入邏輯比較電路,如果比較一致,則形成DMA結(jié)束信號(hào)向外輸出;否則,允許讀寫信號(hào)發(fā)生器在DMA方式下產(chǎn)生讀寫信號(hào),外部輸入數(shù)據(jù)總線形成的有效數(shù)據(jù)標(biāo)志字寄存器在正常讀方式下,在讀寫信號(hào)發(fā)生器內(nèi)部與時(shí)鐘信號(hào)經(jīng)邏輯組合形成向外輸出的讀RD、寫WR控制信號(hào)。
7.根據(jù)權(quán)利要求1所述的粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu),其特征在于所述的地址發(fā)生器模塊包括遞增功能控制器、DMA起始地址配置寄存器、RAM功能配置存儲(chǔ)器、功能控制寄存器及有效數(shù)據(jù)標(biāo)志字寄存器單元;遞增功能控制器負(fù)責(zé)在DMA方式工作時(shí),對(duì)初始輸入的數(shù)據(jù)在外部遞增功能觸發(fā)信號(hào)的作用下,不斷加1,并從輸出地址總線輸出,在正常讀寫工作方式時(shí),則僅將輸入的數(shù)據(jù)作為地址直接輸出;DMA起始地址配置寄存器負(fù)責(zé)配置DMA方式工作時(shí)的起始地址信息;RAM功能配置存儲(chǔ)器分別與功能控制寄存器中的各位相對(duì)應(yīng);外部輸入數(shù)據(jù)總線和DMA起始地址配置寄存器中的數(shù)據(jù)同時(shí)輸入到內(nèi)部的多路選擇器,多路選擇器選擇的數(shù)據(jù)輸入遞增功能控制器,多路選擇器的選通控制信號(hào)主要依靠?jī)蓚€(gè)信號(hào)實(shí)現(xiàn)DMA工作方式下與延遲輸入的外部配置命令經(jīng)組合邏輯形成的控制信號(hào);正常讀方式下外部輸入數(shù)據(jù)總線形成的數(shù)據(jù)有效信號(hào)。
全文摘要
粗粒度可重配置計(jì)算結(jié)構(gòu)中數(shù)據(jù)輸入輸出結(jié)構(gòu)包括分散功能DEMUX模塊、合并功能MERGE模塊、RAM功能控制器、地址發(fā)生器、RAM和交叉條C1、C2、C3,交叉條C1為DEMUX模塊選擇輸入的數(shù)據(jù)總線,被C1選中后的數(shù)據(jù)輸入到DEMUX模塊,經(jīng)DEMUX模塊分散控制后的數(shù)據(jù)輸入處理單元陣列PEA進(jìn)行處理;從處理單元陣列PEA輸出的多路數(shù)據(jù)總線經(jīng)MERGE合并為一條數(shù)據(jù)總線輸出,此數(shù)據(jù)通過(guò)交叉條C2控制后輸出,或通過(guò)交叉條C3控制,輸入到RAM或者輸出數(shù)據(jù)到相鄰PEA;地址發(fā)生器和RAM功能控制器為正確執(zhí)行寫入及讀出RAM中數(shù)據(jù)操作產(chǎn)生必須的地址信息和控制信號(hào);從RAM中讀出的數(shù)據(jù)允許通過(guò)交叉條C3的控制,反饋到交叉條C1或者輸出數(shù)據(jù)到相鄰PEA。本發(fā)明利于映射算法中數(shù)據(jù)的輸入輸出,同時(shí)又減少了輸入輸出端口。
文檔編號(hào)G06F15/78GK101030191SQ20071006542
公開(kāi)日2007年9月5日 申請(qǐng)日期2007年4月13日 優(yōu)先權(quán)日2007年4月13日
發(fā)明者宋立國(guó) 申請(qǐng)人:北京時(shí)代民芯科技有限公司