欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)處理裝置和程序的制作方法

文檔序號:6442565閱讀:374來源:國知局
專利名稱:數(shù)據(jù)處理裝置和程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理裝置,涉及有效進(jìn)行所謂圖像數(shù)據(jù)、聲音數(shù)據(jù)的解碼處理的媒體處理、通信數(shù)據(jù)的解調(diào)處理時的改進(jìn)。
背景技術(shù)
在所謂圖像數(shù)據(jù)、聲音數(shù)據(jù)的解碼處理的媒體處理、通信數(shù)據(jù)的解調(diào)處理中,處理N×M的二維配置的矩陣狀數(shù)據(jù)的機(jī)會非常多。為高速進(jìn)行對數(shù)據(jù)矩陣的處理,有在進(jìn)行媒體處理的數(shù)據(jù)處理裝置中采用適合于多個數(shù)據(jù)處理的并行的結(jié)構(gòu)體系的傾向。一般地,對數(shù)據(jù)矩陣的高速處理通過處理元件(下面簡稱PE)數(shù)目增加的量擴(kuò)張實(shí)現(xiàn)。所謂PE是包含運(yùn)算單元、對運(yùn)算單元提供數(shù)據(jù)用的寄存器等的硬件的擴(kuò)張單位。通過在處理器上具備對應(yīng)應(yīng)并行執(zhí)行的運(yùn)算數(shù)的PE來使處理器適合于并列化的是原來的面向媒體處理的數(shù)據(jù)處理裝置的結(jié)構(gòu)體系。
說明在數(shù)據(jù)矩陣為縱向16×橫向16的要素構(gòu)成的情況下如何構(gòu)成數(shù)據(jù)處理裝置。存儲器器件中存儲縱向16×橫向16個數(shù)據(jù)要素構(gòu)成的數(shù)據(jù)矩陣,數(shù)據(jù)矩陣的縱向16個數(shù)據(jù)列被分配給16個PE的每一個。每次數(shù)據(jù)矩陣的橫向16個數(shù)據(jù)從存儲器器件讀出時,對分配的數(shù)據(jù)的處理在16個PE中同時進(jìn)行。這樣,對16個數(shù)據(jù)的處理在1個循環(huán)中完成。同樣的處理反復(fù)16個循環(huán),則在16個循環(huán)中完成對縱向16×橫向16的處理。
但是,16個運(yùn)算的并列化開始通過把16個成為操作符的數(shù)據(jù)同時提供給16個PE內(nèi)的運(yùn)算單元實(shí)現(xiàn)。并非將自身分配的縱向16個數(shù)據(jù)列,而是將不同的縱向16個數(shù)據(jù)列作為操作符的運(yùn)算由PE內(nèi)的運(yùn)算單元進(jìn)行時,不能通過改換數(shù)據(jù)矩陣的數(shù)據(jù)配置提供給PE。該改換處理浪費(fèi)時間,不可能同時提供,PE的運(yùn)轉(zhuǎn)效率極度降低。即,具有多個PE的結(jié)構(gòu)體系在成為操作符的數(shù)據(jù)列的提供中產(chǎn)生變化時孕育著處理效率急劇降低的脆弱性。
媒體處理中,產(chǎn)生數(shù)據(jù)矩陣的要素改換的情況多得不勝枚舉。每次要素改換都產(chǎn)生運(yùn)轉(zhuǎn)效率降落,因此當(dāng)然不能滿足數(shù)字家電設(shè)備要求的嚴(yán)格的動作規(guī)格。因此處理器的開發(fā)者把媒體處理中PE要進(jìn)行的運(yùn)算種類進(jìn)行匯集,對成為對象的每一種運(yùn)算進(jìn)行結(jié)構(gòu)體系的設(shè)計(jì)和修改,非常麻煩。設(shè)計(jì)的修改手續(xù)會忙壞開發(fā)者,進(jìn)行媒體處理的數(shù)據(jù)處理裝置的開發(fā)恐怕也會有長期化的傾向。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種即便操作符的分配等中產(chǎn)生變化也能普遍地維持?jǐn)?shù)據(jù)處理裝置的運(yùn)轉(zhuǎn)效率的數(shù)據(jù)處理裝置。
本發(fā)明的數(shù)據(jù)處理裝置包括n個處理元件和同時執(zhí)行n個輸入輸出的1輸入-n輸出選擇器,n個處理元件分別包含寄存器文件和運(yùn)算單元,每個輸入輸出將某個處理元件內(nèi)的寄存器文件作為輸入源,將某個處理元件內(nèi)的運(yùn)算單元作為輸出目的地(n是2以上的整數(shù),l是1以上n以下的整數(shù))。
l輸入-n輸出選擇器的輸入輸出是將任意處理元件內(nèi)的寄存器文件作為輸入源、或任何處理元件內(nèi)的運(yùn)算單元作為輸出目的地的,輸入源—輸出目的地的組合可自由設(shè)定,因此在n×m要素構(gòu)成的數(shù)據(jù)矩陣中,m個數(shù)據(jù)列存儲在寄存器文件中的情況下,在對應(yīng)處理元件內(nèi)的運(yùn)算單元的數(shù)據(jù)列以外,也能將與不同的處理元件對應(yīng)的數(shù)據(jù)列作為操作符提供給運(yùn)算單元。在操作符提供中有變化的情況下,也可維持處理元件的運(yùn)轉(zhuǎn)效率。
這里各處理元件的寄存器文件包含存儲縱向m×橫向n個數(shù)據(jù)中的縱向m個數(shù)據(jù)的m個寄存器(m是2以上的整數(shù)),成為輸入輸出對象的數(shù)據(jù)可以是在各寄存器文件中包含的m個寄存器中的1個以上的寄存器存儲的數(shù)據(jù)。
若進(jìn)行從寄存器文件包含的m個寄存器讀出數(shù)據(jù)并將它們提供給n和處理元件內(nèi)的運(yùn)算單元的處理,則可對n個處理元件內(nèi)的運(yùn)算單元提供沒有空隙的數(shù)據(jù)。由此并非在縱向而是在橫向上累計(jì)數(shù)據(jù)矩陣的數(shù)據(jù)的處理可平滑地進(jìn)行。


