專利名稱:一種支持多個(gè)數(shù)據(jù)單元任意置換的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及芯片設(shè)計(jì)中的矢量處理器領(lǐng)域,尤其涉及一種支持多個(gè)數(shù)據(jù)單元任意置換的方法和裝置。
背景技術(shù):
目前,通信協(xié)議包括全球移動(dòng)通訊系統(tǒng)(GSM)、通用移動(dòng)通信系統(tǒng)(UMTS)、無線局域網(wǎng)絡(luò)(WLAN)、時(shí)分同步碼分多址(TD-SCDMA)和長(zhǎng)期演進(jìn)(LTE)等等多種模式。如果采用原有的特定應(yīng)用集成電路(Application Specific Integrated Circuit, ASIC)方法來實(shí)現(xiàn)多模兼容的移動(dòng)終端的芯片,必然面臨芯片面積大、功耗大且缺乏靈活性等缺點(diǎn)。當(dāng)前提
出的軟件無線電(Software-Defined Radio, SDR)技術(shù)正是解決多模通信移動(dòng)終端芯片設(shè)計(jì)問題極具潛力的技術(shù),可編程矢量處理器為SDR的核心架構(gòu)。為了支持多?;鶐У奶幚恚笫噶刻幚砥髅棵氡仨毮軋?zhí)行數(shù)G次的操作,矢量處理器每次處理的數(shù)據(jù)單元的數(shù)目很大,一般為八個(gè)、十六個(gè)或三十二個(gè)數(shù)據(jù)單元,一個(gè)數(shù)據(jù)單元為32bits,代表一對(duì)iq浮點(diǎn)數(shù)據(jù)。那么,為了靈活處理這些矢量數(shù)據(jù),矢量處理器內(nèi)的數(shù)據(jù)單元間位置的任意置換是必不可少的操作。現(xiàn)有技術(shù)已提出數(shù)據(jù)單元間的位置任意置換的方案,如圖I所示,為了實(shí)現(xiàn)對(duì)三十二個(gè)數(shù)據(jù)單元位置的置換,需要三十二個(gè)三十二選一的選擇器,圖I中inO,ini,...,in31表示位置待置換的三十二個(gè)數(shù)據(jù)單元,outO, outl,. . . , out31表示三十二個(gè)數(shù)據(jù)單元的位置置換結(jié)果。三十二個(gè)數(shù)據(jù)單元需分別輸入到三十二個(gè)三十二選一的選擇器內(nèi),每個(gè)三十二選一的選擇器從輸入的三十二個(gè)數(shù)據(jù)單元中選出一個(gè)數(shù)據(jù)單元,最終得到位置置換后的三十二個(gè)數(shù)據(jù)單元。如果將所述三十二選一的選擇器折合成二選一選擇器,則該方法共需要32x31 = 992個(gè)二選一選擇器。雖然該方法能實(shí)現(xiàn)數(shù)據(jù)單元位置的任意置換,但是可以看出其實(shí)現(xiàn)過程所利用的選擇器的數(shù)目較大,導(dǎo)致在芯片設(shè)計(jì)中數(shù)據(jù)單元置換電路要占用很大的面積,使得功耗也較大。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種支持多個(gè)數(shù)據(jù)單元任意置換的方法和裝置,可減小數(shù)據(jù)單元置換電路在芯片中占用的面積,同時(shí)減小功耗。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種支持多個(gè)數(shù)據(jù)單元任意置換的方法,配置N個(gè)數(shù)據(jù)單元位置任意置換的圖樣;該方法還包括在數(shù)據(jù)單元置換過程中,根據(jù)圖樣的配置對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作;其中,所述N表示數(shù)據(jù)單元的個(gè)數(shù),N等于2的m次冪,m為正整數(shù)。其中,所述N = 32時(shí),該方法為配置三十二個(gè)數(shù)據(jù)單元位置任意置換的圖樣;在數(shù)據(jù)單元置換過程中,根據(jù)圖樣的配置對(duì)三十二個(gè)數(shù)據(jù)單元依次執(zhí)行四個(gè)數(shù)據(jù)單元置換、八個(gè)數(shù)據(jù)單元置換、十六個(gè)數(shù)據(jù)單元置換以及三十二個(gè)數(shù)據(jù)單元置換的操作。其中,所述配置的圖樣中包括交叉選擇器,即二選一選擇器對(duì)應(yīng)的控制線,用于置換過程中控制兩個(gè)數(shù)據(jù)單元的置換操作。其中,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行四個(gè)數(shù)據(jù)單元置換操作,為將三十 二個(gè)數(shù)據(jù)單元分成八組,每組包括四個(gè)數(shù)據(jù)單元,分別對(duì)各組中的四個(gè)數(shù)據(jù)單元均執(zhí)行置換操作。其中,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行八個(gè)數(shù)據(jù)單元置換操作,為將已執(zhí)行四個(gè)數(shù)據(jù)單元置換操作的八組數(shù)據(jù)單元兩兩結(jié)合,形成四組八個(gè)數(shù)據(jù)單元序列,并按已配置的圖樣對(duì)四組數(shù)據(jù)單元序列分別執(zhí)行八個(gè)數(shù)據(jù)單元置換操作。其中,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作,為將已執(zhí)行八個(gè)數(shù)據(jù)單元置換操作的四組數(shù)據(jù)單元兩兩結(jié)合,形成兩組十六個(gè)數(shù)據(jù)單元序列,并按已配置的圖樣對(duì)兩組數(shù)據(jù)單元序列分別執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作。其中,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作,為將已執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作的兩組數(shù)據(jù)單元相結(jié)合,形成一組三十二個(gè)數(shù)據(jù)單元序列,并按已配置的圖樣對(duì)該組數(shù)據(jù)單元序列執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作。本發(fā)明還提供了一種支持多個(gè)數(shù)據(jù)單元任意置換的裝置,該裝置包括配置模塊和置換處理模塊;其中,所述配置模塊,用于配置N個(gè)數(shù)據(jù)單元位置任意置換的圖樣;所述置換處理模塊,用于在數(shù)據(jù)單元置換過程中,根據(jù)配置模塊所配置的圖樣對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作;其中,所述N表示數(shù)據(jù)單元的個(gè)數(shù),N等于2的m次冪,m為正整數(shù)。其中,所述N = 32時(shí),所述配置模塊,用于配置三十二個(gè)數(shù)據(jù)單元位置任意置換的圖樣;所述置換處理模塊,用于在數(shù)據(jù)單元置換過程中,根據(jù)配置模塊所配置的圖樣對(duì)三十二個(gè)數(shù)據(jù)單元依次執(zhí)行四個(gè)數(shù)據(jù)單元置換、八個(gè)數(shù)據(jù)單元置換、十六個(gè)數(shù)據(jù)單元置換以及三十二個(gè)數(shù)據(jù)單元置換的操作。其中,所述置換處理模塊還包括四數(shù)據(jù)單元置換模塊、八數(shù)據(jù)單元置換模塊、十六數(shù)據(jù)單元置換模塊和三十二數(shù)據(jù)單元置換模塊;其中,所述四數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行四個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給八數(shù)據(jù)單元置換模塊;所述八數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)四數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行八個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給十六數(shù)據(jù)單元置換模塊;所述十六數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)八數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給三十二數(shù)據(jù)單元置換模塊;所述三十二數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)十六數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作。本發(fā)明提供的支持多個(gè)數(shù)據(jù)單元任意置換的方法和裝置,配置N個(gè)數(shù)據(jù)單元任意置換的圖樣;在數(shù)據(jù)單元置換過程中,根據(jù)圖樣的配置對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作。如果運(yùn)用本發(fā)明方法對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行任意置換操作,則需執(zhí)行15階交換操作,共需382個(gè)二選一選擇器,與現(xiàn)有技術(shù)相比,本發(fā)明所需二選一選擇器的數(shù)目遠(yuǎn)小于現(xiàn)有的992個(gè),因此,本發(fā)明可減小數(shù)據(jù)單元置換電路在芯片中占用的面積,電路面積的減小也相應(yīng)減小了功率的消耗。此外,本發(fā)明的置換操作僅需兩個(gè)時(shí)鐘周期,速度較快。
圖I為現(xiàn)有三十二個(gè)數(shù)據(jù)單元任意置換的方法實(shí)現(xiàn)示意圖;圖2為本發(fā)明實(shí)施例支持三十二個(gè)數(shù)據(jù)單元任意置換的方法實(shí)現(xiàn)流程示意圖;圖3為本發(fā)明實(shí)施例四個(gè)數(shù)據(jù)單元依據(jù)圖樣排序的流程示意圖;
圖4為本發(fā)明實(shí)施例四個(gè)數(shù)據(jù)單元位置置換的流程圖;圖5為本發(fā)明數(shù)據(jù)單元位置置換時(shí)每個(gè)交叉連線對(duì)應(yīng)的二選一選擇器電路圖;圖6為本發(fā)明實(shí)施例八個(gè)數(shù)據(jù)單元位置置換的流程圖;圖7為本發(fā)明實(shí)施例十六個(gè)數(shù)據(jù)單元位置置換的流程圖;圖8為本發(fā)明實(shí)施例三十二個(gè)數(shù)據(jù)單元位置置換的流程圖;圖9為本發(fā)明實(shí)施例支持三十二個(gè)數(shù)據(jù)單元任意置換的裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是配置N個(gè)數(shù)據(jù)單元位置任意置換的圖樣;在數(shù)據(jù)單元置換過程中,根據(jù)圖樣的配置對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作。其中,所述N表示數(shù)據(jù)單元的個(gè)數(shù),N等于2的m次冪,m為正整數(shù)。以三十二個(gè)數(shù)據(jù)單元為例,那么,在數(shù)據(jù)單元置換過程中,將根據(jù)圖樣的配置對(duì)三十二個(gè)數(shù)據(jù)單元依次執(zhí)行四個(gè)數(shù)據(jù)單元置換、八個(gè)數(shù)據(jù)單元置換、十六個(gè)數(shù)據(jù)單元置換以及三十二個(gè)數(shù)據(jù)單元置換的操作。其中,所述圖樣為輸入矢量處理器的數(shù)據(jù)單元的位置經(jīng)置換后最終所得結(jié)果位置對(duì)應(yīng)的參數(shù)。例如設(shè)從左到右輸入eO,el, e2, e3四個(gè)數(shù)據(jù)單元,需要輸出的位置順序?yàn)?3,60,61,62,那么配置圖樣的參數(shù)?0,?1,?2,?3的值分別為3,0,1,2。當(dāng)然,圖樣中還包括數(shù)據(jù)交換時(shí)所需的交叉選擇器,即二選一選擇器對(duì)應(yīng)的控制線的配置。本發(fā)明是以三十二個(gè)數(shù)據(jù)單元為例進(jìn)行描述,但是本發(fā)明的方案并不限于三十二個(gè)數(shù)據(jù)單元位置的任意置換,其也可以類推到六十四個(gè)或更多個(gè)數(shù)據(jù)單元的任意置換。當(dāng)然,本發(fā)明一定支持四個(gè)、八個(gè)和十六個(gè)數(shù)據(jù)單元的任意置換,具體實(shí)現(xiàn)方法見后續(xù)描述。下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。圖2為本發(fā)明實(shí)施例支持三十二個(gè)數(shù)據(jù)單元任意置換的方法實(shí)現(xiàn)流程示意圖,如圖2所示,該方法的實(shí)現(xiàn)流程如下步驟201 :配置三十二個(gè)數(shù)據(jù)單元位置任意置換的圖樣;具體為在配置三十二個(gè)數(shù)據(jù)單元任意置換的圖樣時(shí),依據(jù)實(shí)際需要來進(jìn)行,即依據(jù)所需三十二個(gè)數(shù)據(jù)單元位置置換最終所得的結(jié)果進(jìn)行配置。例如以四個(gè)數(shù)據(jù)單元為例,假設(shè)我們需要將輸入矢量處理器中的先后位置為eO, el, e2, e3的四個(gè)數(shù)據(jù)單元置換為先后位置為e3, el, e2, eO的順序,那么在配置圖樣時(shí),設(shè)圖樣對(duì)應(yīng)的初始四個(gè)參數(shù)表示為PO,p I,p2,p3,其對(duì)應(yīng)的數(shù)值分別設(shè)為3,I,2,0,SP與置換后所得e3,el, e2, eO中的數(shù)據(jù)單元序號(hào)相同;數(shù)值3,1,2,0進(jìn)行兩兩比較大小,按由小到大的順序排列,最后所得結(jié)果必為0,1,2,3,在兩兩比較時(shí),形成每個(gè)交叉選擇器對(duì)應(yīng)的控制線ctl,可設(shè)ctl = I時(shí),表示兩數(shù)據(jù)交換位置;ctl = 0時(shí),表示兩數(shù)據(jù)位置不變。如圖3所示,圖3中左側(cè)表示置換圖樣,右側(cè)為實(shí)際輸入到矢量處理器中的數(shù)據(jù)單元位置置換流程,其中橫向箭頭均表示控制線。左側(cè)p0 = 3, pi = I, p2 = 2, p3 = 0四個(gè)參數(shù)排序共需進(jìn)行三階交換,第一階排序時(shí),因p0 > pl,p2 > p3,所以對(duì)應(yīng)交叉選擇器的控制線分別為ctl = I和ctl = I ;第二階排序時(shí),因pl > p3, p0 > p2,所以對(duì)應(yīng)交叉選擇器的控制線分別為ctl = I和ctl = I ;第三階排序時(shí),因p2 > pl,所以對(duì)應(yīng)交叉選擇器的控制線為ctl = I。因此,實(shí)際輸入的四個(gè)數(shù)據(jù)單元eO,el, e2, e3進(jìn)行位置置換時(shí),每階段的交換將在左側(cè)圖樣形成的控制線的控制下進(jìn)行,所得結(jié)果如圖3右側(cè)所示。 三十二個(gè)數(shù)據(jù)單元位置任意置換的圖樣的配置方法與上述四個(gè)數(shù)據(jù)單元位置任意置換的圖樣的配置方法相同,主要是配置各交叉選擇器的控制線,用于置換過程中控制兩個(gè)數(shù)據(jù)單元的位置置換操作。關(guān)于三十二個(gè)數(shù)據(jù)單元位置置換分四步完成,每一步對(duì)應(yīng)相應(yīng)的圖樣,關(guān)于圖樣的具體形式此處不再詳述,可對(duì)照后續(xù)步驟數(shù)據(jù)單元置換時(shí)的流程圖。步驟202 :根據(jù)圖樣的配置對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行四個(gè)數(shù)據(jù)單元置換操作;具體為首先將三十二個(gè)數(shù)據(jù)單元分成八組,每組包括四個(gè)數(shù)據(jù)單元,分別對(duì)各組中的四個(gè)數(shù)據(jù)單元均執(zhí)行置換操作。例如假設(shè)三十二個(gè)數(shù)據(jù)單元分別為a0,al,a2,...,a31,按先后順序?qū)⒚克膫€(gè)數(shù)據(jù)單元分為一組,第一組為a0,al,a2,a3,按照已配置的圖樣,即按圖樣中交叉選擇器的控制線的控制進(jìn)行兩數(shù)據(jù)位置互換,實(shí)現(xiàn)對(duì)a0,al, a2和a3的置換操作,其它七組按同樣的方法執(zhí)行置換操作。圖4為本發(fā)明實(shí)施例四個(gè)數(shù)據(jù)單元位置置換的流程圖,如圖4所示,四個(gè)數(shù)據(jù)單元的置換共需執(zhí)行三階交換操作,兩個(gè)數(shù)據(jù)單元間的交換操作均由對(duì)應(yīng)圖樣中交叉選擇器的控制線,也就是由二選一選擇器的控制線控制。從圖4中還可以看出,四個(gè)數(shù)據(jù)單元的置換共需5x2個(gè)交叉選擇器,即10個(gè)二選一選擇器,那么八組,即三十二個(gè)數(shù)據(jù)單元?jiǎng)t共需80個(gè)二選一選擇器。圖5為本發(fā)明數(shù)據(jù)單元位置置換時(shí)每個(gè)交叉連線對(duì)應(yīng)的二選一選擇器電路圖,其中,所述inO和ini為位置交換前的兩個(gè)數(shù)據(jù)單元,outO和outl位置交換后的兩個(gè)數(shù)據(jù)單元,ctl為控制線,二選一選擇器在控制線的控制下確定是否交換兩個(gè)數(shù)據(jù)單元的位置。如圖5所示,兩個(gè)數(shù)據(jù)單元交換位置時(shí),形成的每個(gè)交叉線對(duì)應(yīng)兩個(gè)二選一選擇器,由此可得出各步驟共需采用的二選一選擇器的數(shù)目。步驟203 :根據(jù)圖樣的配置對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行八個(gè)數(shù)據(jù)單元置換操作;具體為將步驟202中兩組已完成四個(gè)數(shù)據(jù)單元置換操作的八個(gè)數(shù)據(jù)單元按圖樣置換成一個(gè)八個(gè)數(shù)據(jù)單元序列,也就是將步驟202中經(jīng)置換操作的八組數(shù)據(jù)單元兩兩結(jié)合,形成四組八個(gè)數(shù)據(jù)單元序列,按圖樣的配置對(duì)四組數(shù)據(jù)單元分別執(zhí)行八個(gè)數(shù)據(jù)單元置換操作。圖6為本發(fā)明實(shí)施例八個(gè)數(shù)據(jù)單元位置置換的流程圖,如圖6所示,對(duì)數(shù)據(jù)單元bO,bl,b2,b3,b4,b5,b6,b7進(jìn)行置換,這里用bo b31表示該三十二個(gè)數(shù)據(jù)單元的目的是與步驟202中未執(zhí)行任何位置置換的三十二個(gè)數(shù)據(jù)單元進(jìn)行區(qū)分,對(duì)a0,al,a2,. . .,a31三十二個(gè)數(shù)據(jù)單元執(zhí)行四個(gè)數(shù)據(jù)單元置換操作后的結(jié)果用b0,bl, b2,. . .,b31表示。從圖6中可以看出八個(gè)數(shù)據(jù)單元的置換同樣需執(zhí)行三階交換操作,還可以看出,八個(gè)數(shù)據(jù)單元的置換共需9x2交叉選擇器,即18個(gè)二選一選擇器,那么四組,即三十二個(gè)數(shù)據(jù)單元?jiǎng)t共需72個(gè)二選一選擇器。步驟204 :根據(jù)圖樣的配置對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作;具體為將步驟203中兩組已完成八個(gè)數(shù)據(jù)單元置換操作的十六個(gè)數(shù)據(jù)單元按圖樣置換成一個(gè)十六個(gè)數(shù)據(jù)單元序列,也就是將步驟203中經(jīng)置換操作的四組數(shù)據(jù)單元兩兩結(jié)合,形成兩組十六個(gè)數(shù)據(jù)單元序列,按圖樣的配置執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作。圖7為本發(fā)明實(shí)施例十六個(gè)數(shù)據(jù)單元位置置換的流程圖,如圖7所示,對(duì)數(shù)據(jù)單元c0,cl,c2,. . .,cl5進(jìn)行置換,這里用CO c31表示該三十二個(gè)數(shù)據(jù)單元的目的是與步驟203中執(zhí)行八個(gè)數(shù)據(jù)單元位置置換的三十二個(gè)數(shù)據(jù)單元進(jìn)行區(qū)分,對(duì)b0,bl, b2, b31三十二個(gè)數(shù)據(jù)單元執(zhí)行八個(gè)數(shù)據(jù)單元置換操作后的結(jié)果用c0,cl, c2,. . .,c31表示。從圖7中可以看出十六個(gè)數(shù)據(jù)單元的置換同樣需執(zhí)行四階交換操作,還可以看出,十六個(gè)數(shù)據(jù)單元的置換共需25x2個(gè)交叉選擇器,即50個(gè)二選一選擇器,那么兩組,即三十二個(gè)數(shù)據(jù)單元?jiǎng)t共需100個(gè)二選一選擇器。步驟205 :根據(jù)圖樣的配置對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作;具體為將步驟204中兩組已完成十六個(gè)數(shù)據(jù)單元置換操作的三十二個(gè)數(shù)據(jù)單元按圖樣置換成一個(gè)三十二個(gè)數(shù)據(jù)單元序列,也就是將步驟204中經(jīng)置換操作的兩組數(shù)據(jù)單元相結(jié)合,形成一組三十二個(gè)數(shù)據(jù)單元序列,按圖樣的配置執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作。圖8為本發(fā)明實(shí)施例三十二個(gè)數(shù)據(jù)單元位置置換的流程圖,如圖8所示,對(duì)數(shù)據(jù)單元d0, dl, d2,. . . , d31進(jìn)行置換,這里用d0 d31表示該三十二個(gè)數(shù)據(jù)單元的目的是與步驟204中執(zhí)行十六個(gè)數(shù)據(jù)單元位置置換的三十二個(gè)數(shù)據(jù)單元進(jìn)行區(qū)分,對(duì)CO,Cl, c2,
c31三十二個(gè)數(shù)據(jù)單元執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作后的結(jié)果用d0,dl,d2,. . .,d31表示。從圖8中可以看出三十二個(gè)數(shù)據(jù)單元的置換同樣需執(zhí)行五階交換操作,還可以看出,三十二個(gè)數(shù)據(jù)單元的置換共需65x2個(gè)交叉選擇器,即130個(gè)二選一選擇器。從上述步驟202到步驟205可以得出,本發(fā)明三十二個(gè)數(shù)據(jù)單元的置換共需80+72+100+130 = 382個(gè)二選一選擇器,整個(gè)置換過程中共需執(zhí)行3+3+4+5 = 15階交換操作。如果推廣開來,N個(gè)數(shù)據(jù)單元?jiǎng)t共需執(zhí)行I0g22+l0g24+l0g28+. . . +log2N階的交換操作其中,所述N等于2的m次冪,m為正整數(shù)。此外,本發(fā)明每階交換操作中,二選一選擇器的延時(shí)大約為0.2ns,如果需要工作在500Mhz,那么三十二個(gè)數(shù)據(jù)單元的任意置換操作則需兩個(gè)時(shí)鐘周期完成,速度非???。這里,對(duì)于一個(gè)二選一選擇器,在65ns的TSMC低功耗庫中的延時(shí)一般小于0. 2ns,而本發(fā)明共執(zhí)行15階交換操作,所以延時(shí)為15x0. 2 = 3ns,而500MHz的時(shí)鐘周期是2ns,所以3ns執(zhí)行時(shí)間分成兩個(gè)周期,每個(gè)周期則為I. 5ns,所以本發(fā)明在500MHz時(shí)鐘下兩個(gè)周期可以做完。、
從現(xiàn)有技術(shù)可知,現(xiàn)有實(shí)現(xiàn)方法對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行置換操作時(shí),需要992個(gè)二選一選擇器,遠(yuǎn)大于本發(fā)明所需二選一選擇器的數(shù)目,可見,本發(fā)明可減小數(shù)據(jù)單元置換電路在芯片中占用的面積,并相應(yīng)減小功耗。本發(fā)明還提供了一種支持多個(gè)數(shù)據(jù)單元任意置換的裝置,包括配置模塊和置換處理模塊;其中,
所述配置模塊,用于配置N個(gè)數(shù)據(jù)單元位置任意置換的圖樣;所述置換處理模塊,用于在數(shù)據(jù)單元置換過程中,根據(jù)配置模塊所配置的圖樣對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作。下面以N= 32為例對(duì)本發(fā)明裝置進(jìn)行詳細(xì)描述,如圖9所示,該裝置包括配置模塊和置換處理模塊;其中,所述配置模塊,用于配置三十二個(gè)數(shù)據(jù)單元位置任意置換的圖樣;所述置換處理模塊,用于在數(shù)據(jù)單元置換過程中,根據(jù)配置模塊所配置的圖樣對(duì)三十二個(gè)數(shù)據(jù)單元依次執(zhí)行四個(gè)數(shù)據(jù)單元置換、八個(gè)數(shù)據(jù)單元置換、十六個(gè)數(shù)據(jù)單元置換以及三十二個(gè)數(shù)據(jù)單元置換的操作。 本發(fā)明中,所述配置模塊可通過軟件實(shí)現(xiàn),也可由硬件實(shí)現(xiàn),當(dāng)然優(yōu)選通過軟件實(shí)現(xiàn),這樣可減小本裝置在芯片中占用的面積。所述置換處理模塊還包括四數(shù)據(jù)單元置換模塊、八數(shù)據(jù)單元置換模塊、十六數(shù)據(jù)單元置換模塊以及三十二數(shù)據(jù)單元置換模塊;其中,所述四數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行四個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給八數(shù)據(jù)單元置換模塊;所述八數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)四數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行八個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給十六數(shù)據(jù)單元置換模塊;所述十六數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)八數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給三十二數(shù)據(jù)單元置換模塊;所述三十二數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)十六數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作。本發(fā)明方案可以廣泛用于矢量處理器中的矢量數(shù)據(jù)單元的位置任意置換、或其它應(yīng)用中并行的多個(gè)數(shù)據(jù)單元的位置任意置換。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種支持多個(gè)數(shù)據(jù)單元任意置換的方法,其特征在于,配置N個(gè)數(shù)據(jù)單元位置任意置換的圖樣;該方法還包括 在數(shù)據(jù)單元置換過程中,根據(jù)圖樣的配置對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作; 其中,所述N表示數(shù)據(jù)單元的個(gè)數(shù),N等于2的m次冪,m為正整數(shù)。
2.根據(jù)權(quán)利要求I所述的支持多個(gè)數(shù)據(jù)單元任意置換的方法,其特征在于,所述N=32時(shí),該方法為 配置三十二個(gè)數(shù)據(jù)單元位置任意置換的圖樣; 在數(shù)據(jù)單元置換過程中,根據(jù)圖樣的配置對(duì)三十二個(gè)數(shù)據(jù)單元依次執(zhí)行四個(gè)數(shù)據(jù)單元置換、八個(gè)數(shù)據(jù)單元置換、十六個(gè)數(shù)據(jù)單元置換以及三十二個(gè)數(shù)據(jù)單元置換的操作。
3.根據(jù)權(quán)利要求I或2所述的支持多個(gè)數(shù)據(jù)單元任意置換的方法,其特征在于,所述配置的圖樣中包括交叉選擇器,即二選一選擇器對(duì)應(yīng)的控制線,用于置換過程中控制兩個(gè)數(shù)據(jù)單元的置換操作。
4.根據(jù)權(quán)利要求2所述的支持多個(gè)數(shù)據(jù)單元任意置換的方法,其特征在于,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行四個(gè)數(shù)據(jù)單元置換操作,為 將三十二個(gè)數(shù)據(jù)單元分成八組,每組包括四個(gè)數(shù)據(jù)單元,分別對(duì)各組中的四個(gè)數(shù)據(jù)單元均執(zhí)行置換操作。
5.根據(jù)權(quán)利要求2所述的支持多個(gè)數(shù)據(jù)單元任意置換的方法,其特征在于,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行八個(gè)數(shù)據(jù)單元置換操作,為 將已執(zhí)行四個(gè)數(shù)據(jù)單元置換操作的八組數(shù)據(jù)單元兩兩結(jié)合,形成四組八個(gè)數(shù)據(jù)單元序列,并按已配置的圖樣對(duì)四組數(shù)據(jù)單元序列分別執(zhí)行八個(gè)數(shù)據(jù)單元置換操作。
6.根據(jù)權(quán)利要求2所述的支持多個(gè)數(shù)據(jù)單元任意置換的方法,其特征在于,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作,為 將已執(zhí)行八個(gè)數(shù)據(jù)單元置換操作的四組數(shù)據(jù)單元兩兩結(jié)合,形成兩組十六個(gè)數(shù)據(jù)單元序列,并按已配置的圖樣對(duì)兩組數(shù)據(jù)單元序列分別執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作。
7.根據(jù)權(quán)利要求2所述的支持多個(gè)數(shù)據(jù)單元任意置換的方法,其特征在于,所述對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作,為 將已執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作的兩組數(shù)據(jù)單元相結(jié)合,形成一組三十二個(gè)數(shù)據(jù)單元序列,并按已配置的圖樣對(duì)該組數(shù)據(jù)單元序列執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作。
8.一種支持多個(gè)數(shù)據(jù)單元任意置換的裝置,其特征在于,該裝置包括配置模塊和置換處理模塊;其中, 所述配置模塊,用于配置N個(gè)數(shù)據(jù)單元位置任意置換的圖樣; 所述置換處理模塊,用于在數(shù)據(jù)單元置換過程中,根據(jù)配置模塊所配置的圖樣對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作; 其中,所述N表示數(shù)據(jù)單元的個(gè)數(shù),N等于2的m次冪,m為正整數(shù)。
9.根據(jù)權(quán)利要求8所述的支持多個(gè)數(shù)據(jù)單元任意置換的裝置,其特征在于,所述N=32時(shí), 所述配置模塊,用于配置三十二個(gè)數(shù)據(jù)單元位置任意置換的圖樣; 所述置換處理模塊,用于在數(shù)據(jù)單元置換過程中,根據(jù)配置模塊所配置的圖樣對(duì)三十二個(gè)數(shù)據(jù)單元依次執(zhí)行四個(gè)數(shù)據(jù)單元置換、八個(gè)數(shù)據(jù)單元置換、十六個(gè)數(shù)據(jù)單元置換以及三十二個(gè)數(shù)據(jù)單元置換的操作。
10.根據(jù)權(quán)利要求9所述的支持多個(gè)數(shù)據(jù)單元任意置換的裝置,其特征在于,所述置換處理模塊還包括四數(shù)據(jù)單元置換模塊、八數(shù)據(jù)單元置換模塊、十六數(shù)據(jù)單元置換模塊和三十二數(shù)據(jù)單元置換模塊;其中, 所述四數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)三十二個(gè)數(shù)據(jù)單元執(zhí)行四個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給八數(shù)據(jù)單元置換模塊; 所述八數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)四數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行八個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給十六數(shù)據(jù)單元置換模塊; 所述十六數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)八數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行十六個(gè)數(shù)據(jù)單元置換操作,并將置換結(jié)果發(fā)送給三十二數(shù)據(jù)單元置換模塊; 所述三十二數(shù)據(jù)單元置換模塊,用于根據(jù)配置模塊所配置的圖樣對(duì)十六數(shù)據(jù)單元置換模塊所發(fā)的三十二個(gè)數(shù)據(jù)單元執(zhí)行三十二個(gè)數(shù)據(jù)單元置換操作。
全文摘要
本發(fā)明公開了一種支持多個(gè)數(shù)據(jù)單元任意置換的方法,包括配置N個(gè)數(shù)據(jù)單元任意置換的圖樣;在數(shù)據(jù)單元置換過程中,根據(jù)圖樣的配置對(duì)N個(gè)數(shù)據(jù)單元執(zhí)行置換操作。本發(fā)明還同時(shí)公開了一種支持多個(gè)數(shù)據(jù)單元任意置換的裝置,運(yùn)用該方法和裝置可減小數(shù)據(jù)單元置換電路在芯片中占用的面積,同時(shí)減小功耗。
文檔編號(hào)G06F15/78GK102737007SQ201110086318
公開日2012年10月17日 申請(qǐng)日期2011年4月7日 優(yōu)先權(quán)日2011年4月7日
發(fā)明者林文瓊 申請(qǐng)人:中興通訊股份有限公司