本發(fā)明的這些和其他目的、優(yōu)點(diǎn)和特征聯(lián)系圖示出本發(fā)明的特定實(shí)施例的附圖從下面的說明中變得明顯。
其中圖1是表示第一實(shí)施例的數(shù)據(jù)處理裝置的內(nèi)部構(gòu)成的圖;
圖2是詳細(xì)表示RF的內(nèi)部結(jié)構(gòu)的圖;圖3是表示網(wǎng)絡(luò)部20的內(nèi)部結(jié)構(gòu)的圖;圖4是表示構(gòu)成網(wǎng)絡(luò)部20的2個選擇器中第一系統(tǒng)選擇器21的圖;圖5是表示第二系統(tǒng)選擇器22的圖;圖6是表示由網(wǎng)絡(luò)部20提供數(shù)據(jù)的一例的圖;圖7是表示第二實(shí)施例的ALU的內(nèi)部結(jié)構(gòu)的圖;圖8是表示P圖像的運(yùn)動補(bǔ)償中應(yīng)用數(shù)據(jù)處理裝置時的應(yīng)用例的圖;圖9是表示對P圖像進(jìn)行運(yùn)動補(bǔ)償時ALU如何進(jìn)行運(yùn)算的圖;圖10是表示對B圖像進(jìn)行運(yùn)動補(bǔ)償時的RF的存儲例的圖;圖11是表示對B圖像進(jìn)行運(yùn)動補(bǔ)償時ALU如何進(jìn)行運(yùn)算的圖;圖12是表示對1個線上存在的32個像素X0-X31中的4個像素X7,X8,X9,X10實(shí)施濾波器處理時的運(yùn)算式的圖;圖13是表示實(shí)現(xiàn)對稱型濾波器時的RF的存儲例的圖;圖14表示該階段1的RF的讀出和ALU的運(yùn)算;圖15表示階段2中網(wǎng)絡(luò)部20進(jìn)行的PE間的輸送;圖16是表示把什么數(shù)據(jù)從各PE內(nèi)的RF輸送到ALU的圖;圖17表示階段3中網(wǎng)絡(luò)部20進(jìn)行的PE間的輸送;圖18是表示把什么數(shù)據(jù)從各PE內(nèi)的RF輸送到ALU的圖;圖19表示階段3的讀出和ALU的運(yùn)算;圖20是表示把什么數(shù)據(jù)從各PE內(nèi)的RF輸送到ALU的圖;圖21是表示階段4中網(wǎng)絡(luò)部20進(jìn)行的輸送的圖;圖22是表示階段4中ALU進(jìn)行的運(yùn)算的圖;圖23是表示具有DDA26的ALU的內(nèi)部結(jié)構(gòu)的圖;圖24是表示具有DDA26和移位器27的ALU的內(nèi)部結(jié)構(gòu)的圖;圖25是表示DDA26作為混合型加法器如何產(chǎn)生功能的圖;圖26是表示格結(jié)構(gòu)(trellis)圖的一例的圖;圖27是表示ビタビ解碼實(shí)現(xiàn)時的功能分配的圖;圖28是表示較好地進(jìn)行acs(add compare select)運(yùn)算的ALU的內(nèi)部結(jié)構(gòu)的圖;圖29是表示解碼器31和變換部32,33,34連接的RF的圖;
圖30是表示PE0的變換部32的內(nèi)部結(jié)構(gòu)的圖;圖31是表示數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖;圖32是表示4個RF中成為讀出對象的寄存器的圖;圖33是表示進(jìn)行水平相加的數(shù)據(jù)處理裝置的動作的圖;圖34是表示實(shí)現(xiàn)矩陣轉(zhuǎn)置的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖;圖35是表示隨著來自解碼器31的變量k的變化RF的輸出遷移的圖;圖36是表示由于加法器的輸出遷移,PE0~PE3內(nèi)的RF中哪個范圍為讀出范圍的圖;圖37是表示水平方向的相加時的數(shù)據(jù)處理裝置的動作的圖;圖38是表示水平方向的相加時的數(shù)據(jù)處理裝置的動作的圖;圖39是表示具有整體解碼器71的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖;圖40是表示數(shù)據(jù)處理裝置的動作定時的定時圖;圖41是表示把某PE內(nèi)的RF的存儲值寫入另外的PE內(nèi)的RF中時的動作的定時圖;圖42是表示移位器27的移位動作時的動作定時的圖;圖43是表示acs運(yùn)算時的動作定時的圖;圖44是表示具有4個向量運(yùn)算部80-83的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖;圖45是是詳細(xì)表示1個向量運(yùn)算部的圖;圖46是表示如何讀出向量運(yùn)算部的雙端口存儲器的存儲單元中存儲的數(shù)據(jù)、如何向各PE輸出的圖;圖47是表示具有輸入輸出指定寄存器90的ALU的內(nèi)部結(jié)構(gòu)的圖;圖48是詳細(xì)表示輸入輸出指定寄存器90的圖;圖49是表示網(wǎng)絡(luò)移位命令的具體設(shè)定例和該設(shè)定時如何執(zhí)行寄存器的讀出的圖;圖50是表示網(wǎng)絡(luò)移位命令的另一例的圖;圖51是表示存儲狀態(tài)標(biāo)記的寄存器的存儲內(nèi)容的圖;圖52是表示ALU的動作的圖;圖53是表示進(jìn)行單字和半字的乘法的乘法器24的構(gòu)成的圖;圖54是表示實(shí)現(xiàn)半字的上下改換的網(wǎng)絡(luò)部20的內(nèi)部結(jié)構(gòu)的圖;
圖55是表示進(jìn)行多個復(fù)數(shù)運(yùn)算時的RF的存儲例的圖;圖56是表示ALU對圖55的存儲內(nèi)容實(shí)現(xiàn)怎樣的運(yùn)算的圖;圖57是表示復(fù)數(shù)之間的乘法程序的圖;圖58是表示復(fù)數(shù)之間的乘法程序的圖;圖59A-B是說明第18實(shí)施例的矩陣的橫向的累計(jì)處理的說明圖;圖60A-C是說明第19實(shí)施例的矩陣的轉(zhuǎn)置處理的說明圖;圖61是表示塊交織前和后的比特系列的比特順序的表;圖62是表示塊交織的不同系列根據(jù)上述更換規(guī)則更換后的不同系列的比特順序的表;圖63表示數(shù)據(jù)處理裝置100的不要部分的構(gòu)成的功能框圖;圖64表示第一緩沖存儲器105的存儲單位的構(gòu)成例;圖65是表示去映射部106的構(gòu)成的框圖;圖66表示第二緩沖存儲器107的存儲單位的構(gòu)成例;圖67是表示PE的構(gòu)成的框圖;圖68是表示FFT運(yùn)算部104把解調(diào)的比特單元塊按塊單位存儲在第一緩沖存儲器105而進(jìn)行的處理的流程圖;圖69是表示從比特單元塊輸出各比特單元而由控制部123進(jìn)行的處理的流程圖;圖70是表示各PE執(zhí)行的運(yùn)算處理的流程圖;圖71是表示去映射部106進(jìn)行的把輸出的比特單元寫入第二緩沖存儲器107的處理的流程圖;圖72是表示數(shù)據(jù)處理裝置200的主要部分的構(gòu)成的功能框圖;圖73是表示去映射部206的構(gòu)成的功能框圖;圖74是表示去映射部206進(jìn)行的比特單元的輸出處理和寫入處理的流程圖。
發(fā)明的
具體實(shí)施例方式
下面說明本發(fā)明的數(shù)據(jù)處理裝置的實(shí)施例。
(第1實(shí)施例)第1實(shí)施例的數(shù)據(jù)處理裝置如圖1所示構(gòu)成來處理縱向16×橫向16的要素構(gòu)成的矩陣。圖1是表示第1實(shí)施例的數(shù)據(jù)處理裝置的簡要構(gòu)成的圖。數(shù)據(jù)處理裝置由與矩陣的橫向的要素?cái)?shù)相同的數(shù)目的PE0~15構(gòu)成。各PE包含算術(shù)運(yùn)算單元(下面簡稱ALU)和寄存器文件(下面簡稱RF)。各PE內(nèi)的算運(yùn)算單元、各PE內(nèi)的寄存器文件都連接網(wǎng)絡(luò)部20。
16個PE內(nèi)的ALU執(zhí)行將RF中存儲的要素作為操作符的運(yùn)算。16個PE的每一個都存在ALU,因此16個運(yùn)算并行執(zhí)行。
各PE內(nèi)的RF包含和矩陣的縱向的要素?cái)?shù)相同數(shù)目的寄存器r0~15。該RF存在于16個PE的每一個中,因此數(shù)據(jù)處理裝置中,縱向16×橫向16個要素構(gòu)成的矩陣由縱向16×橫向16個寄存器保持。
路徑A,B是從RF向同一PE中包含的ALU傳送2個數(shù)據(jù)用的連接線,路徑Y(jié),Z是從ALU向同一PE中包含的RF傳送2個數(shù)據(jù)用的連接線。路徑C,D是經(jīng)網(wǎng)絡(luò)部20把2個數(shù)據(jù)傳送到任意PE內(nèi)的ALU的連接線。
網(wǎng)絡(luò)部20把從各PE的RF經(jīng)路徑C,D傳送的32個數(shù)據(jù)輸送到任意PE內(nèi)的ALU。
以上是第1實(shí)施例的數(shù)據(jù)處理裝置的簡要構(gòu)成。接著按ALU,RF的順序說明PE內(nèi)的構(gòu)成要素的細(xì)節(jié)。
ALU同時執(zhí)行2個把從RF經(jīng)路徑A,B傳送的2個數(shù)據(jù)和從網(wǎng)絡(luò)部20經(jīng)路徑C,D傳送的2個數(shù)據(jù)作為操作符的運(yùn)算。把通過2個運(yùn)算同時執(zhí)行得到的2個運(yùn)算結(jié)果輸出到同一處理元件內(nèi)包含的RF的輸入端口Y、輸入端口Z。
接著參考圖2說明RF。圖2是詳細(xì)表示RF的內(nèi)部結(jié)構(gòu)的圖。如該圖所示,RF具有16個寄存器r0~15、4個輸出端口A,B,C,D和3個輸入端口X,Y,Z,實(shí)現(xiàn)4r-3w的寄存器讀出。各寄存器的字長(字)是2個字節(jié)(=16比特),16個RF總計(jì)保持16×2字節(jié)的數(shù)據(jù)。4r指的是從4個寄存器讀出數(shù)據(jù)、把這4個數(shù)據(jù)經(jīng)4個輸出端口A,B,C,D輸出的意思,意味著同時執(zhí)行4個從16個寄存器中的任意4個寄存器的讀出。4個輸出端口A,B,C,D中2個(A,B)連接同一PE內(nèi)的ALU,剩下2個(C,D)連接網(wǎng)絡(luò)部20。因此,可經(jīng)端口A,B把自身保持的16個要素中的2個提供給同一PE內(nèi)的ALU,把另外2個經(jīng)端口C,D提供給另外的PE內(nèi)的ALU。通過4個端口E,F(xiàn),G,H指定從哪4個寄存器讀出應(yīng)對4個輸出端口輸出的數(shù)據(jù),即進(jìn)行4個讀出源寄存器的指定。
3w意味著從3個輸入端口X,Y,Z取入數(shù)據(jù)、把該3個數(shù)據(jù)寫入3個寄存器,意味著同時執(zhí)行3個對16個寄存器中的任意3個寄存器的寫入。3個輸入端口X,Y,Z中的輸入端口X連接存儲數(shù)據(jù)矩陣的存儲器器件(未示出)、輸入端口Y,Z連接ALU。把從3個輸入端口輸入的3個數(shù)據(jù)寫入哪3個寄存器,即成為寫入目的地的3個寄存器通過3個寫入目的地指定端口I,J,K指定。
以上是PE的內(nèi)部結(jié)構(gòu)的說明。接著說明網(wǎng)絡(luò)部20的內(nèi)部結(jié)構(gòu)。圖3是表示網(wǎng)絡(luò)部20的內(nèi)部結(jié)構(gòu)的圖。如該圖所示,網(wǎng)絡(luò)部20由2個16輸入-16輸出選擇器(第一系統(tǒng)選擇器21、第二系統(tǒng)選擇器22)組成。
圖4是表示構(gòu)成網(wǎng)絡(luò)部20的2個選擇器中的第一系統(tǒng)選擇器21的圖。第一系統(tǒng)選擇器21具有16個輸入端口in0,1,2,3,4,…14,15和16個輸出端口out1,2,3,4,…14,15。16個輸入端口in0,1,2,3,4,…14,15的每一個與16個RF的每一個對應(yīng),該對應(yīng)的RF具有的4個輸出端口A,B,C,D中的輸出端口C連接16輸入-16輸出選擇器側(cè)的輸入端口in0,1,2,3,4,…14,15。另一方面,16輸入-16輸出選擇器的16個輸出端口out1,2,3,4,…14,15與16個ALU分別對應(yīng),該對應(yīng)的ALU具有的4個輸入端口A,B,C,D中輸入端口C與16輸入-16輸出選擇器側(cè)的輸出端口連接。
對于以上的第一系統(tǒng)選擇器21的連接關(guān)系具體如下。第一系統(tǒng)選擇器21的第一輸出端口out0連接PE0的ALU的輸入端口C、第二輸出端口out1連接PE1的ALU的輸入端口C、第三輸出端口out2連接PE2的ALU的輸入端口C。第一系統(tǒng)選擇器21中第一輸入端口in0連接PE0的RF的輸出端口C、第二輸入端口in1連接PE1的RF的輸出端口C、第三輸入端口in2連接PE2的RF的輸出端口C。
圖5是表示第二系統(tǒng)選擇器22的圖。第二系統(tǒng)選擇器22的16個輸入端口in0,1,2,3,4,…14,15的每一個也與16個RF的每一個對應(yīng),與該對應(yīng)的RF具備的4個輸出端口A,B,C,D中的輸出端口D連接。另一方面,16輸入-16輸出選擇器的16個輸出端口out1,2,3,4,…14,15與16個ALU分別對應(yīng),與該對應(yīng)的ALU具有的4個輸出端口A,B,C,D中的輸入端口D連接。
對于第二系統(tǒng)選擇器22的連接關(guān)系具體如下。第二系統(tǒng)選擇器22的第一輸出端口out0連接PE0的ALU的輸入端口D、第二輸出端口out1連接PE1的ALU的輸入端口D、第三輸出端口out2連接PE2的ALU的輸入端口D。第二系統(tǒng)選擇器22中第一輸入端口in0連接PE0的RF的輸出端口D、第二輸入端口in1連接PE1的RF的輸出端口D、第三輸入端口in2連接PE2的RF的輸出端口D。
16個輸入端口in0,1,2,3,4,…14,15、16個輸出端口out1,2,3,4,…14,15這樣連接,因此通過同時執(zhí)行16個輸入輸出可把16個來自RF的輸出端口D的輸出值同時傳送到任意ALU的輸入端口C,D。網(wǎng)絡(luò)部20進(jìn)行把公共RF作為輸入源的2個輸入輸出和把公共的ALU作為輸出目的地的2個輸入輸出。由此,1個PE的RF中存儲的數(shù)據(jù)可同時輸送到2個以上的ALU。
來自RF的4個存儲值的同時輸出是可能的,網(wǎng)絡(luò)部20可把這樣輸出的存儲值輸出到其他PE內(nèi)的ALU,因此可能進(jìn)行如圖6所示的數(shù)據(jù)提供。這里,第i個的PEi的RF中,第j個寄存器j中存儲的數(shù)據(jù)為data(i,j)時,如箭頭ty1,2所示,RF的存儲值中的da ta(0,1),da ta(0,2)提供給PE0內(nèi)的ALU,PE1的RF內(nèi)的da ta(1,2)、PE2的RF內(nèi)的da ta(2,2)如箭頭ty3,4所示經(jīng)網(wǎng)絡(luò)部20提供給PE0。PE0內(nèi)的ALU把將從PE0的RF輸出的da ta(0,1),da ta(0,2)和從PE1,PE2輸出的da ta(1,2),da ta(2,2)相加得到的總計(jì)4個要素作為操作符。
以上根據(jù)本實(shí)施例,多個PE的每一個中內(nèi)置的ALU不僅可在同一PE中內(nèi)置的RF體外,還可將其他PE中包含的RF中存儲的數(shù)據(jù)作為操作符,因此可增大成為運(yùn)算對象的范圍。
網(wǎng)絡(luò)部20的選擇器21,22的輸入源數(shù)目是和寄存器相同數(shù)目的n個,但輸入源的個數(shù)可以是n以外的數(shù)目。輸入源的數(shù)少于n或者大于n都可以。即,各PE的寄存器文件中存在4個輸出端口A,B,C,D,因此其中g(shù)個(g為滿足的2≤g≤4整數(shù))輸出端口分配給選擇器21,22,構(gòu)成g·n輸入-n輸出選擇器。并且,網(wǎng)絡(luò)部20內(nèi)置該選擇器,使得在該g·n輸入-n輸出選擇器中進(jìn)行g(shù)×n個輸入源和n個輸出目的地的輸入輸出。
(第2實(shí)施例)本實(shí)施例涉及數(shù)據(jù)處理裝置用于運(yùn)動補(bǔ)償用途、濾波器處理用途的2個用途中時的改進(jìn)。
說明進(jìn)行運(yùn)動補(bǔ)償和濾波器處理時的ALU的內(nèi)部結(jié)構(gòu)。本實(shí)施例的ALU將輸入4個輸入端口A,B,C,D的4個數(shù)據(jù)作為操作符A,B,C,D,進(jìn)行操作符A+的運(yùn)算。圖7是表示本實(shí)施例的ALU的內(nèi)部結(jié)構(gòu)的圖,如該圖所示,ALU包括將操作符C和操作符D相加的加法器23、把操作符B乘以相加結(jié)果(操作符C+操作符D)的乘法器24、把操作符A與乘法結(jié)果操作符B×(操作符C+操作符D)相加并得到相加結(jié)果操作符A+操作符B×(操作符C+操作符D)的累加器。本說明書中具有相加功能的構(gòu)成要素不限于相加處理,可進(jìn)行減法處理。
使用以上構(gòu)成的ALU和第一實(shí)施例所示的RF、網(wǎng)絡(luò)部20實(shí)現(xiàn)運(yùn)動補(bǔ)償和濾波器處理。
首先說明在運(yùn)動補(bǔ)償中應(yīng)用數(shù)據(jù)處理裝置的情況的應(yīng)用例子。運(yùn)動補(bǔ)償中有P圖像的運(yùn)動補(bǔ)償和B圖像的運(yùn)動補(bǔ)償。P圖像是指由和過去方向的參照圖像的差分表現(xiàn)的圖像數(shù)據(jù),對P圖像的運(yùn)動補(bǔ)償通過在過去方向的圖像的像素中加上P圖像的像素的處理實(shí)現(xiàn)。B圖像是通過過去方向的參照圖像和未來方向的參照圖像的差分表現(xiàn)的圖像數(shù)據(jù),對B圖像的運(yùn)動補(bǔ)償通過在過去方向的圖像的像素和未來方向的圖像中加上B圖像的像素的處理實(shí)現(xiàn)。
圖8是表示在對P圖像的運(yùn)動補(bǔ)償中應(yīng)用數(shù)據(jù)處理裝置時的應(yīng)用例子的圖。本圖的D0~D7是差分圖像的一條線上的像素。P0~P7是過去方向的參照圖像的一條線上的像素。圖8的例子中,D0~D7存儲在PE0~PE7的寄存器r0中、P0~P7存儲在PE0~PE7的寄存器r1中。這些像素分別從RF輸送到同一PE內(nèi)的ALU。圖9是本實(shí)施例的數(shù)據(jù)處理裝置進(jìn)行運(yùn)動補(bǔ)償時的動作的圖。像素D0,P0如箭頭uy1,uy2所示輸送到PE0的ALU,像素D1,P1如箭頭uy3,uy4所示輸送到PE1的ALU,像素D2,P2如箭頭uy5,uy6所示輸送到PE2的ALU。
圖9中,進(jìn)行輸送的像素之間的相加。PE0內(nèi)的ALU的加法器進(jìn)行像素D0和像素P0的相加,PE1內(nèi)的ALU的加法器進(jìn)行像素D1和像素P1的相加,PE2內(nèi)的ALU的加法器進(jìn)行像素D2和像素P2的相加。通過以上的ALU的相加實(shí)現(xiàn)對P圖像的運(yùn)動補(bǔ)償。
圖10是表示對B圖像進(jìn)行運(yùn)動補(bǔ)償時的RF的存儲例子的圖。與圖9同樣,PE0~PE7的寄存器r0中存儲D0~D7,寄存器r1中存儲P0~P7,寄存器r2中存儲B0~B7。各PE的RF把這些像素輸送到同一PE內(nèi)的ALU。圖11是表示對B圖像進(jìn)行運(yùn)動補(bǔ)償時ALU如何進(jìn)行運(yùn)算的圖。PE0的RF如箭頭By0,1,2所示輸出像素D0,P0,B0,PE1的RF如箭頭By3,4,5所示輸出像素D1,P1,B1,PE2的RF如箭頭By6,7,8所示輸出像素D2,P2,B2。各PE內(nèi)的ALU對這樣輸送的像素進(jìn)行運(yùn)動補(bǔ)償。PE0內(nèi)的ALU中通過加法器進(jìn)行B0+P0的相加,PE0內(nèi)的乘法器進(jìn)行在相加結(jié)果(B0+P0)上乘以1/2的乘法運(yùn)算,而且由PE0內(nèi)的累加器進(jìn)行將乘法運(yùn)算結(jié)果1/2·(B0+P0)上加上D0的運(yùn)算,如上是對B圖像的運(yùn)動補(bǔ)償。
接著,說明在動畫壓縮處理、解壓縮處理、進(jìn)行尺寸修訂時頻繁使用的濾波器處理中應(yīng)用數(shù)據(jù)處理裝置時的應(yīng)用例子。圖像的尺寸修訂的實(shí)現(xiàn)中,F(xiàn)IR(Finite Impulse Response)濾波器等具有濾波器系數(shù)對稱性質(zhì)的濾波器運(yùn)算是有效的。這里對成為對象的像素Xj實(shí)施對稱型濾波時,要在比Xj靠后i個的像素Xj+i和比Xj靠前i個的像素Xj-i上相乘的濾波器系數(shù)是相同的。下面說明對1個線上存在的X0~X3實(shí)施對稱型濾波時的運(yùn)算例。圖12是表示對1個線上存在的32個像素X0~X31中的4個像素X7,X8,X9,X10實(shí)施濾波器處理時的運(yùn)算式的圖。圖12A是通過對稱型濾波算出X0~X31中的X7像素值時的例子,圖12B是通過對稱型濾波算出X0~X31中的X8像素值時的例子,圖12C是通過對稱型濾波算出X0~X31中的X9像素值時的例子,圖12D是通過對稱型濾波算出X0~X31中的X10像素值時的例子。圖12A中像素X7的像素值上乘以濾波器系數(shù)a0、像素X6和X8的像素值上乘以濾波器系數(shù)a1、像素X9和X5的像素值上乘以濾波器系數(shù)a2、像素X4和X10的像素值上乘以濾波器系數(shù)a3、像素X3和X11的像素值上乘以濾波器系數(shù)a4。像素X6和X8、X9和X5、X4和X10、X3和X11分別為相同濾波器系數(shù),這些相對像素X7是線對稱關(guān)系。
圖12A~D中式1,2,3,4是對像素X7,X8,X9,X10實(shí)施對稱型濾波時的運(yùn)算式。數(shù)據(jù)處理裝置把這些運(yùn)算式分為多個部分項(xiàng),同時執(zhí)行這些部分項(xiàng)。即,圖12A~D的式中部分項(xiàng)Stage1對像素X7,X8,X9,X10同時執(zhí)行,接著部分項(xiàng)Stage2對像素X6,X7,X8,X9,X10,X11同時執(zhí)行,部分項(xiàng)Stage3對像素X5,X6,X7,X8,X9,X10,X11,X12同時執(zhí)行,部分項(xiàng)Stage4對像素X4,X5,X6,X7,X8,X9,X10,X11,X12,X13同時執(zhí)行。參考圖13說明對4個像素實(shí)現(xiàn)對稱型濾波的RF的設(shè)定例。圖13表示實(shí)現(xiàn)對稱型濾波時的RF的存儲例的圖。PE0~PE15的寄存器r0中存儲X0~X15、PE0~PE15的寄存器r1中存儲X16~X31。
PE0~PE15的寄存器r2分配用于存儲各PE的運(yùn)算結(jié)果。PE0的寄存器r2分配用于存儲PE0的ALU的運(yùn)算結(jié)果,PE1的寄存器r2分配用于存儲PE1的ALU的運(yùn)算結(jié)果,PE2的寄存器r2分配用于存儲PE2的ALU的運(yùn)算結(jié)果,PE3的寄存器r2分配用于存儲PE3的ALU的運(yùn)算結(jié)果。
PE0~PE15的寄存器r3~r7中分別存儲a0~a4的濾波器系數(shù)。即,PE0的寄存器r3~r7中存儲濾波器系數(shù)a0~a4,PE1的寄存器r3~r7中頁存儲濾波器系數(shù)a0~a4,PE2的寄存器r3~r7中頁存儲濾波器系數(shù)a0~a4。濾波器系數(shù)和像素值這樣存儲,因此PE內(nèi)的ALU可從與自身相同的PE中包含的RF取出希望的像素的像素值,經(jīng)網(wǎng)絡(luò)部20取出相鄰方向的希望的像素。
接著說明對稱型濾波如何執(zhí)行。用于進(jìn)行對稱型濾波的運(yùn)算由Stage1~Stage4的4個部分項(xiàng)構(gòu)成,因此首先,進(jìn)行部分項(xiàng)Stage1的運(yùn)算,即執(zhí)行a0·X7、a0·X8、a0·X9、a0·X10的運(yùn)算。
<Stage1>
圖14表示該Stage1的RF的讀入和ALU的運(yùn)算。要對像素X7,X8,X9,X10進(jìn)行對稱型濾波的PE7~PE10的ALU從與自身對應(yīng)的RF如箭頭cy0,1,2,3所示讀出像素X7,X8,X9,X10的像素值,如箭頭cy4,5,6,7所示讀出濾波器系數(shù)a0。讀出后,PE7的乘法器把像素值X7乘以濾波器系數(shù)a0,PE8的乘法器把像素值X8乘以濾波器系數(shù)a0,PE9的乘法器把像素值X9乘以濾波器系數(shù)a0,PE10的乘法器把像素值X10乘以濾波器系數(shù)a0。通過這些乘法運(yùn)算得到的運(yùn)算結(jié)果a0·X7、a0·X8、a0·X9、a0·X10分別寫入PE0~PE15的寄存器r2中。
<Stage2>
圖15表示Stage2中由網(wǎng)絡(luò)部20進(jìn)行的PE間的輸送。Stage2中由于相鄰要素是必要的,將相鄰要素如圖15所示輸送給網(wǎng)絡(luò)部20。PE6和PE8的RF中存儲的像素X6,X8的像素值輸送給PE7的ALU,PE7和PE9的RF中存儲的像素X7,X9的像素值輸送給PE8的ALU,PE11和PE9的RF中存儲的像素X11,X9的像素值輸送給PE10的ALU。圖16是表示從各PE內(nèi)的RF向ALU輸送何種數(shù)據(jù)的圖。本圖中如箭頭ey0,1,2,3所示,PE7,PE8,PE9,PE10的運(yùn)算結(jié)果a0·X7、a0·X8、a0·X9、a0·X10輸送到相同的PE內(nèi)的ALU,同時如箭頭ey4,ey5,ey6,ey7所示輸送濾波器系數(shù)a1。如圖15所示從網(wǎng)絡(luò)部20向PE7輸送像素X6,X8的像素值,向PE8輸送像素像素X7,X9的像素值,向PE9輸送像素X10,X8的像素值,向PE10輸送像素X11,X9的像素值,因此各PE內(nèi)的ALU執(zhí)行使用輸送的像素值和濾波器系數(shù)的乘法運(yùn)算和相加運(yùn)算。
PE7的ALU內(nèi)的加法器如圖16A所示進(jìn)行像素值X6+X8的相加,PE7的乘法器進(jìn)行a1·(X6+X8)的乘法運(yùn)算,PE7的累加器25進(jìn)行把Stage1的運(yùn)算結(jié)果a0·X7與a1·(X6+X8)相加的處理。將該運(yùn)算結(jié)果a0·X7+a1·(X6+X8)寫入相同PE內(nèi)的寄存器r2中。
PE8的ALU內(nèi)的加法器如圖16B所示進(jìn)行X7+X9的相加,PE8的乘法器24進(jìn)行a1·(X7+X9)的乘法運(yùn)算,PE8的累加器進(jìn)行把Stage1的運(yùn)算結(jié)果a0·X8與a1·(X7+X9)相加的處理。將該運(yùn)算結(jié)果a0·X8+a1·(X7+X9)寫入相同PE內(nèi)的寄存器r2中。
PE9的ALU同樣如圖16C所示進(jìn)行a0·X9+a1·(X10+X8)的運(yùn)算、PE10的ALU同樣如圖16D所示進(jìn)行a0·X10+a1·(X11+X9)的運(yùn)算,借此完成到圖12A~D的Stage2的部分項(xiàng)的計(jì)算。
<Stage3>
圖17表示Stage3中網(wǎng)絡(luò)部20進(jìn)行的PE間的輸送。Stage3中由于位于2像素端的像素是必要的,網(wǎng)絡(luò)部20如圖17所示輸送位于2像素端的像素。PE5和PE9的RF中存儲的像素X5和X9的像素值輸送到PE7的ALU中,PE6和PE10的RF中存儲的像素X6和X10的像素值輸送到PE8的ALU中,PE7和PE11的RF中存儲的像素X7和X11的像素值輸送到PE9的ALU中,PE8和PE12的RF中存儲的像素X8和X12的像素值輸送到PE10的ALU中。圖18是表示把何種數(shù)據(jù)從各PE內(nèi)的RF輸送到ALU的圖。本圖中,如箭頭fy0,1,2,3所示,PE7,PE8,PE9,PE10的運(yùn)算結(jié)果a0·X7+a1·(X6+X8)、a0·X8+a1·(X7+X9)、a0·X9+a1·(X10+X8)、a0·X10+a1·(X11+X9)輸送到相同的PE內(nèi)的ALU,同時如箭頭fy4,5,6,7所示輸送濾波器系數(shù)a2。如圖17所示從網(wǎng)絡(luò)部20向PE7輸送像素值X5,X9、向PE8輸送像素值X6,X10、向PE9輸送像素值X7,X11、向PE10輸送像素值X8,X12,因此各PE內(nèi)的ALU執(zhí)行使用輸送的像素值和濾波器系數(shù)的乘法運(yùn)算和相加運(yùn)算。
PE7的加法器如圖18A所示進(jìn)行X5+X9的相加,PE7的乘法器進(jìn)行a2·(X5+X9)的乘法運(yùn)算,PE7的累加器進(jìn)行把Stage1的運(yùn)算結(jié)果a0·X7+a1·(X6+X8)與a2·(X5+X9)相加的處理。將該運(yùn)算結(jié)果a0·X7+a1·(X6+X8)+a2·(X5+X9)寫入相同PE內(nèi)的寄存器r2中。
PE8的ALU內(nèi)的加法器如圖18B所示進(jìn)行X6+X10的相加,PE8的乘法器進(jìn)行a2·(X6+X10)的乘法運(yùn)算,PE8的累加器進(jìn)行把Stage1的運(yùn)算結(jié)果a0·X8+a1·(X7+X9)與a2·(X6+X10)相加的處理。將該運(yùn)算結(jié)果a0·X8+a1·(X7+X9)+a2·(X6+X10)寫入相同PE內(nèi)的寄存器r2中。
PE9同樣如圖18C所示進(jìn)行a0·X9+a1·(X10+X8)+a2·(X11+X7)的運(yùn)算、PE10同樣如圖18D所示進(jìn)行a0·X10+a1·(X11+X9)+a2·(X12+X8)的運(yùn)算,借此完成到圖12A~D的Stage2的部分項(xiàng)的計(jì)算。
<Stage3>
圖19表示Stage3的讀寫和ALU的運(yùn)算。Stage3中,由于位于3像素端的像素是必要的,網(wǎng)絡(luò)部20如圖19所示輸送位于3像素端的像素。PE4和PE10的RF中存儲的X4和X10輸送到PE7的ALU中,PE5和PE11的RF中存儲的X5和X11輸送到PE8的ALU中,PE6和PE12的RF中存儲的X6和X12輸送到PE9的ALU中,PE7和PE13的RF中存儲的X7和X13輸送到PE10的ALU中。圖20是表示把何種數(shù)據(jù)從各PE內(nèi)的RF輸送到ALU的圖。本圖中,如箭頭gy0,1,2,3所示,PE7,PE8,PE9,PE10的運(yùn)算結(jié)果a0·X7+a1·(X6+X8)+a2·(X5+X9)、a0·X8+a1·(X7+X9)+a2·(X6+X10)、a0·X9+a1·(X10+X8)+a2·(X7+X11)、a0·X10+a1·(X11+X9)+a2·(X8+X12)輸送到相同的PE內(nèi)的ALU,同時如箭頭gy4,5,6,7所示輸送濾波器系數(shù)a3。如圖19所示從網(wǎng)絡(luò)部20向PE7輸送X4,X10的像素值、向PE8輸送X5,X11的像素值、向PE9輸送X6,X12的像素值、向PE10輸送X7,X13的像素值,因此各PE內(nèi)的ALU執(zhí)行使用輸送的像素值和濾波器系數(shù)的乘法運(yùn)算和相加運(yùn)算。
PE7的ALU內(nèi)的加法器如圖20A所示進(jìn)行X4+X10的相加,PE7的乘法器24進(jìn)行a3·(X4+X10)的乘法運(yùn)算,PE7的累加器進(jìn)行把Stage1的運(yùn)算結(jié)果a0·X7+a1·(X6+X8)+a2·(X5+X9)與a3·(X4+X10)相加的處理。將該運(yùn)算結(jié)果a0·X7+a1·(X6+X8)+a2·(X5+X9)+a3·(X4+X10)寫入相同PE內(nèi)的寄存器r2中。
PE8的加法器如圖20B所示進(jìn)行X5+X11的相加,PE8的乘法器進(jìn)行a3·(X5+X11)的乘法運(yùn)算,PE8的累加器進(jìn)行把Stage1的運(yùn)算結(jié)果a0·X8+a1·(X7+X9)+a2·(X6+X10)與a3·(X5+X11)相加的處理。將該運(yùn)算結(jié)果a0·X8+a1·(X7+X9)+a2·(X6+X10)+a3·(X5+X11)寫入相同PE內(nèi)的寄存器r2中。
PE9同樣如圖20C所示進(jìn)行a0·X9+a1·(X10+X8)+a2·(X11+X7)+a3·(X6+X12)的運(yùn)算、PE10同樣如圖20D所示進(jìn)行a0·X10+a1·(X11+X9)+a2·(X12+X8)+a3·(X7+X13)的運(yùn)算,借此完成到圖12A~D的Stage3的部分項(xiàng)的計(jì)算。
以下對于Stage4反復(fù)同樣的程序。圖21表示在Stage4中網(wǎng)絡(luò)部20進(jìn)行的輸送。圖22表示在Stage4中由ALU進(jìn)行的運(yùn)算。
通過數(shù)據(jù)處理裝置進(jìn)行以上的處理,可在4個階段執(zhí)行濾波器系數(shù)為4個的對稱型濾波。
根據(jù)以上所述本實(shí)施例,變更RF的設(shè)定和網(wǎng)絡(luò)部20的輸送的組合可把數(shù)據(jù)處理裝置用于運(yùn)動補(bǔ)償。把數(shù)據(jù)處理裝置用于對稱型濾波器,因此可在運(yùn)動補(bǔ)償用途和對稱型濾波器的用途中共用數(shù)據(jù)處理裝置。
(第3實(shí)施例)本實(shí)施例公開了在實(shí)現(xiàn)運(yùn)動補(bǔ)償和濾波器處理時按某一定間隔讀出像素的控制是如何實(shí)現(xiàn)的。圖23是表示本實(shí)施例的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖。本圖中的特征是差分加法器(DDA)26設(shè)置在PE0的ALU內(nèi)。DDA26設(shè)置在從PE0到PE15的全部上,不僅對第一系統(tǒng)選擇器21而且也對第二系統(tǒng)選擇器22進(jìn)行連接。但是為簡化起見,后面的說明中以PE0內(nèi)的DDA26為對象。
DDA26控制網(wǎng)絡(luò)部20,使得通過矩陣的第s列的要素da ta[s]、一定間隔為α?xí)r,將該一定間隔作為差分進(jìn)行s←s+α運(yùn)算變更變量s,把要素da ta[s]輸出到ALU。矩陣的第s列的要素da ta[s]存儲在PE[s]的RF中,因此DDA26控制網(wǎng)絡(luò)部20的輸入輸出使得向自身提供該RF內(nèi)的要素da ta[s]。
變量s的初始值設(shè)為0、一定間隔設(shè)為3時,DDA26向網(wǎng)絡(luò)部20輸出
,[3],[6],[9],[12],以便輸送PE0,PE3,PE6,PE9,PE12中存儲的da ta
,da ta[3],da ta[6],da ta[9],da ta[12]。
變量s的初始值設(shè)為0、一定間隔設(shè)為2時,DDA26向網(wǎng)絡(luò)部20輸出
,[2],[4],[6],[8],以便輸送PE0,PE2,PE4,PE6,PE8中存儲的da ta
,da ta[2],da ta[4],da ta[6],da ta[8]。
根據(jù)以上本實(shí)施例,可高速執(zhí)行把多個像素的像素值按2像素置、三像素置讀出的動作,適合執(zhí)行第二實(shí)施例所示的濾波器處理。
DDA26要相加的偏置希望通過命令設(shè)定。因?yàn)橐x出數(shù)據(jù)的一定間隔能夠可編程地設(shè)定。
(第4實(shí)施例)本實(shí)施例涉及DDA26要計(jì)算的一定間隔為帶小數(shù)點(diǎn)的整數(shù)時的改進(jìn)。這里s的初始值設(shè)為0、一定間隔α設(shè)為1.5時,DDA26輸出
,[1.5],[3.0],[4.5],[6.0]....的值。由此矩陣的第0列、第1.5列、第3.0列、第4.5列、第6.0列....的要素被指定。
即DDA26的運(yùn)算結(jié)果為t+β時,(t為整數(shù),β為小數(shù)部分),第t+β列的要素由下面的式5算出。
<式5>
da ta[t+β]=β×da ta[t]+(1-β)×da ta[t+1]該式5中,“β×da ta[t]+(1-β)×da ta[t+1]”的意義如下。即,在矩陣中位于第t+β列的要素僅接受β的位于第t列的要素的影響,僅接受(1-β)的位于第t+1列的要素的影響。
本實(shí)施例的數(shù)據(jù)處理裝置進(jìn)行兩次的矩陣的要素讀出。第一次讀出矩陣的第t列的要素da ta[t]和系數(shù)β。ALU內(nèi)的乘法器24把β乘以要素da ta[t]并把乘法結(jié)果β·da ta[t]寫回RF中。
第二次讀出矩陣的第t+1的要素da ta[t+1]和系數(shù)β以及乘法結(jié)果β·da ta[t]。ALU內(nèi)的加法器23算出1-β,ALU內(nèi)的乘法器24把1-β乘以要素da ta[t+1],得到乘法結(jié)果(1-β)×da ta[t+1],把把乘法結(jié)果β·da ta[t]與乘法結(jié)果(1-β)×da ta[t+1]相加得到β×da ta[t]+(1-β)×da ta[t+1]。
根據(jù)以上本實(shí)施例,可在1.5像素置、3像素置讀出多個像素的像素值,適合執(zhí)行第二實(shí)施例所示的濾波器處理。
(第5實(shí)施例)本實(shí)施例公開了為得到第2實(shí)施例所示的濾波處理的結(jié)果而進(jìn)行的改進(jìn)。圖24是表示本實(shí)施例的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖。本圖中第二實(shí)施例所示的加法器23、乘法器24、累加器25和第三實(shí)施例所示的DDA26都配置在相同ALU內(nèi)來進(jìn)行描述。此外,在ALU內(nèi)設(shè)置移位器27。本圖中DDA26和路徑HA,HB,HC,HD連接以取入4個輸入端口輸入的操作符。另一方面,移位器27經(jīng)路徑HE,HF和路徑HA或HB、和HD連接。
移位器27對累加器27的累加結(jié)果進(jìn)行移位。進(jìn)行移位有下面2個意義。第一個意義是為了把累加器25的累加結(jié)果用至此相加的像素個數(shù)分割的目的。第二個意義是為了累加結(jié)果的小數(shù)點(diǎn)的調(diào)整的目的。乘法器24要相乘的濾波器系數(shù)是帶有小數(shù)點(diǎn)的整數(shù),該乘法器24的乘法運(yùn)算結(jié)果也是帶小數(shù)點(diǎn)的整數(shù)。將這種乘法結(jié)果用累加器25相加時,累加結(jié)果的小數(shù)點(diǎn)的位置會變動。要把這種小數(shù)點(diǎn)位置返回原來位置,移位器27進(jìn)行移位。移位器27把經(jīng)路徑HE輸入的累加結(jié)果僅移動路徑HF表示的移位量。該移位結(jié)果寫入RF中。以上是移位器27的說明。隨著移位器27的追加,本實(shí)施例的DDA26中可追加以下功能。
本實(shí)施例的DDA26具有作為混合型加法器的功能,執(zhí)行由移位器27調(diào)整小數(shù)點(diǎn)的累加結(jié)果與2個常數(shù)C1,C2的蝶式運(yùn)算?;旌闲图臃ㄆ魇侵妇哂?個DDA26作為2個加法器的組合的功能。圖25是表示DDA26作為混合型加法器如何作用的圖。如該圖所示,DDA26具有作為把經(jīng)路徑HA和路徑HB傳送的數(shù)據(jù)相加的加法器和把經(jīng)路徑HC和路徑HD傳送的數(shù)據(jù)相加的加法器的功能。DDA26用作2個加法器的功能,使得DDA26可同時執(zhí)行2個加法處理。
蝶式運(yùn)算由調(diào)整小數(shù)點(diǎn)的累加結(jié)果與常數(shù)C1的相加(i)和從調(diào)整小數(shù)點(diǎn)的累加結(jié)果減去常數(shù)C2的減法(ii)的(i)(ii)運(yùn)算組成(這里,常數(shù)C2是把常數(shù)C1乘以規(guī)定的乘數(shù)得到的結(jié)果)。即DDA26經(jīng)路徑HA,HB取得2個常數(shù)C1,C2的同時,經(jīng)路徑HC,HD取得累加結(jié)果。使用這些累加結(jié)果和常數(shù)C1,C2進(jìn)行蝶式運(yùn)算,把蝶式運(yùn)算的運(yùn)算結(jié)果寫入RF中。
該蝶式運(yùn)算是進(jìn)行DCT(Discrete Cosine Transform)、FFT(FastFourier Transform)的正交變換處理必不可少的處理。由圖24所示結(jié)構(gòu)容易對濾波處理結(jié)果實(shí)施正交變換處理,因此可有效進(jìn)行圖像處理。
另外,移位器27的移位處理的前段或后段中希望進(jìn)行把累加結(jié)果圈入規(guī)定范圍的飽和運(yùn)算。
(第6實(shí)施例)本實(shí)施例涉及將第1實(shí)施例~第5實(shí)施例所示的數(shù)據(jù)處理裝置用于ビタビ解碼時的改進(jìn)。ビタビ解碼用從格結(jié)構(gòu)圖搜索最準(zhǔn)確的信息系列的處理實(shí)現(xiàn)。圖26是表示格結(jié)構(gòu)圖的一例。格結(jié)構(gòu)圖如圖26B所示結(jié)合多個位于節(jié)點(diǎn)部的階段和位于邊緣部的分支構(gòu)成。階段表示在時刻t=0,1,2,3時的每個時刻的接收裝置的內(nèi)部狀態(tài),分支為向各階段的移動的概率,為接收系統(tǒng)的惟一值。圖26的格結(jié)構(gòu)圖中,t=0時僅有值為00的階段。t=1時,有值為00的階段和值為10的階段的2個階段。t=2時,有值為00,01,10,11的4個階段。實(shí)線的分支js1是對接收裝置的值00的輸入,虛線的分支hs1是對接收裝置的值11的輸入。接收裝置的狀態(tài)將該分支作為觸發(fā)器從階段向階段遷移。格結(jié)構(gòu)圖中把階段和分支連鎖構(gòu)成的一個路徑是信息系列,在ビタビ解碼中進(jìn)行從格結(jié)構(gòu)圖中出現(xiàn)的幾個信息系列中選擇最確切的一個的處理。該選擇的細(xì)節(jié)如下所述。格結(jié)構(gòu)圖中如圖26B所示有幾個把某個階段與另一節(jié)段在1個階段合流的場所。該合流點(diǎn)本身是信息系列的選擇用的著眼場所。即,對于全部的合流點(diǎn)反復(fù)從到達(dá)合流點(diǎn)的2個以上的分支和階段中選擇相似度大的哪個的處理。該反復(fù)是最確切信息系列的特定處理。信息系列的選擇通過對在1個階段合流的多個階段的值和分支值進(jìn)行acs運(yùn)算具體實(shí)現(xiàn)。即,階段的值和分支的值的和小的認(rèn)為其相似度最高,因此對在某階段合流的多個分支求出階段值和分支值的和(acs運(yùn)算的“a(=add)”),在多個分支之間比較該和(acs運(yùn)算的“c(=compare)”),剩余該和小的分支和成為該分支的分歧源的階段(acs運(yùn)算的“s(=select)”)。在全部的合流點(diǎn)進(jìn)行該acs處理。這樣,可特定連結(jié)相似度大的階段—分支的信息系列。
接著說明如何使用數(shù)據(jù)處理裝置實(shí)現(xiàn)合流點(diǎn)的相似度比較。圖27是表示對ビタビ解碼實(shí)現(xiàn)時的數(shù)據(jù)處理裝置的功能分配的圖。PE0~PE3的RF分配給時刻t的階段值和分支值的存儲。即,PE0的RF中存儲時刻t的階段g0的值和以階段g0為分歧源的分支b0的值、PE1的RF中存儲時刻t的階段g1的值和以階段g1為分歧源的分支b1的值。另一方面,PE0~PE3的ALU中被分別分配時刻t+1的多個合流點(diǎn)。并且該合流點(diǎn)中實(shí)施選擇時刻t的階段和分支的acs運(yùn)算。即,PE0的ALU進(jìn)行時刻t的階段g0和分支b0、時刻t的階段g1和分支b1中剩余那個的acs運(yùn)算。PE1的ALU進(jìn)行時刻t的階段g1和分支b1、時刻t的階段g2和分支b2中剩余那個的acs運(yùn)算,PE2的ALU進(jìn)行時刻t的階段g2和分支b2、時刻t的階段g3和分支b3中剩余那個的acs運(yùn)算。
網(wǎng)絡(luò)部20根據(jù)格結(jié)構(gòu)圖實(shí)現(xiàn)從存儲時刻t的階段的寄存器文件向?qū)r刻t+1的合流點(diǎn)分配的算術(shù)運(yùn)算單元的輸入輸出。
寄存器文件、網(wǎng)絡(luò)部、算術(shù)運(yùn)算單元中進(jìn)行圖27所示功能分配,使得容易實(shí)現(xiàn)在ビタビ解碼中搜索最佳路徑的處理。
圖28是表示適合執(zhí)行acs(add compare select)運(yùn)算的本實(shí)施例的ALU的內(nèi)部結(jié)構(gòu)的圖。圖28的ALU中除圖24所示的DDA23、乘法器24、累加器、DDA26外還新設(shè)置減法器28、選擇器29、選擇器30。首先實(shí)現(xiàn)本實(shí)施例的DDA26實(shí)現(xiàn)何種功能。DDA26實(shí)現(xiàn)acs運(yùn)算中的add部分。即,如第5實(shí)施例所述,DDA26具有同時實(shí)現(xiàn)2個相加處理的混合加法器功能,因此同時執(zhí)行把與自身相同的寄存器文件中存儲的階段和分支相加以及把經(jīng)網(wǎng)絡(luò)部從其他PE的寄存器文件輸送來的階段和分支相加。以上是DDA26的說明。接著說明本實(shí)施例中新設(shè)置的減法器28、選擇器29、選擇器30。
減法器28實(shí)現(xiàn)acs運(yùn)算中的compare部分。即,執(zhí)行從一個相加結(jié)果減去另一相加結(jié)果的減法。
選擇器29根據(jù)減法器28的減法運(yùn)算結(jié)果選擇地輸出相加結(jié)果大的或小的一個。由此實(shí)現(xiàn)acs運(yùn)算中select部分。
選擇器30選擇地輸出減法器28的減法運(yùn)算結(jié)果和選擇器29的輸出之一。
根據(jù)以上本實(shí)施例,ビタビ解碼中求出的信息路徑的搜索可使用到第5實(shí)施例所示的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)實(shí)施,因此可在通信系統(tǒng)的媒體處理中應(yīng)用數(shù)據(jù)處理裝置,可增大數(shù)據(jù)處理裝置的用途的范圍。
(第7實(shí)施例)本實(shí)施例涉及根據(jù)1個公共命令實(shí)現(xiàn)多個PE內(nèi)的RF的讀寫的實(shí)施例。圖29是表示本實(shí)施例的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖。圖29中塊解碼器31、變換部32、變換部33、變換部34是新設(shè)置的,要進(jìn)行關(guān)注。
塊解碼器31根據(jù)具有下面的操作符的命令對PE0~PE15內(nèi)的RF實(shí)施讀寫。
操作符src1,src2,src3,src4,dst1,dst2,dst3src表示成為讀出目的地的最大4個寄存器的指定,dst表示成為寫入目的地的最大3個寄存器的指定。這些指定中使用構(gòu)成RF的16個寄存器的每一個的識別序號r0~r15。圖29的路徑ph1,2,3,4,5,6,7是傳送成為讀出目的地的4個寄存器序號、成為寫入目的地的3個寄存器序號的連接線。
變換部32、變換部33、變換部34對在路徑ph1,2,3,4,5,6,7上傳送的寄存器序號進(jìn)行變換,輸出到PE0~PE3的RF。圖30是表示PRE0的變換部的內(nèi)部結(jié)構(gòu)的圖。端口E,F(xiàn),G,H用加法器41,42,43,44分別對各PE的端口E,F(xiàn),G,H設(shè)計(jì),從塊解碼器31輸出的寄存器序號上加上該P(yáng)E固有的偏置E,F(xiàn),G,H的相加結(jié)果輸出到端口E、端口F、端口G、端口H。圖29中,為說明簡便,表示出變換部連接PE0~PE3的一例,但可連接全部的PE0~PE15。
端口I,J,K用加法器45,46,47分別對各PE的端口I,J,K設(shè)計(jì),從塊解碼器31輸出的寄存器序號上加上該P(yáng)E固有的偏置I,J,K的相加結(jié)果輸出到端口I、端口J、端口K。
從塊解碼器31輸出的寄存器序號上加上該P(yáng)E固有的偏置并輸出到RF的端口E~端口K,因此以用塊解碼器31的解讀結(jié)果指定的數(shù)據(jù)為基準(zhǔn),從加上該輸入端口固有的偏置的寄存器讀出數(shù)據(jù)。
根據(jù)以上本實(shí)施例,來自16個PE中包含的RF的數(shù)據(jù)讀出可用單一命令控制,因此可把數(shù)據(jù)處理裝置用做SIMD(Single InstructureMulti Data)處理器。
端口E,F(xiàn),G,H用加法器41,42,43,44、端口I,J,K用加法器45,46,47的偏置根據(jù)從外部提供的命令可由塊解碼器31逐一設(shè)定。由此可將變換部的變換進(jìn)行可編程地設(shè)定。
(第8實(shí)施例)前面實(shí)施例所示的數(shù)據(jù)處理裝置在各PE內(nèi)的RF中存儲縱向16個的數(shù)據(jù)列,與該RF并排連接ALU,因此縱向16個數(shù)據(jù)列在垂直方向上相加的相加處理可有效進(jìn)行。但是,不能面向在橫向16個數(shù)據(jù)列的每一個中在水平方向把矩陣相加的相加處理。因此本實(shí)施例中僅在前面的實(shí)施例說明的電路結(jié)構(gòu)的限度內(nèi)實(shí)現(xiàn)該水平方向的相加。
說明實(shí)現(xiàn)水平方向的相加時各PE內(nèi)的RF要如何進(jìn)行要素的輸出。
即,為實(shí)現(xiàn)水平方向的相加,PEi可在k循環(huán)中從寄存器j讀出數(shù)據(jù)。這里j是通過把i,j用于式6算出。
<式6>
j=mod((i+k-1)/n)另外,縱向16×橫向16的例子中進(jìn)行說明則說明變復(fù)雜,因此以后的說明通過以對橫向4×縱向4個要素構(gòu)成的矩陣進(jìn)行水平方向的相加情況為對象可簡化說明。
接著說明本實(shí)施例的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)。水平方向的相加由數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)中圖31所示的部分實(shí)現(xiàn)。圖31是從數(shù)據(jù)處理裝置中僅取出實(shí)現(xiàn)水平方向相加需要的構(gòu)成要素進(jìn)行描述的圖。如圖31所示,水平方向的相加由圖31所示的塊解碼器31、端口E用加法器51,52,53,54實(shí)現(xiàn)。本實(shí)施例的塊解碼器31進(jìn)行指示水平方向的相加的命令的解讀,進(jìn)行在k循環(huán)中把表示k-1的3不同值輸出的處理。
端口E用加法器51,52,53,54是連接任一PE0~PE3內(nèi)的RF的變換部內(nèi)的加法器之一,把3比特的偏置和從解碼器31輸出的3比特的變量k-1相加,把相加結(jié)果的下位2比特輸出到RF的端口E。
圖31的端口E用加法器51,52,53,54在結(jié)構(gòu)上彼此相同,但偏置值互不相同。即,端口E用加法器51,52,53,54分別設(shè)定為000,001,010,011。
解碼器的解讀結(jié)果變化為k-1=0,1,2,3時,端口E用加法器51,52,53,54的輸出如何變化參照圖32來說明。圖32是表示4個RF中成為讀出對象的寄存器的圖。k-1=0從解碼器輸出時,端口E用加法器51,52,53,54的輸出結(jié)果為000,001,010,011,這些中下位2比特輸出到各RF的端口E。其結(jié)果是圖32A的粗線框包圍的范圍為讀出對象。k-1=1從解碼器輸出時,端口E用加法器51,52,53,54的輸出結(jié)果為000,001,010,100,其中下位2比特輸出到端口E,因此圖32B的粗線框包圍的范圍為讀出對象,k-1=2從解碼器31輸出時,端口E用加法器51,52,53,54的輸出結(jié)果為010,011,100,001并輸出到端口E,因此圖32C的粗線框包圍的范圍為讀出對象,k-1=3從解碼器輸出時,端口E用加法器51,52,53,54的輸出結(jié)果為011,100,101,110,圖32D的粗線框包圍的范圍為讀出對象第一系統(tǒng)選擇器21在k循環(huán)中把從PEi的RF讀出的數(shù)據(jù)輸出到PEj。這里把i用于式7來計(jì)算。
<式7>
j=mod((i+k-1)/n)k-1=0時,第一系統(tǒng)選擇器21把從PE0~PE3的RF讀出的數(shù)據(jù)輸出到PE0~PE3的ALU。k-1=1時,第一系統(tǒng)選擇器21把從PE3、PE0、PE1、PE2讀出的數(shù)據(jù)分別輸出到PE0、PE1、PE2、PE3,k-1=2時,第一系統(tǒng)選擇器21把從PE2、PE3、PE0、PE1讀出的數(shù)據(jù)分別輸出到PE0、PE1、PE2、PE3。k-1=3時,第一系統(tǒng)選擇器21把從PE1、PE2、PE3、PE0讀出的數(shù)據(jù)分別輸出到PE0、PE1、PE2、PE3。
以上構(gòu)成本實(shí)施例的數(shù)據(jù)處理裝置的動作參考圖33說明。圖33是表示本實(shí)施例的數(shù)據(jù)處理裝置的動作的圖。圖33A是k-1=0的情況、圖33B是k-1=1的情況、圖33C是k-1=2的情況、圖33D是k-1=3的情況。
k-1=0、i=0,1,2,3時,(i,j)為(0,0)、(1,1)、(2,2)、(3,3)。由此如圖33A所示,從PE0讀出寄存器r0中存儲的da ta(0,0)、從PE1讀出寄存器r1中存儲的da ta(1,1)、從PE2讀出寄存器r2中存儲的da ta(2,2)、從PE3讀出寄存器r3中存儲的da ta(3,3)。第一系統(tǒng)選擇器21把從PE0~PE3讀出的數(shù)據(jù)da ta(0,0)-da ta(1,1)-da ta(2,2)-da ta(3,3)輸出到PE0~PE3的ALU。
k-1=1,即2個循環(huán)中,如圖33B所示,從PE0讀出寄存器r1中存儲的da ta(0,1)、從PE1讀出寄存器r2中存儲的da ta(1,2)、從PE2讀出寄存器r3中存儲的da ta(2,3)、從PE3讀出寄存器r0中存儲的da ta(3,0),輸出到第一系統(tǒng)選擇器21。第一系統(tǒng)選擇器21把從PE3讀出的數(shù)據(jù)da ta(3,0)輸出到PE0的ALU、把從PE0讀出的da ta(0,1)輸出到PE1、把從PE1讀出的da ta(1,2)輸出到PE2、把從PE2讀出的da ta(2,3)輸出到PE3。PE0~PE4的ALU把da ta(3,0)-da ta(0,1)-da ta(1,2)-da ta(2,3)加到k=1時讀出的da ta(0,0)-da ta(1,1)-da ta(2,2)-da ta(3,3)上。
k-1=2,即3個循環(huán)中,如圖33C所示,從PE0讀出寄存器r2中存儲的da ta(0,2)、從PE1讀出寄存器r3中存儲的da ta(1,3)、從PE2讀出寄存器r0中存儲的da ta(2,0)、從PE3讀出寄存器r1中存儲的da ta(3,1),輸出到第一系統(tǒng)選擇器21。第一系統(tǒng)選擇器21把從PE2讀出的數(shù)據(jù)da ta(2,0)輸出到PE0、把從PE3讀出的da ta(3,1)輸出到PE1、把從PE0讀出的da ta(0,2)輸出到PE2、把從PE1讀出的da ta(1,3)輸出到PE3。
k-1=3,即4個循環(huán)中,如圖33D所示,從PE0的RF讀出寄存器r3中的da ta(0,3)、從PE1讀出寄存器r0中的da ta(1,0)、從PE2讀出寄存器r1中的da ta(2,1)、從PE3讀出寄存器r2中存儲的da ta(3,2)。第一系統(tǒng)選擇器21把來自PE1的數(shù)據(jù)da ta(1,0)輸出到PE0、把來自PE2的da ta(2,1)輸出到PE1、把來自PE3的da ta(3,2)輸出到PE2、把來自PE0的da ta(0,3)輸出到PE3。通過如上反復(fù),PE0的ALU進(jìn)行da ta(0,0)-da ta(3,0)-da ta(2,0)-da ta(1,0)的累加、PE1的ALU進(jìn)行da ta(1,1)-da ta(0,1)-da ta(3,1)-da ta(2,1)的累加、PE2的ALU進(jìn)行da ta(2,2)-da ta(1,2)-da ta(0,2)-da ta(3,2)的累加、PE3的ALU進(jìn)行da ta(3,3)-da ta(2,3)-da ta(1,3)-da ta(0,3)的累加。
根據(jù)以上本實(shí)施例,使用到第7實(shí)施例說明非網(wǎng)絡(luò)部20可高速進(jìn)行在水平方向上進(jìn)行矩陣的要素相加的處理。
另外,本實(shí)施例中說明的情況不限于把要進(jìn)行水平方向的相加的范圍限定在矩陣中的縱向4個×橫向4個的范圍,而在縱向16個×橫向16個的范圍內(nèi)進(jìn)行相加可作如下變更。
為對全部16個寄存器r0~r15實(shí)現(xiàn)水平相加,要輸入端口E的寄存器序號不能用4比特(0000~1111)表現(xiàn)。因此對于PE0~PE15的變換部內(nèi)的端口E的偏置可用5比特長度表現(xiàn)。另一方面,從解碼器31輸出的變量k-1也用5比特長度表現(xiàn)。并且把5比特長度的偏置和5比特長度的變量k-1的相加結(jié)果中的下位4比特作為式6的變量j輸出到RF的端口E中。
第一系統(tǒng)選擇器21根據(jù)式7把在k循環(huán)中從PEi的RF讀出的數(shù)據(jù)輸出到PEj中。
這樣PE0~PE15的算術(shù)運(yùn)算單元對從逐次處理部21輸出的數(shù)據(jù)進(jìn)行累加,這樣,實(shí)現(xiàn)對16個PE的16個寄存器的水平方向的相加。
(第9實(shí)施例)本實(shí)施例涉及實(shí)現(xiàn)矩陣的轉(zhuǎn)置矩陣時的數(shù)據(jù)處理裝置的改進(jìn)。媒體處理中,矩陣的轉(zhuǎn)置變換有時是必要的,更換矩陣的要素的配置的情況很多。但是,寄存器之間的連線實(shí)現(xiàn)配置更換時,該寄存器之間的連線的布線量為RF內(nèi)的寄存器數(shù)×PE數(shù)的數(shù)量級,變得很大。因此本實(shí)施例中,巧妙利用前面的實(shí)施例表示的結(jié)構(gòu)用小電路規(guī)模實(shí)現(xiàn)矩陣的轉(zhuǎn)置變換。另外,用縱向16×橫向16的例子說明使得說明復(fù)雜化,因此以后的說明中與第8實(shí)施例同樣以對橫向4×縱向4要素構(gòu)成的矩陣進(jìn)行變換的情況為對象來簡化說明。
上述的轉(zhuǎn)置變換通過對全部要素進(jìn)行更換位于i列j行的要素(i,j)和位于j列i行的要素(j,i)的處理實(shí)現(xiàn)。該i,j在本實(shí)施例中有下面的式8特定。
<式8>
j=mod((k+i)/n)k表示開始轉(zhuǎn)置變換的第幾個循環(huán)。
轉(zhuǎn)置處理由以下處理實(shí)現(xiàn)。即,同時讀出PEi的寄存器j中存儲的數(shù)據(jù)(i,j)和PEj的寄存器i中存儲的數(shù)據(jù)(j,i)并輸出到第一系統(tǒng)選擇器21和第二系統(tǒng)選擇器22中。輸出的數(shù)據(jù)(i,j)寫入PEj的寄存器i中,輸出的數(shù)據(jù)(j,i)寫入PEi的寄存器j中。
圖34是表示選擇數(shù)據(jù)處理裝置的構(gòu)成要素中的轉(zhuǎn)置變換處理需要的要素的圖。與圖31同樣,數(shù)據(jù)處理裝置中備有塊解碼器31、端口E用加法器51,52,53,54。另外設(shè)置端口J用加法器55,56,57,58、端口F用加法器61,62,63,64、端口I用加法器65,66,67,68這一點(diǎn)與前面實(shí)施例不同。首先開始說明本實(shí)施例的塊解碼器31、端口E用加法器51,52,53,54的改進(jìn)。
本實(shí)施例的塊解碼器31進(jìn)行指示水平方向的相加的命令的解讀,在k循環(huán)中進(jìn)行輸出表示變量k的3比特的值的處理。
端口E用加法器51,52,53,54和前面實(shí)施例同樣把3比特的偏置與從解碼器輸出的3比特的變量k相加,把相加結(jié)果的下位2比特輸出到RF的端口E。關(guān)于偏置分別設(shè)定為000,001,010,011。
以上是本實(shí)施例的塊解碼器31、端口E用加法器51,52,53,54的改進(jìn)。接著說明圖34中新添加的構(gòu)成要素。
端口J用加法器55,56,57,58與端口E用加法器51,52,53,54同樣把3比特的偏置與從解碼器輸出的3比特的變量k相加,把相加結(jié)果的下位2比特輸出到RF的端口I。偏置也與端口E用加法器51,52,53,54同樣分別設(shè)定為000,001,010,011。
端口F用加法器61,62,63,64與端口E用加法器51,52,53,54同樣把3比特的偏置與從解碼器輸出的3比特的變量k相加,把相加結(jié)果的下位2比特輸出到RF。偏置與端口E用加法器51,52,53,54不同,分別設(shè)定為010,011,100,101。
端口I用加法器65,66,67,68與端口E用加法器51,52,53,54同樣把3比特的偏置與從解碼器輸出的3比特的變量k相加,把相加結(jié)果的下位2比特輸出到RF。偏置與端口F用加法器61,62,63,64同樣,分別設(shè)定為010,011,100,101。
以上是實(shí)現(xiàn)轉(zhuǎn)置變換的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)。接著參考圖35和36說明解碼器的解讀結(jié)果變化為k=1,2時,端口E用加法器51,52,53,54、端口J用加法器55,56,57,58的輸出如何變化。圖35是表示隨著變量k的變化來自RF的輸出的遷移的圖。圖36是表示由于各加法器的輸出的遷移,PE0~PE3內(nèi)的RF中哪個范圍為讀出范圍的圖。
k=1從解碼器輸出時,端口E用加法器51,52,53,54和端口J用加法器55,56,57,58的輸出結(jié)果為001,010,011,100,圖36A的粗線框包圍的范圍為讀出對象。
另一方面,端口F用加法器61,62,63,64和端口I用加法器65,66,67,68的輸出結(jié)果為011,100,101,110,圖36B的粗線框包圍的范圍為讀出對象。k=2時,端口E用加法器51,52,53,54和端口J用加法器55,56,57,58的輸出結(jié)果為010,011,100,101,圖36C的粗線框包圍的范圍為讀出對象。
參考圖37和圖38說明如上構(gòu)成的數(shù)據(jù)處理裝置的動作。
參考圖37說明k=1時,即在第1循環(huán)中如何設(shè)定j。這里k=1、i=0,1,2,3時,根據(jù)上述式8,(i,j)為(0,1)(1,2)(2,3)(3,0)。這些中存儲da ta(0,1)-da ta(1,2)-da ta(2,3)-da ta(3,0),因此如圖37A所示,通過來自RF的讀出向第一系統(tǒng)選擇器21輸出這些da ta(0,1)-da ta(1,2)-da ta(2,3)-da ta(3,0)。另一方面,k=1、i=0,1,2,3時,(j,i)為(0,3)(1,0)(2,1)(3,2),因此如圖37B所示,這些中存儲的da ta(0,3)-da ta(1,0)-da ta(2,1)-da ta(3,2)向第一系統(tǒng)選擇器21輸出。
網(wǎng)絡(luò)部20如圖37C所示更換從RF讀出的橫向上1行的數(shù)據(jù)的排列,輸出到各ALU。意味著根據(jù)變量i的數(shù)據(jù)的排列更換為根據(jù)變量j的數(shù)據(jù)的排列。第一系統(tǒng)選擇器21把PE0作為輸入源的da ta(0,1)輸出到PE1、把PE1作為輸入源的da ta(1,2)輸出到PE2、把以PE2作為輸入源的da ta(2,3)輸出到PE3、把PE3作為輸入源的da ta(3,0)輸出到PE0。
另一方面,從RF輸出到第二系統(tǒng)選擇器22的數(shù)據(jù)列是要素(j,i),水平方向按變量j的順序排列。第二系統(tǒng)選擇器22如圖37D所示按變量i的順序都其進(jìn)行排列。第二系統(tǒng)選擇器22如圖37D所示把以PE0作為輸入源的da ta(0,3)輸出到PE3、把PE1作為輸入源的da ta(1,0)輸出到PE0、把PE2作為輸入源的da ta(2,1)輸出到P1、把PE3作為輸入源的da ta(3,2)輸出到PE2。
RF根據(jù)端口I用加法器65,66,67,68和端口J用加法器55,56,57,58的輸出把第一系統(tǒng)選擇器21輸出的橫向1行的要素寫入RF中。如圖37E所示,經(jīng)第一系統(tǒng)選擇器21輸出的da ta(3,0)寫入PE0的寄存器r3中,da ta(0,1)寫入PE1的寄存器r0中,da ta(1,2)寫入PE2的寄存器r1中,da ta(2,3)寫入PE3的寄存器r2中。同樣如圖37F所示,從第二系統(tǒng)選擇器22輸出的da ta(1,0)寫入PE0的寄存器r1中,da ta(2,1)寫PE1的寄存器r2中,da ta(3,2)寫入PE2的寄存器r3中,da ta(20,3)寫入PE3的寄存器r0中。
參考圖37說明k=2時,即在第2循環(huán)中如何設(shè)定j。經(jīng)過k=1的轉(zhuǎn)置,各PE內(nèi)的RF的內(nèi)容為圖38A那樣。這里k=2、i=0,1,2,3時,(i,j)為(0,2)(1,3)(2,0)(3,1)。如圖38B所示,RF從PE0讀出寄存器r2的da ta(0,2)、從PE1讀出寄存器r3的da ta(1,3)、從PE2讀出寄存器r0的da ta(2,0)、從PE3讀出寄存器r1的da ta(3,1),向第一系統(tǒng)選擇器21輸出da ta(0,2)-da ta(1,3)-da ta(2,0)-da ta(3,1)。
第一系統(tǒng)選擇器21如圖38C所示把da ta(0,2)-da ta(1,3)-da ta(2,0)-da ta(3,1)的數(shù)據(jù)列更換為da ta(2,0)-da ta(3,1)-da ta(0,2)-da ta(1,3)的順序。
RF如圖38D所示把da ta(2,0)寫入PE0的寄存器r2、把da ta(3,1)寫入PE1的寄存器r3、把da ta(0,2)寫入PE2的寄存器r0、把da ta(1,3)寫入PE3的寄存器r1。
根據(jù)以上本實(shí)施例,可不增大硬件規(guī)模實(shí)現(xiàn)矩陣的轉(zhuǎn)置變換。
另外,本實(shí)施例中說明的情況不限于把要進(jìn)行轉(zhuǎn)置變換的范圍限定在矩陣中的縱向4個×橫向4個的范圍,而在縱向16個×橫向16個的范圍內(nèi)進(jìn)行轉(zhuǎn)置變換可作如下變更。
為對全部16個寄存器r0~r15實(shí)現(xiàn)轉(zhuǎn)置變換,要輸入端口E,F(xiàn),I,J的寄存器序號不能用4比特(0000~1111)表現(xiàn)。因此對于PE0~PE15的變換部內(nèi)的端口E,F(xiàn),I,J的偏置可用5比特長度表現(xiàn)。另一方面,從解碼器31輸出的變量k-1也用5比特長度表現(xiàn)。并且把5比特長度的偏置和5比特長度的變量k-1的相加結(jié)果中的下位4比特作為式8的變量j輸出到個RF的端口E,F(xiàn),I,J中。
根據(jù)這樣輸出到端口E、端口F的4比特變量j存儲在PEi的寄存器j中的數(shù)據(jù)(i,j)和存儲在PEj的寄存器i中的數(shù)據(jù)(j,i)同時讀出,輸出到第一系統(tǒng)選擇器21和第二系統(tǒng)選擇器22。
第一系統(tǒng)選擇器21和IQ部22根據(jù)式9把在k循環(huán)中從PEi的RF讀出的數(shù)據(jù)輸出到PEj中。
根據(jù)輸出到端口I、端口J的4比特變量j的寄存器文件把輸出的數(shù)據(jù)(i,j)寫入PEj的寄存器i中,把輸出的數(shù)據(jù)(j,i)寫入在PEi的寄存器j中。通過實(shí)現(xiàn)這種讀寫可實(shí)現(xiàn)對16個PE的16個寄存器的轉(zhuǎn)置變換。
(第10實(shí)施例)本實(shí)施例是公開塊解碼器31的周圍結(jié)構(gòu)的實(shí)施例。圖39是表示本實(shí)施例的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖。圖39中著眼于新添加的取回部72、命令存儲器73、程序計(jì)數(shù)器74、外部存儲器器件75。
本圖中塊解碼器31連接整體解碼器71。取回部72從存儲命令串的命令存儲器73取出由程序計(jì)數(shù)器74指示的地址的命令,整體解碼器71解讀取出的命令。解讀的命令伴隨RF的讀寫,則委托塊解碼器31命令解讀和對RF的讀寫控制。
這里說明整體解碼器71。塊解碼器3如已經(jīng)說明的那樣指定RF的讀出目的地、寫入目的地的寄存器。對此整體解碼器71對命令實(shí)現(xiàn)分歧控制。這里取出的命令用絕對地址指定分歧端時,整體解碼器71從命令的操作符取出作為即時值指定的絕對地址,寫入程序計(jì)數(shù)器74中。分歧端用相對地址指定時,整體解碼器71從命令的操作符取出作為即時值指定的相對地址,以該相對地址為基礎(chǔ)算出分歧端,把算出的分歧端寫入程序計(jì)數(shù)器74中。
說明整體解碼器71的分歧控制和塊解碼器31對寄存器的讀寫控制的時間關(guān)系。圖40是表示數(shù)據(jù)處理裝置的動作定時的定時圖。本圖中,IF1 IF2是從存儲器器件取出命令的階段,DEC1階段是整體解碼器71進(jìn)行命令解讀的階段,DEC2階段是對命令指定操作符、用操作符進(jìn)行運(yùn)算特定讀出目的地和寫入目的地的指定時實(shí)施該運(yùn)算的階段。即,整體解碼器71、塊解碼器31在DEC1階段、DEC2階段的2個解碼階段中分別執(zhí)行。
用于分歧控制的整體解碼器71和用于寄存器讀寫控制的塊解碼器31分別地構(gòu)成、使它們分別在不同解碼器階段執(zhí)行是為了避免機(jī)器循環(huán)長期化的目的。相反整體解碼器71和塊解碼器31一體構(gòu)成時,整體解碼器71和塊解碼器31構(gòu)成臨界路徑,根據(jù)分歧控制需要的期間T1和運(yùn)算控制需要的期間T2相加的期間T1+T2設(shè)定數(shù)據(jù)處理裝置的機(jī)器循環(huán),機(jī)器循環(huán)加長了。因此,本實(shí)施例中,進(jìn)行分歧控制的整體解碼器71和用于讀寫控制的塊解碼器31分別地構(gòu)成、在不同的解碼器階段執(zhí)行分歧控制和讀寫控制。由此顯然分歧控制需要的期間T1和運(yùn)算控制需要的期間T2中長的一方?jīng)Q定數(shù)據(jù)處理裝置的機(jī)器循環(huán),可使數(shù)據(jù)處理裝置高速動作。
為了進(jìn)行參照,參考圖40~43說明進(jìn)行第1到第9實(shí)施例所示的各處理時的動作定時。
圖40的EX1,EX2,WB階段是ALU進(jìn)行第2實(shí)施例所示的濾波運(yùn)算時的定時圖。
加法器23的操作符C和操作符B相加ks1在EX1階段、乘法器24的對相加結(jié)果(操作符C+操作符B)與操作符A的相乘jz1在EX2階段、累加器25對相乘結(jié)果操作符A×(操作符C+操作符B)與操作符C的相加ks2在WB階段執(zhí)行。
圖41是表示把某PE內(nèi)的RF的存儲值寫入另外的PE內(nèi)的RF中時的動作的定時圖。
DDA26的相加在進(jìn)行整體解碼器71的解讀的DEC1階段進(jìn)行。框圖人解碼器31的解碼和根據(jù)該解碼結(jié)果的寄存器存儲值的讀出在DEC2階段執(zhí)行。網(wǎng)絡(luò)部20對寄存器存儲值的輸入輸出在EX1階段進(jìn)行,寄存器存儲值對RF的寫入在WB階段進(jìn)行。
圖42是表示移位器27移位動作時的動作定時的圖。DAA26的移位在EX1階段執(zhí)行。圖43是表示acs運(yùn)算時的動作定時的定時圖。本圖中加法器的相加在EX1階段進(jìn)行、減法器和選擇器的CompareSelect處理在EX2階段進(jìn)行。
(第11實(shí)施例)本實(shí)施例涉及使使用查找表的圖像處理有效化時的改進(jìn)。作為查找表(LUT)是表示幾種色彩的圖案的表,配置多個表示構(gòu)成1種色彩圖案的亮度、紅色差、藍(lán)色差、混合比的項(xiàng)。
LUT中所示的多個色彩圖案中,使用任意2色、4色、16色描繪的圖像叫做OSD圖形,以身邊的例子說明,在DVD播放機(jī)、STB等的設(shè)備中伴隨用戶操作在顯示器上描繪的頻道序號、再現(xiàn)停止的顯示等是該OSD圖形。
多個PE的每一個進(jìn)行OSD圖形描繪時,將該LUT如何分配給各PE是一個問題??紤]假設(shè)16個PE共用1個LUT的情況。此時,LUT在存儲器器件中占據(jù)的存儲器區(qū)域是1個LUT規(guī)模即可,存儲器器件規(guī)模小也可。但是,1個PE可使用LUT的概率為1/16,為使用LUT,很多PE陷入等待LUT的使用中,PE的處理效率大大降低。另一方面,對16個PE每一個分別分配LUT時,PE之間不會出現(xiàn)LUT使用的競爭,圖像處理效率不降低。另一方面,把16個LUT存儲在存儲器器件中,因此不能避免存儲器器件大容量化。
如何對各PE分配LUT會大大左右存儲器器件的規(guī)模和PE作業(yè)效率。本實(shí)施例中考慮這些來構(gòu)成數(shù)據(jù)處理裝置,可兼顧存儲器器件的規(guī)模抑制和PE的作業(yè)效率提高。
圖44是表示本實(shí)施例的數(shù)據(jù)處理結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)的圖。該圖中4個PE作成一個,構(gòu)成1個向量運(yùn)算部。圖45中,PE0~PE3構(gòu)成向量運(yùn)算部80、PE4~PE7構(gòu)成向量運(yùn)算部81、PE8~PE11構(gòu)成向量運(yùn)算部82、PE12~PE15構(gòu)成向量運(yùn)算部83。設(shè)置雙端口存儲器(圖中的D.P.存儲器84,85,86,87),對4個向量運(yùn)算部80-83按一對一地連接。
向量運(yùn)算部80和D.P.存儲器84的內(nèi)部結(jié)構(gòu)如圖45所示。如圖45所示,D.P.存儲器84包含4個存儲單元區(qū)域(Bank0,Bank1,Bank2,Bank3),構(gòu)成向量運(yùn)算部80的PE0,PE1,PE2,PE3的RF上連接第一LUT選擇器88、第二LUT選擇器89,這一點(diǎn)要關(guān)注。
首先開始說明D.P.存儲器84。構(gòu)成D.P.存儲器84的4個存儲單元區(qū)域中Bank3存儲構(gòu)成LUT的16個項(xiàng)e
~e[15]中的e
~e[3]、Bank2存儲e[4]~e[7]、Bank1存儲e[8]~e[11]、Bank0存儲e[12]~e[15]。這樣,構(gòu)成D.P.存儲器84的4個存儲單元把構(gòu)成LUT的16個項(xiàng)每4項(xiàng)進(jìn)行存儲。各存儲單元具有2個輸出端口v,w,通過2個輸出端口v,w把自身存儲的4個項(xiàng)中的任意2個輸出到各自的PE。以上是D.P.存儲器84的內(nèi)部結(jié)構(gòu)。接著說明第一LUT選擇器88、第二LUT選擇器89。
第一LUT選擇器88是具有4個輸入端口和4個輸出端口的4輸入-4輸出選擇器。4個輸入端口分別對應(yīng)4個存儲單元,各輸入端口連接對應(yīng)的存儲單元的輸出端口v。另一方面,4個輸出端口對應(yīng)4個PE的每一個,各輸出端口連接對應(yīng)的RF的輸入端口X。
第二LUT選擇器89與第一LUT選擇器88同樣是具有4個輸入端口和4個輸出端口的4輸入-4輸出選擇器。4個輸入端口分別對應(yīng)4個存儲單元,各輸入端口連接對應(yīng)的存儲單元的輸出端口w。另一方面,4個輸出端口對應(yīng)4個ALU的每一個,各輸出端口連接對應(yīng)的RF的輸入端口Y。
圖46的左半部分是表示如何讀出向量運(yùn)算部80的D.P.存儲器84的存儲單元中存儲的數(shù)據(jù)、如何向各PE輸出的圖。從Bank3讀出e[1]、從Bank2讀出e[4]、從Bank1讀出e[11]、從Bank0讀出e[12]。另一方面,來自Bank1的e[11]由第一LUT選擇器88輸出到PE0內(nèi)的ALU、來自Bank2的e[4]輸出到PE1內(nèi)的ALU、來自Bank0的e[12]輸出到PE2內(nèi)的ALU、來自Bank3的e[1]輸出到PE3內(nèi)的ALU。
圖46的右半部分是表示如何讀出向量運(yùn)算部81的D.P.存儲器85的存儲單元中存儲的數(shù)據(jù)的圖,從Bank1讀出e[1],e[10]、從Bank2讀出e[5]、從Bank3讀出e[2]、由LUT選擇器把e[9]輸出到PE4、把e[2]輸出到PE5、把e[5]輸出到PE6。另一方面,從Bank2讀出的e[10]被輸出到PE7中。
如以上那樣,將LUT分割為4個存儲單元進(jìn)行存儲,該存儲單元把存儲的項(xiàng)信息提供給2個PE,從而1個存儲單元中存儲的項(xiàng)信息的讀出除要求3個以上的PE的情況外不會陷入PE等待參照LUT的情況中。PE根據(jù)需要隨時參照LUT的必要的項(xiàng)信息,因此可使用多個PE高速實(shí)現(xiàn)使用LUT的OSD圖形的描繪。LUT對4個PE分配1個,因此可抑制存儲器器件規(guī)模。
(第12實(shí)施例)本實(shí)施例公開了實(shí)現(xiàn)網(wǎng)絡(luò)部20的輸入輸出的指定的結(jié)構(gòu)。圖47是表示本實(shí)施例的數(shù)據(jù)處理裝置的內(nèi)部結(jié)構(gòu)的圖。圖47中的特征是PE0內(nèi)的ALU中設(shè)置輸入輸出指定寄存器90。輸入輸出指定寄存器90是規(guī)定網(wǎng)絡(luò)部20的輸入輸出的寄存器。圖48是具體表示輸入輸出指定寄存器90的圖,如該圖的A所示那樣由與處理元件數(shù)相同數(shù)目的項(xiàng)構(gòu)成。各項(xiàng)對應(yīng)成為輸入源的PE。各項(xiàng)中指定要存儲PE的存儲值的輸出目的地PE。圖48B是表示輸入輸出指定寄存器90的設(shè)定例的圖。該圖的輸入輸出指定寄存器90由與PE0~PE3的4個PE對應(yīng)的PE0項(xiàng)、PE1項(xiàng)、PE2項(xiàng)和PE3項(xiàng)構(gòu)成。這4個項(xiàng)中設(shè)定PE序號2,3,0,1。表示這些項(xiàng)的設(shè)定形成的選擇器的輸入輸出的是圖48B。如圖48B所示,從PE0到PE2的輸入輸出nk1、從PE1到PE3的輸入輸出nk2、從PE2到PE0的輸入輸出nk3、從PE3到PE1的輸入輸出nk4同時執(zhí)行。通過這些輸入輸出同時執(zhí)行把PE0、PE1、PE2和PE3的RF的存儲值分別引出到其他PE的ALU中。輸入輸出指定寄存器90由塊解碼器31設(shè)定。即塊解碼器31進(jìn)行命令解讀時,根據(jù)該解讀結(jié)果設(shè)定。由此,可控制網(wǎng)絡(luò)部20的輸入輸出。
根據(jù)以上本實(shí)施例,使用輸入輸出指定寄存器90實(shí)現(xiàn)把哪個PE的RF的存儲值輸送到哪個PE的ALU的輸入輸出組合,因此容易實(shí)現(xiàn)網(wǎng)絡(luò)部20的控制。
(第13實(shí)施例)本實(shí)施例通過塊解碼器31解讀包括要讀出值的寄存器的指定和要寫入值的寄存器的指定的命令實(shí)現(xiàn)寄存器的讀寫。
作為該命令的一例說明網(wǎng)絡(luò)選擇命令。下面表示網(wǎng)絡(luò)選擇命令的格式。
scsel src.dst本格式中,src是讀出目的地的指定,dst是寫入目的地的指定。這些中使用構(gòu)成RF的16個寄存器的每一個的識別序號r0~r15。圖48C是表示網(wǎng)絡(luò)選擇命令的一例和通過該命令解讀進(jìn)行什么讀寫的圖。以哪個PE的寄存器作為讀出源的指定和以哪個PE的寄存器作為寫入目的地的指定根據(jù)前面的實(shí)施例中所述的輸入輸出指定寄存器90的設(shè)定。寄存器的讀寫由輸入輸出指定寄存器90的指定和命令的操作符的指定實(shí)現(xiàn)。圖48B的輸入輸出指定寄存器90中,對PE0~PE3的輸出目的地設(shè)定為PE2.PE3,PE0,PE1。網(wǎng)絡(luò)選擇命令把寄存器r0指定為讀出源、把寄存器r1指定為寫入目的地,因PE0~PE3的RF的寄存器r0更換為PF2,PF3,PF0,PF1的排列,寫入PE0~PE3的寄存器r1。
作為更高的命令,說明網(wǎng)絡(luò)選擇命令。網(wǎng)絡(luò)選擇命令的命令格式如下。
scsfti src1,src2,dst,imm本圖中,表示網(wǎng)絡(luò)選擇命令把src1 src2指定的寄存器串的存儲值移位imm并把其結(jié)果寫入dst指定的寄存器中。圖49A是表示網(wǎng)絡(luò)選擇命令的具體設(shè)定例和該設(shè)定時如何執(zhí)行寄存器的讀寫的圖。圖49B表示網(wǎng)絡(luò)選擇命令解讀前的1個處理元件內(nèi)的RF的存儲內(nèi)容。圖49A的具體例子中,對src1,src2指定寄存器r0,寄存器r1,imm指定為3。另一方面,PE0~PE3的寄存器r0,寄存器r1的存儲內(nèi)容如圖49B所示。對該圖49B所示的RF的存儲內(nèi)容進(jìn)行3次移位的話,寄存器r0,寄存器r1的存儲內(nèi)容如圖49C所示。即,PE3的寄存器r0中存儲的d3存儲在PE0的寄存器r0中。這樣移位后,從寄存器r0到寄存器r2進(jìn)行輸送,則寄存器r2的存儲內(nèi)容如圖49D所示。
圖50表示網(wǎng)絡(luò)選擇命令的另一例子。圖50A表示的網(wǎng)絡(luò)選擇命令將作為移位量的imm指定為-2,因此圖50B所示的PE0~PE3的寄存器r0和寄存器r1中存儲的d0~d7如圖50C所示移位。
imm指定為-2,因此PE3的寄存器r0中存儲的d3被存儲在PE1的寄存器r1中、PE2的寄存器r0中存儲的d2被存儲在PE0的寄存器r1中。這樣移位后,PE0~PE3的寄存器r0中存儲的數(shù)據(jù)輸送到PE0~PE3的寄存器r1中。
根據(jù)以上本實(shí)施例,可在水平方向自由移動RF的存儲值,從而數(shù)據(jù)處理裝置進(jìn)行的處理的范圍(vision)增加。
另外,可與數(shù)據(jù)處理裝置另外地進(jìn)行僅把包含本實(shí)施例公開的scsel命令或scsfti命令的程序記錄到記錄媒體進(jìn)行轉(zhuǎn)讓和提供。可通過網(wǎng)絡(luò)僅配送該程序。
(第14實(shí)施例)本實(shí)施例是對把表示ALU進(jìn)行運(yùn)算后的ALU的狀態(tài)的狀態(tài)標(biāo)記存儲在RF中的情況的改進(jìn)。圖51是表示本實(shí)施例的寄存器的存儲內(nèi)容的圖。寄存器具有16不同的字長,這一點(diǎn)與第1實(shí)施例相同,但其中上位3不同被分配給狀態(tài)標(biāo)記這一點(diǎn)與上述第1實(shí)施例不同。狀態(tài)標(biāo)記由表示PE內(nèi)的ALU的運(yùn)算結(jié)果為零的零標(biāo)記、表示PE內(nèi)的ALU的運(yùn)算結(jié)果中產(chǎn)生升位的進(jìn)位標(biāo)記、表示ALU的運(yùn)算是比較運(yùn)算時的比較結(jié)果的比較結(jié)果標(biāo)記構(gòu)成。
本實(shí)施例的PE的ALU進(jìn)行運(yùn)算,則將該運(yùn)算結(jié)果和狀態(tài)標(biāo)記作成一個字寫入相同的PE中包含的某個RF中。與運(yùn)算結(jié)果一起把狀態(tài)標(biāo)記寫入1個寄存器中,因此對應(yīng)某PE內(nèi)的ALU進(jìn)行的運(yùn)算結(jié)果,其他PE內(nèi)的ALU可進(jìn)行運(yùn)算,即實(shí)現(xiàn)ALU之間的協(xié)同作業(yè)。
圖52是表示本實(shí)施例的ALU的動作的圖。該圖中如①表示的那樣,從RF讀出值P,Q,PE0的ALU進(jìn)行P+Q的運(yùn)算。之后,把運(yùn)算結(jié)果P+Q和表示該運(yùn)算結(jié)果中是否產(chǎn)生位溢出的進(jìn)位標(biāo)記如②所示寫入RF中。這樣RF中寫入狀態(tài)標(biāo)記,因此PE1的ALU把寫入PE0的RF的狀態(tài)標(biāo)記如③所示輸送并進(jìn)行參照,使得可知PE0運(yùn)算時是否產(chǎn)生位溢出,對應(yīng)于此可實(shí)現(xiàn)ALU之間的協(xié)同作業(yè)。
(第15實(shí)施例)涉及PE按半字單位實(shí)施處理時的改進(jìn)。數(shù)據(jù)處理裝置實(shí)施第2實(shí)施例所示的圖像處理時,RF中存儲像素值和濾波器系數(shù)。這里濾波器系數(shù)的數(shù)據(jù)長度相對寄存器的字長(1個單字)有像素值的長度用寄存器的字長的一半(半字)相加的情況。因此,像素值對RF的存儲中,RF的各寄存器r0~r15的每一個中可存儲2個像素的像素值。這樣,一個PE的RF中可鋪滿16×2個像素值。ALU中同時執(zhí)行2個半字的像素值與單字的濾波器系數(shù)的乘法,則對像素值的處理效率增大。圖53是表示進(jìn)行單字和半字的相乘的乘法器24的構(gòu)成的圖。本圖中,乘法器24實(shí)施2個乘法。第一個乘法是把通過路徑Pt1輸入的單字的濾波器系數(shù)和通過路徑Pt2輸入的下位半字(圖中的L)的像素值相乘,第2個乘法是把通過路徑Pt3輸入的單字的濾波器系數(shù)和通過路徑Pt4輸入的上位半字(圖中的H)的像素值相乘。
以上是乘法器24的內(nèi)部結(jié)構(gòu)。說明ALU的乘法器24的周圍結(jié)構(gòu)。本實(shí)施例中,加法器23進(jìn)行分別將輸入端口C輸入的2個半字像素值和輸入端D輸入的2個半字像素值相加的處理,并且把得到的2個單字的相加結(jié)果中的上位側(cè)輸出到路徑Pt4,把下位側(cè)輸出到路徑Pt2。乘法器24同時進(jìn)行2個單字和班字的相乘。累加器25對這樣得到的2個乘法結(jié)果(SW、上位HW和SW、下位HW)進(jìn)行累加。
根據(jù)以上本實(shí)施例,RF的各寄存器中存儲2個班字的像素值,ALU同時實(shí)施2個對這些像素值的濾波處理,因此可使對多個像素值的圖像處理有效化。
(第16實(shí)施例)前面實(shí)施例中RF按半字單位進(jìn)行像素值存儲,ALU按半字單位進(jìn)行像素值的乘法運(yùn)算,但本實(shí)施例中是伴隨它的網(wǎng)絡(luò)部20的改進(jìn)。
圖54是表示本實(shí)施例的網(wǎng)絡(luò)部20的內(nèi)部結(jié)構(gòu)的圖。本圖中構(gòu)成網(wǎng)絡(luò)部20的第一系統(tǒng)選擇器21具有如第1實(shí)施例所示的16個輸出端口,把16個數(shù)據(jù)同時輸送到16個ALU中。圖中的路徑th0,th2,th4,th6是把RF的存儲值原樣輸送到ALU的連接線。此外,本實(shí)施例的網(wǎng)絡(luò)部20上還設(shè)置路徑th1,th3,th5,th7。這些路徑是把通過更換PE0的RF的存儲值的上下半字得到的反轉(zhuǎn)數(shù)據(jù)傳送到ALU的連接線。選擇器91,92,93,94,95,96,97,98選擇地輸出傳送到路徑th0,th2,th4的存儲值和傳送到路徑th1,th3,th5的存儲值之一。
根據(jù)以上本實(shí)施例,更換上下半字的單字從網(wǎng)絡(luò)部20傳送到ALU,因此ALU作為操作符可利用的單字的組合的范圍可增加。
另外,本實(shí)施例中,實(shí)施從各寄存器文件接收要從各寄存器文件的輸有2·n個輸入源、n個輸出目的地的輸入輸出的2·n輸入-n輸出選擇器可設(shè)置在網(wǎng)絡(luò)部20上。
成為輸入輸出對象的數(shù)據(jù)是從寄存器文件的1個寄存器讀出的數(shù)據(jù),也可以是將從某個寄存器讀出的半字的數(shù)據(jù)與從其他寄存器讀出的半字的數(shù)據(jù)結(jié)合的結(jié)合數(shù)據(jù)。
(第17實(shí)施例)本實(shí)施例應(yīng)用第1實(shí)施例所示的數(shù)據(jù)處理裝置結(jié)構(gòu)實(shí)現(xiàn)復(fù)數(shù)運(yùn)算。一般地,復(fù)數(shù)由實(shí)數(shù)和虛數(shù)構(gòu)成。復(fù)數(shù)P+Qi和復(fù)數(shù)R+Si的相加結(jié)果是(P+R)+(Q+S)i,復(fù)數(shù)P+Qi和復(fù)數(shù)R+Si的相乘結(jié)果是(P·R-S·Q)+(R·Q+S·P)i。從以上可知,復(fù)數(shù)之間的相加必須區(qū)別為實(shí)數(shù)和虛數(shù)進(jìn)行相加,復(fù)數(shù)之間的相乘中必須分別執(zhí)行實(shí)數(shù)和虛數(shù)的加減運(yùn)算。有這些制約的運(yùn)算用本實(shí)施例中的數(shù)據(jù)處理裝置實(shí)現(xiàn)。圖55是表示進(jìn)行復(fù)數(shù)運(yùn)算時的RF的存儲例的圖。成為加法運(yùn)算的操作符的實(shí)數(shù)部P、虛數(shù)部Q、實(shí)數(shù)部R、虛數(shù)部S分別存儲在各個寄存器r0~r3中。寄存器r4分配給、用于運(yùn)算結(jié)果中的實(shí)數(shù)部分的存儲目的地,寄存器r5用于運(yùn)算結(jié)果中的虛數(shù)部分的存儲目的地。ALU的內(nèi)部結(jié)構(gòu)與第2實(shí)施例所示的ALU的內(nèi)部結(jié)構(gòu)相同。
圖56是表示ALU對圖55的存儲內(nèi)容進(jìn)行怎樣的運(yùn)算的圖。如箭頭①和□所示,從RF分別輸送實(shí)數(shù)部P、實(shí)數(shù)部R,這些實(shí)數(shù)之間的相加運(yùn)算如□所示由累加器25進(jìn)行。而且這些相加運(yùn)算結(jié)果P+Q如□所示寫入RF中的寄存器r4中。接著箭頭□□所示,分別輸送虛數(shù)部Q、實(shí)數(shù)部S,這些虛數(shù)之間的相加運(yùn)算如⑦所示由累加器進(jìn)行。而且這些相加運(yùn)算結(jié)果S+Q如⑧所示寫入RF中的寄存器r5中。
接著說明如何進(jìn)行復(fù)數(shù)之間的乘法運(yùn)算。圖57和圖58表示復(fù)數(shù)之間的乘法運(yùn)算的程序。首先,實(shí)數(shù)部P、實(shí)數(shù)部R如圖57A的①和②所示,從RF向ALU輸送。該實(shí)數(shù)部P、實(shí)數(shù)部R的乘法由乘法器24進(jìn)行,把運(yùn)算結(jié)果P·R如④所示寫入運(yùn)算結(jié)果的存儲目的地的寄存器中。接著如圖57B的⑤⑥所示,從RF讀出要實(shí)現(xiàn)虛數(shù)之間的乘法運(yùn)算的虛數(shù)部Q和虛數(shù)部S。乘法器24如⑦所示進(jìn)行虛數(shù)部Q和虛數(shù)部S的乘法運(yùn)算,如⑧所示從RF把乘法運(yùn)算結(jié)果P·R讀出到累加器25中。
累加器25如□所示從P·R減去乘法運(yùn)算結(jié)果S·Q。這樣算出乘法運(yùn)算結(jié)果(P·R-S·Q),該實(shí)數(shù)(P·R-S·Q)寫入RF中的寄存器r4中。接著從RF讀出要進(jìn)行實(shí)數(shù)與虛數(shù)的乘法運(yùn)算的圖58A的①和②所示的實(shí)數(shù)部P、虛數(shù)部S。乘法器24如③所示進(jìn)行它們的乘法運(yùn)算,把乘法運(yùn)算結(jié)果P·S如④所示寫回RF中的寄存器r5中。之后,如圖58B的⑤⑥所示,從RF讀出虛數(shù)部Q和實(shí)數(shù)部R。乘法器24如⑦所示進(jìn)行它們的乘法運(yùn)算,得到乘法運(yùn)算結(jié)果Q·R。另一方面,如⑧所示從RF的寄存器r5讀出乘法運(yùn)算結(jié)果P·S,累加器25如□所示把乘法運(yùn)算結(jié)果Q·R和乘法運(yùn)算結(jié)果P·S相加。這樣,給出(Q·R+P·S),寫回RF中的寄存器r5中。經(jīng)過以上處理給出乘法運(yùn)算結(jié)果(P·R-S·Q)-(Q·R+P·S)i。
根據(jù)以上本實(shí)施例,通過應(yīng)用第1實(shí)施例所示的數(shù)據(jù)處理裝置可實(shí)現(xiàn)復(fù)數(shù)之間的相加、相乘,從而可把數(shù)據(jù)處理裝置用于π/4QPSK調(diào)制等通信系統(tǒng)的媒體處理中。
(第18實(shí)施例)第8實(shí)施例中,對縱向n個×橫向n個要素,即縱橫的要素?cái)?shù)相同的矩陣進(jìn)行橫方向的累加。本實(shí)施例中是一種應(yīng)用,在縱橫的要素?cái)?shù)不同的矩陣中,實(shí)施橫方向的累加。圖59A是表示縱向n個×橫向n個要素構(gòu)成的矩陣中存在的縱向y個×橫向x個要素構(gòu)成的矩陣的圖。本圖中,x,y都滿足x≤n,y≤n,或有x>y的關(guān)系。對這種矩陣實(shí)施橫方向的累加。
第8實(shí)施例的圖32,33所示的橫方向的累加是對縱橫的要素?cái)?shù)相同的矩陣進(jìn)行的。因此對圖59A所示的縱向y個×橫向x個要素構(gòu)成的矩陣不執(zhí)行第8實(shí)施例的處理。因此,圖59A的縱向y個橫向×x個要素構(gòu)成的矩陣中添加附加了陰影線ht1的縱向x-y個×橫向x個,作成圖59B所示的縱向x個×橫向x個構(gòu)成的矩陣,成為第8實(shí)施例的程序的適用對象。縱向x-y個×橫向x個要素全部為0(零),對添加了該縱向x-y個×橫向x個的縱向x個×橫向x個的矩陣進(jìn)行第8實(shí)施例的橫方向的累加,則在縱向y個×橫向x個要素構(gòu)成的矩陣中得到橫方向的累加結(jié)果。
在執(zhí)行第8實(shí)施例的累加處理中,需要通過把上述式<7>作如下改變才能從i,k得到j(luò)。
<改變的式7>
j=mod((i+k-1)/z)這里z是x,y中大的一個。
x>y、x<y、x=y(tǒng)的關(guān)系都適用本實(shí)施例。
(第19實(shí)施例)第9實(shí)施例中,對縱向n個×橫向n個要素,即縱橫的要素?cái)?shù)相同的矩陣進(jìn)行矩陣的轉(zhuǎn)置。本實(shí)施例中是一種應(yīng)用,在縱橫的要素?cái)?shù)不同的矩陣中,實(shí)施矩陣的轉(zhuǎn)置。圖60A是表示縱向n個×橫向n個要素構(gòu)成的矩陣中存在的縱向y個×橫向x個要素構(gòu)成的矩陣的圖。本圖中,x,y都滿足x≤n,y≤n,或有x>y的關(guān)系。對這種矩陣實(shí)施轉(zhuǎn)置。
第9實(shí)施例的圖36,37,38所示的橫方向的累加是對縱橫的要素?cái)?shù)相同的矩陣進(jìn)行的。因此對圖60A所示的縱向y個×橫向x個要素構(gòu)成的矩陣不執(zhí)行第9實(shí)施例的處理。因此,進(jìn)行與第18實(shí)施例同樣的方法。即圖60A所示的縱向y個×橫向x個要素構(gòu)成的矩陣中添加附加了陰影線ht2的縱向x-y個×橫向x個,作成圖60B所示的縱向x個×橫向x個構(gòu)成的矩陣,成為第8實(shí)施例的程序的適用對象??v向x-y個×橫向x個要素全部為0(零),對添加了該縱向x-y個×橫向x個的縱向x個×橫向x個的矩陣進(jìn)行第9實(shí)施例的轉(zhuǎn)車置處理。這樣如圖60C所示得到縱向x個×橫向x個的矩陣。該矩陣由縱向x個×橫向y個的矩陣和縱向x個×橫向x-y個的矩陣構(gòu)成。從這樣得到的圖60C的縱向x個×橫向x個要素構(gòu)成的矩陣取出縱向x個×橫向x-y個的矩陣,對結(jié)果得到的矩陣進(jìn)行轉(zhuǎn)置。
對縱向x行、橫向y行要素構(gòu)成的矩陣執(zhí)行第9實(shí)施例的轉(zhuǎn)置處理中,需要通過把上述式<8>作如下改變才能從i,k得到j(luò)。
<改變的式8>
j=mod((i+k-1)/z)這里z是x,y中大的一個。
x>y、x<y、x=y(tǒng)的關(guān)系都適用本實(shí)施例。
(第20實(shí)施例)第20實(shí)施例涉及對利用16個PT各自具有的寄存器文件的移位動作把數(shù)據(jù)處理裝置用于無線通信系統(tǒng)中的情況的改進(jìn)。所謂用于無線通信系統(tǒng)的哪種技術(shù)中是指用于去交織技術(shù)中。
無線通信系統(tǒng)中,存在從該系統(tǒng)發(fā)送的比特系列被編碼的信號中通過隨機(jī)噪聲和衰落等產(chǎn)生隨機(jī)誤差和猝發(fā)誤差的情況。因此,對部分連續(xù)引起的猝發(fā)誤差進(jìn)行更換原來的比特系列的順序的交織可分散誤差比特。
作為該交織的一般技術(shù)有塊交織。所謂塊交織是在原來的比特系列中互相臨近的過每2個比特隔開一定比特?cái)?shù)單位的間隔來更換原來的比特系列。例如塊交織前的比特系列為[B1,B2,B3,B4,B5,…B288]時,該比特系列的比特順序進(jìn)行更換使得在原來的比特系列中相鄰的每2個比特(例如B1和B2、B17和B18)隔開17比特的間隔,以使得成為[B1,B17,B33,B49,B65,B81,B97,B113,B129,B145,B161,B177,B193,B209,B225,B241,B257,B273,B2,…B288]。圖61中表示塊交織前和后的比特系列的比特順序。圖61中為簡化起見,用數(shù)字表示各比特。如圖61所示,表的橫向的比特順序表示塊交織前的比特順序,表的縱向的比特順序表示塊交織后的比特順序。
另一方面,比特系列的傳送方法有時使得特定序號的發(fā)送比特的誤差率尤其高。例如,用16QAM調(diào)制傳送比特系列時,經(jīng)驗(yàn)上認(rèn)為第偶數(shù)個發(fā)送的比特的誤差率很高。
此時,進(jìn)行去交織更換為原來的比特系列,誤差的比特仍連續(xù)存在,進(jìn)行去交織的比特系列的解碼時由于誤差校正功能可產(chǎn)生不能校正誤差的情況。
為防止這樣的情況發(fā)生,由塊交織更換的比特系列區(qū)分為一定數(shù)目的比特單位的塊,把區(qū)分的各塊內(nèi)的比特順序根據(jù)規(guī)定的旋轉(zhuǎn)進(jìn)行更換。
圖62是表示根據(jù)上述旋轉(zhuǎn)規(guī)則更換塊交織的比特系列后的比特系列的比特順序。圖62所示的比特系列中,比特系列順序區(qū)分為3比特單位的塊,區(qū)分的各塊內(nèi)的各比特的順序更換為按6塊單位旋轉(zhuǎn)為作為原順序的旋轉(zhuǎn)1的順序、原順序的第1比特在第3、第2比特在第1、第3比特在第2的旋轉(zhuǎn)順序2的順序、原順序的第1比特在第2、第2比特在第3、第3比特在第1的旋轉(zhuǎn)順序3的順序,18個塊中一并存在旋轉(zhuǎn)1、旋轉(zhuǎn)2、旋轉(zhuǎn)3。
由此,防止上述情況產(chǎn)生。無線通信系統(tǒng)的接收側(cè)中,如上述為了更換的比特系列恢復(fù)為原來的順序的比特系列,對于接收的各比特,進(jìn)行把表示該比特更換前的原來位置的各地址存儲在存儲器中,根據(jù)把接收的各比特存儲在存儲器中的各地址進(jìn)行更換的處理。
但是,如上所述,為存儲地址而使用存儲器時,出現(xiàn)功耗和硬件面積增大的問題。因此第20實(shí)施例的數(shù)據(jù)處理裝置不需要存儲表示解調(diào)的各比特的原來的位置的地址的存儲器,可進(jìn)行去交織。
下面使用附圖詳細(xì)說明第20實(shí)施例的數(shù)據(jù)處理裝置。
數(shù)據(jù)處理裝置是在無線通信系統(tǒng)中使用的裝置,數(shù)據(jù)處理裝置接收的比特系列用作為正交振幅調(diào)制(Quadrature AmplitudeModulation)的64QAM調(diào)制方式調(diào)制。
64QAM調(diào)制方式正交振幅調(diào)制的是同相信號(I信號)和正交信號(Q信號)。I信號和Q信號更換原來的比特系列,每3比特的比特單位(下面叫作映射比特或?qū)⑦@3個比特叫作塊)把更換的比特系列變換為表示相位和振幅的數(shù)據(jù)(同相成分I或正交成分Q構(gòu)成的數(shù)據(jù)),進(jìn)行快速傅立葉反變換得到變換的數(shù)據(jù)。該更換如下進(jìn)行。原來的比特系列交織成相鄰的各比特間的間隔為17比特后,把交織的比特系列順序劃分為3比特單位的塊,在每6個塊中周期地按原順序(1,2,3的順序)、231的順序(塊內(nèi)原順序的第2更換為第1、第3更換為第2、第1更換為第3的順序)、312的順序(塊內(nèi)原順序的第3更換為第1、第1更換為第2、第2更換為第3的順序)的3個順序更換各塊內(nèi)的各比特的順序(下面叫塊內(nèi)原順序)。
例如從第1塊到第6塊,塊內(nèi)的各比特的順序不變更,仍為塊內(nèi)的原順序,從第7塊到第12塊中,塊內(nèi)的各比特的順序更換為上述231的順序,從第13塊到第18塊中,塊內(nèi)的各比特的順序更換為上述312順序。下面在對于第19塊以后的塊,根據(jù)與上述同樣的順序更換規(guī)則進(jìn)行塊內(nèi)的各比特順序的更換。
這里為說明簡便,將1塊設(shè)為3個比特單位,不必要限定在3個比特單位。對于各比特間隔也同樣,不必限定在17比特,(塊的整數(shù)倍的比特?cái)?shù)-1)的間隔即可。順序的更換也同樣,不限于3個順序??梢允菍?yīng)塊的比特單位數(shù)的順序數(shù)。
圖63是表示第20實(shí)施例的數(shù)據(jù)處理裝置的主要部分的結(jié)構(gòu)的功能框圖。數(shù)據(jù)處理裝置由天線101、接收部102、基帶信號生成部103、FFT運(yùn)算部104、第一緩沖存儲器部105、去映射部106、第二緩沖存儲器部107構(gòu)成。
接收部102經(jīng)天線101接收作為正交頻率分割多路復(fù)用信號(OFDMOrthogonal Frequency Division Multiplex)傳送的OFDM信號,把接收的OFDM信號輸出到基帶信號生成部103。
基帶信號生成部103對輸出的OFDM信號作反離散傅立葉變換生成基帶信號,輸出到FFT運(yùn)算部104。
FFT運(yùn)算部104對從基帶信號生成部103輸出的基帶信號進(jìn)行映射比特的解調(diào)。映射比特的解調(diào)按輸出的順序變換為數(shù)字信號,分離為I信號和Q信號,把分離的各信號進(jìn)行FFT(快速傅立葉變換)變換。
這里,基帶信號中的映射比特中包含的各比特為軟判斷對象。軟判斷結(jié)果是用4比特的規(guī)格表示要解調(diào)各比特值近似0和1的哪個的判斷的軟判斷值表現(xiàn)的。通過該軟判斷,基帶信號中的3比特的映射比特變換為12比特的比特單元塊。變換得到的比特單元塊被存儲在第一緩沖存儲器部105中第一緩沖存儲器部105具有2字節(jié)的存儲單位,16個該存儲單位并排形成1行。圖64是表示第一緩沖存儲器部105的構(gòu)成例的圖。存儲單位的行并排6行形成6行16列的矩陣。該6行16列的矩陣具有192字節(jié)的容量。每2個字節(jié)的存儲單位中存儲各比特單元塊。6個比特單元塊存儲在在列方向上并排的6個存儲單位中。這里,上述存儲單位中,每一列的塊數(shù)為6,但該塊數(shù)在原來的比特系列交織的間隔為(W-1)、1塊的比特?cái)?shù)為S比特時,由W/S確定(W,S表示自然數(shù))。第一緩沖存儲器部105把去映射部106的16個PE的各PE序號對應(yīng)該P(yáng)E序號表示的PE中包含的PE寄存器序號(識別PE內(nèi)的RF的寄存器序號)存儲。
去映射部106從第一緩沖存儲器部105的存儲單位讀出16個比特單元塊,對讀出的各塊進(jìn)行比特單元的輸出處理。去映射部106進(jìn)行輸出的比特單元向第二緩沖存儲器部107的寫入處理。
第二緩沖存儲器部107具有把1行設(shè)為64比特(16×4比特)的18行16列的矩陣狀的存儲區(qū)域。
接著具體說明去映射部106進(jìn)行的比特單元的輸出處理。
圖65是表示去映射部106的構(gòu)成的框圖。如圖65所示,去映射部106由寄存器121、寄存器122、控制部123和16個PE0~15構(gòu)成。
寄存器121存儲從第一緩沖存儲器部105讀出的橫向16個的比特單元塊。寄存器121中對各塊分配16比特的存儲單位。寄存器121存儲的橫向16個的比特單元塊中屬于列序號1的比特單元塊1對應(yīng)PE0、屬于列序號2的比特單元塊7對應(yīng)PE1、屬于列序號3的比特單元塊13對應(yīng)PE2。
寄存器122用傳送4比特的數(shù)據(jù)的總線連接各PE,從各PE輸出的4比特的比特單元對應(yīng)輸出的各PE的排列順序存儲。由此比特單元像PE0的輸出比特單元、PE1的輸出比特單元、PE2的輸出比特單元的順序一樣按各PE的排列順序中存儲。
控制部123從第一緩沖存儲器部105的橫向16個存儲單位讀出橫向16個比特單元塊,讀出的16個比特單元塊存儲在寄存器121中??刂撇?23從第一緩沖存儲器部106讀出各PE序號,把讀出的各PE序號分配給對應(yīng)的PE寄存器序號的RF。由此像PE0內(nèi)的RF上分配PE序號0、PE1內(nèi)的RF上分配PE序號1、PE2的PE內(nèi)的RF分配PE序號2那樣把PE序號分配給各PE的PE寄存器。接著控制部123對各PE指示根據(jù)用于用1個命令執(zhí)行把多個數(shù)據(jù)作為對象的處理的SIMD型運(yùn)算命令執(zhí)行運(yùn)算處理。
從各PE輸出的16個比特單元每次寫入寄存器122中時,控制部123讀出16個比特單元,把讀出的16個比特單元寫入第二緩沖存儲器部107中。該寫入當(dāng)中,每次寫入橫向16個比特單元時都換行。通過寫入在第二緩沖存儲器部107上形成把64比特(16×4比特)作為1行的18行16列的矩陣。
進(jìn)行到下一行進(jìn)行寫入。圖66是表示第二緩沖存儲器部107的存儲區(qū)域的構(gòu)成例。圖66的斜線部是將從各PE輸出的16個各4比特的比特單元對應(yīng)輸出該比特單元的PE的排列序號,表示第1行的存儲區(qū)域中寫入的狀態(tài)。斜線部上附加的序號表示輸出該比特單元的PE的識別序號。
接著說明PE0~PE15的內(nèi)部結(jié)構(gòu)。PE0~15具有圖67所示內(nèi)部結(jié)構(gòu)。如圖67所示,各PE中包含RF、ALU,各PE的RF上存儲表示PE的排列順序的PE序號。具體說,PE0存儲PE序號0、PE1中存儲PE序號1,這樣根據(jù)各PE的排列順序存儲對應(yīng)的PE序號。替代PE內(nèi)的RF中存儲PE序號,各PE可包含預(yù)先存儲PE序號的非易失性存儲器元件。
ALU根據(jù)控制部123的指示執(zhí)行運(yùn)算處理。
該運(yùn)算處理是將對應(yīng)的PE內(nèi)的RF的PE序號(X)作為參數(shù)的暈眩(X+L)MOD S。該運(yùn)算結(jié)果為Z0值,將Z0的4倍的值叫作Z1。
這里,L是表示運(yùn)算次數(shù)的變量,((X+L)MOD S)是算出用作為原來的比特系列的1塊的比特?cái)?shù)的S分割(X+L)時的余數(shù)的運(yùn)算式。S=3。
求出Z1時,ALU執(zhí)行將寄存器121中存儲的各比特單元塊僅向左移動Z的移位運(yùn)算,還還執(zhí)行把表示移位運(yùn)算結(jié)果的數(shù)據(jù)向右移動12比特的移位運(yùn)算。該運(yùn)算結(jié)果的下位4比特是比特單元,將其輸出到寄存器122中。
Z0值是更新的值。Z0值的更新通過對增加1的變量值L(這里為2)執(zhí)行上述運(yùn)算進(jìn)行。對這樣更新的Z0值再次計(jì)算Z1值。通過反復(fù)Z0值的更新,比特單元塊中包含的3個比特單元的每一個按對應(yīng)塊內(nèi)原順序的順序輸出。
以上是數(shù)據(jù)處理裝置的構(gòu)成。下面邊引用流程圖邊說明各構(gòu)成要素的處理程序。
最初說明FFT運(yùn)算部104的處理程序。圖68是表示上述處理程序的流程圖。下面使用圖68說明上述處理。FFT運(yùn)算部104把變量M初始化后(步驟S1101),把變量M增加1(步驟S1102),在把變量N初始化后(步驟S1103),把變量N增加1(步驟S1104)。
解調(diào)1比特單元塊時,(步驟S1105為是),根據(jù)圖68的S1106所示的算出式(X=X0+32(N-1)+2(M-1),X0表示初始值)算出第一緩沖存儲器部107中寫入該比特單元塊的地址(X)。
這里,作為分配每1比特單元塊的2字節(jié)的存儲單位,設(shè)定算出X的字節(jié)數(shù)的算出式。
接著FFT運(yùn)算部104在步驟S1106中算出的地址的第一緩沖存儲器部105的存儲單位中寫入算出的比特單元塊(步驟S1107),還判斷變量N是否為6(步驟S1108)。
變量N不是6時(步驟S1108為否),把變量N增加1(步驟S1104),重復(fù)步驟S1105~S1108的處理,直到變量N為6。
變量N是6時(步驟S1108為是),判斷變量M是否為16(步驟S1109)。變量M不是16時(步驟S1109為否),重復(fù)步驟S1102~S1109的處理,直到變量M為16。
變量M是16時(步驟S1109為是),把變量M初始化(步驟S1101),重復(fù)步驟S1102~S1109的處理。
通過上述處理,解調(diào)的各比特單元塊在第一緩沖存儲器部105中成為6行16列。
以上是FFT運(yùn)算部104的處理程序。接著說明去映射部106進(jìn)行的比特單元的輸出處理。圖69是表示從比特單元塊輸出各比特單元而由控制部123進(jìn)行的處理的流程圖。
第一緩沖存儲器部105的存儲單位中由FFT運(yùn)算部104寫入96個解調(diào)的比特單元塊(步驟S1201)時,控制部123把變量N初始化后(步驟S1202),把變量N增加1(步驟S1203),從第一緩沖存儲器部105的存儲單位根據(jù)圖66的S1204所示的算出式(Y=X0+32(N-1),X0表示初始地址)對比特單元塊算出按16塊單位讀出用的前面的比特單元塊的地址(是),指定算出的地址,從第一緩沖存儲器部105的存儲單位讀出16個比特單元塊(步驟S1205),把讀出的比特單元塊存儲在去映射部106的寄存器121中(步驟S1206)。
接著控制部123從第一緩沖存儲器部106讀出各PE序號(步驟S1207),把讀出的各PE序號分配給對應(yīng)的PE內(nèi)的RF,對各PE指示根據(jù)用于用1個命令執(zhí)行把多個數(shù)據(jù)作為對象的處理的SIMD型運(yùn)算命令執(zhí)行對寄存器121中存儲的各比特單元塊的該運(yùn)算處理(步驟S1208),對16個比特單元的每一個的該運(yùn)算處理完成時(步驟S1209),判斷變量N是否為6。
變量N是6時(步驟S1210為是),重復(fù)步驟S1201~S1210的處理,變量N不是6時(步驟S1210為否),重復(fù)步驟S1203~S1210的處理。
接著說明根據(jù)來自控制部123的指示,各PE執(zhí)行的運(yùn)算處理。圖70是表示上述運(yùn)算處理的流程圖。
各PE具有來自控制部123的運(yùn)算處理的執(zhí)行指示時(步驟S1250為是),把變量L初始化后(步驟S1251)把變量L增加1(步驟S1252),從對應(yīng)的PE內(nèi)的RF讀出表示PE序號(X)的數(shù)據(jù),執(zhí)行(X+L)MOD3的運(yùn)算,使得算出作為運(yùn)算結(jié)果的Z0值(步驟S1253),還執(zhí)行把Z0乘以4倍的乘法運(yùn)算,算出作為乘法運(yùn)算結(jié)果的Z1值(步驟S1254)。
接著對各PE執(zhí)行下面的移位運(yùn)算處理(步驟S1255)。
即,各PE從寄存器121讀出各對應(yīng)的比特單元塊,執(zhí)行把讀出的比特單元塊向左移動Z1值的移位運(yùn)算。還執(zhí)行把表示移位運(yùn)算的結(jié)果的數(shù)據(jù)向右移動12比特的移位運(yùn)算。
接著各PE把運(yùn)算結(jié)果的下位4比特的比特單元輸出到寄存器122(步驟S1256),判斷變量N是否為3(步驟S1257)。
步驟S1257中變量N為3時(步驟S1257為是),反復(fù)步驟S1250到S1257的處理,變量N不為3時(步驟S1257為否),反復(fù)步驟S1252到S1257的處理。
接著詳細(xì)說明去映射部106進(jìn)行的把輸出的比特單元寫入第二緩沖存儲器部107的處理。圖71是表示上述處理的流程圖。下面參考圖71的流程圖說明上述處理。
控制部123把變量N初始化后(步驟S1301),把變量N增加1(步驟S1302),由各PE輸出4比特的比特單元時(步驟S1303為是),把輸出的16個比特單元寫入寄存器122中(步驟S1304),根據(jù)圖71的步驟S1305所示的算出式(X=X0+8(N-1),其中X是字節(jié)單位的寫入地址,X0是初始地址)算出寫入第二緩沖存儲器部107的地址,把算出的地址作為碹地址進(jìn)行指定(步驟S1306),從而在第二緩沖存儲器部107的存儲單位中按對應(yīng)于輸出該比特單元的PE的排列順序把寄存器122中寫入的16個比特單元的每一個寫入第二緩沖存儲器部107的存儲單位中(步驟S1307),判斷變量N是否為6(步驟S1308)。
變量N不是6時(步驟S1308為否),反復(fù)步驟S1302到S1308的處理。
變量N為6時(步驟S1308為是),返回步驟S1301。
根據(jù)以上本實(shí)施例,不使用存儲表示接收的各塊的各比特的原來順序的地址的存儲器,可將該塊內(nèi)的各比特的順序更換為該比特的原來順序,可減少功耗和硬件面積。
另外,第20實(shí)施例中,映射比特通過軟判斷被解調(diào)為12比特的比特單元串,但不可進(jìn)行軟判斷,解調(diào)為3比特的比特系列?;蛲ㄟ^軟判斷解調(diào)的比特?cái)?shù)不限于12比特。
而且,第20實(shí)施例中,去映射部106包含的PE是16個,但PE的個數(shù)可限于16個。
此外,第20實(shí)施例中,算出Z0值的運(yùn)算式不限于圖70的步驟S1253所示的運(yùn)算式。例如設(shè)定使標(biāo)記改變的運(yùn)算式,對應(yīng)標(biāo)記的狀態(tài)讀出預(yù)先在寄存器中存儲的S次中的某個Z1值。
另外,第20實(shí)施例中,寄存器12用運(yùn)送各16比特的總線和各PE連接,但用運(yùn)送各12比特的總線連接也可以。此時,移位運(yùn)算處理中,“(X+L)”置換為“(X+L-1)”、“向右移動12比特”置換為“向右移動8比特”。
(第21實(shí)施例)第21實(shí)施例是第20實(shí)施例的改進(jìn),主要是沒有第一緩沖存儲器部105。
圖72是表示第21實(shí)施例的數(shù)據(jù)處理裝置的主要部件的功能框圖。數(shù)據(jù)處理裝置由天線101、接收部102、基帶信號生成部103、FFT運(yùn)算部104、去映射部206、第二緩沖存儲器部107構(gòu)成。
數(shù)據(jù)處理裝置沒有第一緩沖存儲器部105這一點(diǎn)以及新添加去映射部206這一點(diǎn)是新穎的。其他構(gòu)成要素與第20實(shí)施例的數(shù)據(jù)處理裝置的構(gòu)成相同。
FFT運(yùn)算部104把從基帶信號生成部103輸出的基帶信號按輸出的順序變換為數(shù)字信號,分離為I信號和Q信號,把分離的各信號進(jìn)行FFT(快速傅立葉變換)運(yùn)算,解調(diào)映射比特。得到解調(diào)的映射比特(映射單元塊)。
接著說明去映射部26進(jìn)行的內(nèi)部結(jié)構(gòu)。圖73是表示去映射部206的內(nèi)部結(jié)構(gòu)圖。去映射部206至少包含1個PT。PT由16比特的寄存器132~134構(gòu)成的寄存器文件(RF)、ALU135、控制部123構(gòu)成。
寄存器132存儲去映射部206得到的比特單元塊。
寄存器133存儲寄存器132移位動作時存儲在寄存器132中的比特單元塊。
寄存器134存儲由ALU135的移位運(yùn)算處理得到的3個比特單元(4比特)。讀出寄存器134中下位4比特的比特單元。
ALU135對寄存器133中存儲的比特單元塊進(jìn)行運(yùn)算。這里的運(yùn)算是預(yù)先在程序中設(shè)定的運(yùn)算式floor(N-1)/(W/S)MOD S。該運(yùn)算式的floor是floor函數(shù)。所謂floor函數(shù)是表示作為括號里的商的(N-1)/(W/S)的整數(shù)部分的函數(shù)。上述運(yùn)算式是用于計(jì)算出用S除該整數(shù)部分時的余數(shù)的運(yùn)算式,N表示與把比特單元塊寫入寄存器132的順序相當(dāng)?shù)淖兞俊?br> 原來的比特系列交織的間隔為(W-1),1塊的比特?cái)?shù)為S比特。這樣,W/S((17+1)/3)為6。ALU135通過執(zhí)行上述運(yùn)算每當(dāng)把比特單元塊向寄存器32中寫入6次時反復(fù)算出0,1,2,3的值。
在該反復(fù)中,第1到第6次的比特單元塊的寫入時、第0,7~12次的寫入時、第,13~18次的寫入時、第2,19~24次的寫入時再次為0。
進(jìn)行運(yùn)算時,ALU135根據(jù)控制部123決定的順序執(zhí)行一位運(yùn)算處理。
這里,移位運(yùn)算處理的順序是執(zhí)行下面的3種運(yùn)算處理的順序。
該3種運(yùn)算處理叫運(yùn)算處理1,2,3。
運(yùn)算處理1是對寄存器133中寫入的比特單元塊執(zhí)行向左作4移位控制的移位運(yùn)算,再執(zhí)行向右作8移位控制的移位運(yùn)算的移位運(yùn)算處理,算出12比特的比特單元塊的上位4比特的比特單元。
運(yùn)算處理2是對寄存器133中寫入的比特單元塊執(zhí)行向左作8移位控制的移位運(yùn)算,再執(zhí)行向右作12移位控制的移位運(yùn)算的移位運(yùn)算處理,算出12比特的比特單元塊的中位4比特。
運(yùn)算處理3是對寄存器133中寫入的比特單元塊執(zhí)行向左作12移位控制的移位運(yùn)算,再執(zhí)行向右作12移位控制的移位運(yùn)算的移位運(yùn)算處理,由此算出12比特的比特單元塊的下位4比特元。
執(zhí)行這3個運(yùn)算處理的順序由ALU135切換。
具體說,,ALU135在Z值為0時按移位運(yùn)算處理1,2,3的順序、在Z值為1時按移位運(yùn)算處理2,3,1的順序、在Z值為2時按移位運(yùn)算處理3,1,2的順序執(zhí)行移位運(yùn)算。由此,比特單元塊中包含的3個比特單元各自按對應(yīng)塊內(nèi)原順序的順序輸出。
控制部136根據(jù)圖74的流程圖控制比特單元的輸出處理和寫入處理。下面使用圖74的流程圖詳細(xì)說明控制部136的處理。圖74是表示上述處理的流程圖。
控制部136把變量M初始化后(步驟S1401),把變量M增加1(步驟S1402),再把變量N初始化(步驟S1403),通過FFT運(yùn)算部104在寄存器132中寫入比特單元塊時(步驟S1404位是),移位寫入的比特單元塊,存儲在寄存器133中。并且把變量N增加1(步驟S1405),還把變量L初始化(步驟S1406),通過使ALU135執(zhí)行由步驟S1407的計(jì)算式表示的運(yùn)算算出Z值(步驟S1407),再把變量L增加1(步驟S1408),判斷Z值是否為0(步驟S1409)。
Z值為0時(步驟S1409為是),ALU135對寫入寄存器133中的比特單元塊執(zhí)行運(yùn)算處理1(步驟S1410)。
Z值為1時(步驟S1409為否、步驟S1411為是),ALU135對寫入寄存器133中的比特單元塊執(zhí)行運(yùn)算處理2(步驟S1412)。
Z值為2時(步驟S1409為否、步驟S1411為否),ALU135對寫入寄存器133中的比特單元塊執(zhí)行運(yùn)算處理3(步驟S1413)。
接著控制部136把上述選擇的運(yùn)算處理算出的比特單元值輸出到寄存器134中,讀出輸出的比特單元值的下位4比特,從而輸出比特單元,再根據(jù)預(yù)先在程序中設(shè)定的運(yùn)算式(X0+16(N-1)+M-1)使ALU35算出用于把輸出的比特單元寫入第二緩沖存儲器的存儲單位中的指定地址,在算出的地址表示的第二緩沖存儲器存儲單位中寫入輸出的4比特的比特單元(步驟S1414)。
接著控制部136世人ALU135執(zhí)行根據(jù)預(yù)先在程序中設(shè)定的運(yùn)算式(Z=(Z+1)MOD 3)更新Z值的運(yùn)算(步驟S1415),把運(yùn)算結(jié)果輸出到寄存器134中后判斷變量L是否為3(步驟S1416)。
變量L不是3(步驟S1416為否)時,控制部136反復(fù)步驟S1408~S1416的處理,變量L為3時(步驟S1416為是),判斷變量N是否為6(步驟S1417)。
變量N不是6時(步驟S1417為否),控制部136反復(fù)步驟S1405~S1417的處理,變量N為6(步驟S1417為是)時控制部136判斷變量M是否為16(步驟S1418)。
變量M不是16時(步驟S1418為否),控制部136反復(fù)步驟S1402~S1418的處理,變量M為16(步驟S1418為是)時返回步驟S1401的處理。
根據(jù)以上本實(shí)施例,不使用存儲表示接收的各塊的各比特的原來順序的地址的存儲器可把該塊內(nèi)的各比特的順序更換為與該比特對應(yīng)的比特單元的原來的順序,因此可降低功耗并減少硬件面積。
另外第21實(shí)施例中,用于算出Z值的運(yùn)算式不限于該第21實(shí)施例中使用的運(yùn)算式。只要是可周期算出與1塊的比特?cái)?shù)對應(yīng)的S次的不同值的運(yùn)算式,是其他運(yùn)算式也可以。
該第21實(shí)施例中,去映射部206中包含寄存器132~134的3個寄存器,但可以僅有寄存器132。此時圖74的流程圖中,控制部136使ALU135對應(yīng)算出的Z值對寄存器132中寫入的比特單元塊執(zhí)行相應(yīng)的運(yùn)算處理,通過運(yùn)算處理算出的比特單元值的下位4比特不經(jīng)寄存器134而直接寫入ALU135算出的指定地址表示的第二緩沖存儲器的存儲單位中。
盡管本發(fā)明通過舉例方式參考附圖進(jìn)行了全面描述,但應(yīng)注意對本領(lǐng)域技術(shù)人員而言顯然可進(jìn)行各種改變和修改。因此,除非這種改變和變形背離了本發(fā)明的范圍,否則應(yīng)視為包括其中。
權(quán)利要求
1.一種數(shù)據(jù)處理裝置,包括n個處理元件,分別包含寄存器文件和運(yùn)算單元;1輸入-n輸出選擇器,同時執(zhí)行n個輸入輸出,每個輸入輸出將某個處理元件內(nèi)的寄存器文件作為輸入源,將某個處理元件內(nèi)的運(yùn)算單元作為輸出目的地(n是2以上的整數(shù),1是1以上n以下的整數(shù))。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,各處理元件的寄存器文件包含存儲縱向m×橫向n個數(shù)據(jù)中的縱向m個數(shù)據(jù)的m個寄存器(m是2以上的整數(shù)),成為輸入輸出對象的數(shù)據(jù)是由各寄存器文件中包含的m個寄存器中的1個以上的寄存器存儲的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,具有u個輸入端口和v個輸出端口(u,v為2以上的整數(shù)),從u個輸入端口輸入的數(shù)據(jù)寫入某個寄存器中的處理和把某個寄存器中存儲的數(shù)據(jù)讀出到v個輸出端口的處理同時進(jìn)行。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,各寄存器文件的u個輸入端口中的a個輸入端口與存儲器連接,b個輸入端口與運(yùn)算單元的輸出端口連接(a,b為滿足1≤a,b≤u的整數(shù)),v個輸出端口中c個輸出端口與同一處理元件內(nèi)的運(yùn)算單元的輸入端口連接,d個輸出端口與1輸入-n輸出選擇器的輸入端口連接(c,d為滿足1≤c,d≤v的整數(shù))。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)處理裝置,經(jīng)運(yùn)算單元的輸出端口輸入到c個輸入端口的數(shù)據(jù)是以自身包含的運(yùn)算單元作為輸出目的地的從1輸入-n輸出選擇器輸出的數(shù)據(jù)或通過運(yùn)算單元運(yùn)算該輸出數(shù)據(jù)得到的運(yùn)算結(jié)果。
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,把表示與運(yùn)算單元運(yùn)算得到的運(yùn)算結(jié)果同時執(zhí)行運(yùn)算時的運(yùn)算單元的狀態(tài)的狀態(tài)標(biāo)記寫入和運(yùn)算單元相同的處理元件中包含的寄存器文件內(nèi)的某個寄存器中。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理裝置,上述狀態(tài)標(biāo)記是表示運(yùn)算單元運(yùn)算時是否產(chǎn)生升位的進(jìn)位標(biāo)記、表示運(yùn)算單元的運(yùn)算結(jié)果是否為零的標(biāo)記或運(yùn)算單元的運(yùn)算是比較運(yùn)算時的比較結(jié)果標(biāo)記。
8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,對從1輸入-n輸出選擇器輸出的數(shù)據(jù)和從同一處理元件中包含的寄存器文件輸出的數(shù)據(jù)進(jìn)行多次運(yùn)算,通過多次運(yùn)算得到的運(yùn)算結(jié)果中將較大的或較小的寫回寄存器文件中。
9.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,上述數(shù)據(jù)處理裝置具有2個以上的1輸入-n輸出選擇器,n個處理元件中包含的n個運(yùn)算單元同時執(zhí)行n個將從一個1輸入-n輸出選擇器輸出的數(shù)據(jù)作為第一操作符、將從另一個1輸入-n輸出選擇器輸出的數(shù)據(jù)作為第二操作符的運(yùn)算。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,運(yùn)算單元包括差分加法器,每個1輸入-n輸出選擇器的輸入源由差分加法器的運(yùn)算結(jié)果指定。
11.根據(jù)權(quán)利要求10述的數(shù)據(jù)處理裝置,數(shù)值t+β為差分加法器的運(yùn)算結(jié)果時(t是整數(shù)部,β是小數(shù)部),由1輸入-n輸出選擇器的1個輸入源是第t個處理元件,其他輸入輸出的輸入源是第t+1個處理元件,運(yùn)算單元具有把小數(shù)部β乘到以第t個處理元件作為輸入源的數(shù)據(jù)上、把小數(shù)部1-β乘到以第t+1個處理元件作為輸入源的數(shù)據(jù)上的乘法器。
12.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,存儲在寄存器文件中的數(shù)據(jù)由上位半字和下位半字構(gòu)成,運(yùn)算單元進(jìn)行將上位半字或下位半字作為操作符的運(yùn)算,上述1輸入-n輸出選擇器連接更換寄存器文件的上位半字和下位半字并輸出到運(yùn)算單元的變換部。
13.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,每個處理元件上連接解讀具有成為讀出目的地的寄存器的指定和成為寫入目的地的寄存器的指定的命令的第一解碼器,寄存器文件同時執(zhí)行從命令指定的寄存器的讀出和對命令指定的寄存器的寫入。
14.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,備有解讀命令的第一解碼器,處理元件包括把偏置加到成為第一解碼器的解讀結(jié)果的寄存器序號上的加法器,寄存器文件從加上偏紙的寄存器序號指定的寄存器讀出數(shù)據(jù)。
15.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,具有在與第一解碼器的命令解讀不同的循環(huán)中進(jìn)行分支命令的解讀的第二解碼器。
16.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,數(shù)據(jù)處理裝置具有存儲輸入源的處理元件和輸出目的地的處理元件的組合的組合存儲部,1輸入-n輸出選擇器根據(jù)組合存儲部中存儲的指定的組合實(shí)施n個輸入輸出。
17.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,寄存器文件由n個寄存器構(gòu)成,n個處理元件中包含的寄存器文件存儲x行×y列構(gòu)成的矩陣狀數(shù)據(jù),(x,y是滿足1≤x≤n、1≤y≤n的整數(shù)),n個處理元件在z個循環(huán)上進(jìn)行矩陣狀數(shù)據(jù)的行方向的累計(jì)(z是x,y中較大的一個或其中任何一個),該累計(jì)中第i個處理元件在第k循環(huán)中讀出自身包含的寄存器文件的第j個寄存器的數(shù)據(jù)(i,k是滿足1≤i≤z,1≤k≤z的整數(shù),j表示用z除i+k-1的余數(shù)),1輸入-n輸出選擇器把讀出的數(shù)據(jù)輸出到第j個處理元件內(nèi)的運(yùn)算單元。
18.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,寄存器文件由n個寄存器構(gòu)成,n個處理元件中包含的寄存器文件存儲x行×y列構(gòu)成的矩陣狀數(shù)據(jù),(x,y是滿足1≤x≤n、1≤y≤n的整數(shù)),n個處理元件在z個循環(huán)上進(jìn)行矩陣狀數(shù)據(jù)的轉(zhuǎn)置(z是x,y中較大的一個或其中任何一個),轉(zhuǎn)置的第i個處理元件在第k循環(huán)中從寄存器文件的第j個寄存器讀出數(shù)據(jù)(i,k是滿足1≤i≤z,1≤k≤z的整數(shù),j表示用z除i+k的余數(shù)),1輸入-n輸出選擇器把讀出的數(shù)據(jù)輸出到第j個處理元件,第j個處理元件把輸出的數(shù)據(jù)寫入自身的寄存器文件的第i個寄存器中。
19.根據(jù)權(quán)利要求18所述的數(shù)據(jù)處理裝置,具有另外的1輸入-n輸出選擇器,從第i個處理元件的寄存器文件的第j個寄存器讀出數(shù)據(jù)的同時,從第j個處理元件的寄存器文件的第i個寄存器讀出數(shù)據(jù),另外的1輸入-n輸出選擇器把讀出的數(shù)據(jù)輸出到第i個處理元件,第i個處理元件把輸出的數(shù)據(jù)寫入自身的寄存器文件的第j個寄存器中。
20.根據(jù)權(quán)利要求19所述的數(shù)據(jù)處理裝置,備有解讀命令、輸出解讀結(jié)果的數(shù)值k的解碼器,處理元件具有把解讀結(jié)果的數(shù)值k加到作為處理元件固有的偏置的數(shù)值i上并輸出到寄存器文件的加法器。
21.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,數(shù)據(jù)處理裝置和p個存儲單元構(gòu)成的存儲器器件連接(p是滿足p<n的整數(shù)),數(shù)據(jù)處理裝置具有同時實(shí)施p個把p個存儲單元中的某個作為輸入源、把p個處理元件中某個的寄存器文件作為輸出目的地的輸入輸出的p輸入-p輸出選擇器。
22.根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理裝置,由命令的操作符指定從寄存器文件的哪個寄存器讀出成為上述選擇器的輸入輸出對象的數(shù)據(jù)以及從寄存器文件的哪個寄存器寫入該數(shù)據(jù)。
23.根據(jù)權(quán)利要求22所述的數(shù)據(jù)處理裝置,上述選擇器的輸入輸出是以將第i±h個的處理元件的寄存器文件作為輸入源、將第i個的處理元件的運(yùn)算單元作為輸出目的地的,上述命令還具有將數(shù)值h作為偏置量指定的操作符(i,h是滿足1≤i+h≤1的整數(shù))。
24.一種程序,包含對數(shù)據(jù)處理裝置命令處理的命令,其中數(shù)據(jù)處理裝置具有n個處理元件,每一個分別包含具有多個寄存器的寄存器文件和運(yùn)算單元,數(shù)據(jù)處理裝置還包括1輸入-n輸出選擇器,同時執(zhí)行n個將某個處理元件內(nèi)的寄存器文件作為輸入源、將某個處理元件內(nèi)的運(yùn)算單元作為輸出目的地的輸入輸出,(n是2以上的整數(shù),1是2以上n以下的整數(shù)),其特征在于包含一個命令,該命令具有指定成為輸入輸出對象的數(shù)據(jù)的讀出源寄存器的第一操作符和指定成為輸入輸出對象的數(shù)據(jù)的寫入目的地寄存器的第二操作符,對上述選擇器指示執(zhí)行輸入輸出。
25.根據(jù)權(quán)利要求24所述的程序,上述選擇器的輸入輸出是以將第i±h個的處理元件的寄存器文件作為輸入源、將第i個的處理元件的運(yùn)算單元作為輸出目的地的,上述命令還具有將數(shù)值h作為偏置量指定的第三操作符(i,h是滿足1≤i+h≤1的整數(shù))。
26.一種數(shù)據(jù)處理裝置,將通過把比特系列中相鄰的比特?cái)?shù)據(jù)更換成具有(S×(N-1))比特以上的間隔而得到的塊串復(fù)原為原來的比特系列,比特?cái)?shù)據(jù)由1個以上的比特構(gòu)成,S是塊的比特?cái)?shù)據(jù)的個數(shù),N是塊串中構(gòu)成1個組的塊數(shù),各組的塊的順序Y按Y=(X MOD S)給出(X是塊串的各組的順序,MOD是MOD運(yùn)算的運(yùn)算符),上述數(shù)據(jù)處理裝置包括1個以上的處理元件,處理元件包括寄存器文件和運(yùn)算部,上述寄存器文件存儲塊串的塊,上述運(yùn)算部通過對在寄存器文件中存儲的塊進(jìn)行多次移位控制把更換比特?cái)?shù)據(jù)前的比特系列復(fù)原。
27.根據(jù)權(quán)利要求26的數(shù)據(jù)處理裝置,上述數(shù)據(jù)處理裝置包括按縱向N個×橫向M個的矩陣狀存儲上述塊串的存儲部件和從存儲部件讀出橫向M個塊的讀出部件,處理元件是M個,M個處理元件內(nèi)的寄存器文件存儲讀出的M個塊,M個處理元件內(nèi)的運(yùn)算部對各處理元件內(nèi)的寄存器文件內(nèi)的塊進(jìn)行S次移位控制,S次移位控制是將各處理元件上附加的序號P(P是從1到M的數(shù)值)作為參數(shù)的移位控制。
28.根據(jù)權(quán)利要求27的數(shù)據(jù)處理裝置,S為4,S次的移位控制是將把塊向左移動Z后、向右移動12比特的動作反復(fù)S次的處理,這里Z是滿足Z=((P+L-1)MOD 3)*S的值,L是初始值為1、每一次的移位控制都遞增的值,S次的移動動作得到的S個移位結(jié)果的下位比特為更換前的比特?cái)?shù)據(jù)。
29.根據(jù)權(quán)利要求26的數(shù)據(jù)處理裝置,包括解調(diào)接收信號來得到塊的解調(diào)部件,上述處理元件的寄存器文件存儲得到的塊,多次的移位控制是S-1次的移位控制,S-1次的移位控制是將解調(diào)部件得到塊的順序Z(Z是從1到M的數(shù)值)座作為參數(shù)的控制。
30.根據(jù)權(quán)利要求29的數(shù)據(jù)處理裝置,S-1為3,S-1次的移位控制是根據(jù)在0-2的范圍內(nèi)變化的變量Z進(jìn)行的控制,變量Z是將((floor((N-1)/6)MOD 3)作為初始值的變量,(這里floor是floor運(yùn)算的運(yùn)算符)是把((Z+1)MOD 3)帶入Z更新的變量,Z為2時的移位控制是把塊向左移動12比特、向右移動12比特的第一動作,Z為1時的移位控制是把塊向左移動8比特、向右移動12比特的第二動作,Z為0時的移位控制是把塊向左移動4比特、向右移動8比特的第三動作,第一動作的移位結(jié)果的下位比特、第二動作的移位結(jié)果的中位比特、第三動作的移位結(jié)果的上位比特分別為更換前的比特?cái)?shù)據(jù)。
全文摘要
數(shù)據(jù)處理裝置包括16個具有寄存器文件和算術(shù)運(yùn)算單元的處理元件,寄存器文件和算術(shù)運(yùn)算單元之間由網(wǎng)絡(luò)部連接。網(wǎng)絡(luò)部具有同時實(shí)施多個將某個處理元件內(nèi)的寄存器文件作為輸入源,將某個處理元件內(nèi)的運(yùn)算單元作為輸出目的地的輸入輸出的選擇器。選擇器實(shí)現(xiàn)同時輸入輸出,使得即便操作符的分配等產(chǎn)生變化,也可普遍地維持處理元件的運(yùn)轉(zhuǎn)效率。
文檔編號G06F15/16GK1442797SQ0310689
公開日2003年9月17日 申請日期2003年3月6日 優(yōu)先權(quán)日2002年3月6日
發(fā)明者森下廣之, 伊藤敦, 高島敏, 西田英志, 木村浩三, 清原督三, 三好明, 廉田浩 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
东阿县| 威远县| 嘉义县| 望江县| 会同县| 东乡县| 民权县| 鄂伦春自治旗| 平阳县| 栾川县| 囊谦县| 民县| 广德县| 广河县| 敦煌市| 嘉义市| 平定县| 哈尔滨市| 南宁市| 安远县| 文安县| 炉霍县| 孝感市| 田阳县| 海林市| 隆林| 云阳县| 长乐市| 客服| 大冶市| 阜康市| 肥城市| 五家渠市| 固阳县| 庆云县| 陈巴尔虎旗| 宜章县| 黔西| 郓城县| 青河县| 榆社县|