專利名稱:數(shù)據(jù)處理的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及領(lǐng)域數(shù)據(jù)處理領(lǐng)域,并且更具體地,涉及數(shù)據(jù)處理的方法和裝置。
背景技術(shù):
在ASIC (APPLICATION SPECIFIC INTEGRATED CIRCUITS,專用集成電路)或者 FPGA (FIELD PROGRAMMABLE GATE ARRAY,現(xiàn)場可編程門陣列)設(shè)計(jì)中,經(jīng)常需要處理各種的協(xié)議規(guī)定的數(shù)據(jù)包,這些數(shù)據(jù)包可能屬于不同的類型,即便屬于同一類型,這些數(shù)據(jù)包也可能具有可變的長度。QPKQuick Path Interconnect,快速互聯(lián)通道)協(xié)議中定義了多種數(shù)據(jù)包,其中有的數(shù)據(jù)包的長度是一定的,也有的數(shù)據(jù)包的長度是可變的。例如,NCS(Non Coherent Mandard,非一致性標(biāo)準(zhǔn))包就是一種可變長包,通常由1至3個(gè)數(shù)據(jù)單元(即flit)組成, 其中每個(gè)數(shù)據(jù)單元flit是定長的,例如可以為80比特(bit)??勺冮L的NCS包的長度在第一個(gè)flit中可以得到。為了便于描述,“NCS1”表示長度為1個(gè)flit的NCS包,即只有一個(gè)頭flit (header flit) ;NCS2表示長度為2個(gè)flit的NCS包,即包含一個(gè)頭flit和一個(gè)數(shù)據(jù)flit (data flit) ;NCS3表示長度為3個(gè)flit的NCS包,即包含一個(gè)header flit和兩個(gè)data flit。除了 NCS包之外,還存在其他類型的數(shù)據(jù)包,例如空數(shù)據(jù)包。這些其他類型的數(shù)據(jù)包可以是定長或變長的。在某些ASIC或者FPGA應(yīng)用設(shè)計(jì)的場景中,需要在多個(gè)不同的緩沖器(BUFFER)的一個(gè)緩沖器中存儲對齊的同類型數(shù)據(jù)包,因此需要將同類型數(shù)據(jù)包中的各個(gè)數(shù)據(jù)單元進(jìn)行對齊操作,其中對齊操作中會將其他類型數(shù)據(jù)包視作空數(shù)據(jù)包。所謂“對齊操作”就是“擠掉”上述數(shù)據(jù)單元之間的空數(shù)據(jù)包的過程。假設(shè)某一時(shí)鐘周期的輸入具有N個(gè)數(shù)據(jù)單元(其中N為正整數(shù)),那么這N個(gè)數(shù)據(jù)單元對齊操作時(shí)需要考慮約2N種移位可能。此外,設(shè)計(jì)完成后,若對上述設(shè)計(jì)的代碼進(jìn)行驗(yàn)證時(shí),假如輸入中有L種數(shù)據(jù)類型(其中L為正整數(shù)),那么驗(yàn)證時(shí)的輸入存在Ln種組合情況。顯然,如果要想窮舉全部組合情況本身并非易事。而且,為了提高代碼覆蓋率,驗(yàn)證人員不得不利用盡量多的數(shù)據(jù)單元組合對代碼進(jìn)行校驗(yàn),勢必增加不必要的工作量。同時(shí),時(shí)序也很難滿足系統(tǒng)的要求。
發(fā)明內(nèi)容
發(fā)明實(shí)施例提供一種數(shù)據(jù)處理的方法和裝置,能夠基于分段并行機(jī)制對多個(gè)可變長包進(jìn)行對齊處理。一方面,提供了一種數(shù)據(jù)處理的方法,包括按順序?qū)?yīng)于當(dāng)前時(shí)鐘周期的包含N個(gè)數(shù)據(jù)單元的輸入數(shù)據(jù)分為M個(gè)數(shù)據(jù)段,其中M和N均為正整數(shù),N大于等于2且M小于N ;并行地對M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作,使第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前,其中其他類型的數(shù)據(jù)單元均被置為空數(shù)據(jù)包類型,其中第一類型是需處理的數(shù)據(jù)包類型,其他類型是不需處理的數(shù)據(jù)包類型;將對齊處理后的M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)。另一方面,提供了一種數(shù)據(jù)處理的裝置,包括分段單元,用于按順序?qū)?yīng)于當(dāng)前時(shí)鐘周期的包含N個(gè)數(shù)據(jù)單元的輸入數(shù)據(jù)分為M個(gè)數(shù)據(jù)段,其中M和N均為正整數(shù),N大于等于2且M小于N ;并行處理單元,用于并行地對M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作,使第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前,其中其他類型的數(shù)據(jù)單元均被置為空數(shù)據(jù)包類型,第一類型是需處理的數(shù)據(jù)包類型,其他類型是不需處理的數(shù)據(jù)包類型;組合單元,用于將對齊處理后的M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)。本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法和裝置對可變長包進(jìn)行分段且并行地對各段進(jìn)行對齊操作,從而易于維護(hù)設(shè)計(jì)代碼,而且提高設(shè)計(jì)代碼驗(yàn)證時(shí)的代碼覆蓋率,同時(shí)明顯改善時(shí)序。
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法的流程圖。圖2是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的裝置的結(jié)構(gòu)圖。圖3是根據(jù)本發(fā)明實(shí)施例的并行處理單元的結(jié)構(gòu)圖。圖4是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的具體的過程示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為了解決現(xiàn)有技術(shù)中對齊操作情況復(fù)雜且時(shí)序較低的問題,本發(fā)明實(shí)施例提出將每個(gè)時(shí)鐘周期中的輸入數(shù)據(jù)分為多個(gè)數(shù)據(jù)段,其中各個(gè)數(shù)據(jù)段的長度可以相等也可以不等,例如一個(gè)數(shù)據(jù)段包括2個(gè)數(shù)據(jù)單元,另一個(gè)數(shù)據(jù)段包括3個(gè)數(shù)據(jù)單元,等等。此外,各個(gè)數(shù)據(jù)單元可以屬于不同類型,但是屬于同種類型的數(shù)據(jù)單元之間不會存在其他類型的數(shù)據(jù)單元。并行地對每個(gè)時(shí)鐘周期中的各個(gè)數(shù)據(jù)段的同種類型的多個(gè)數(shù)據(jù)單元進(jìn)行對齊操作。在得到對齊的數(shù)據(jù)單元之后,再對這些分段得到的數(shù)據(jù)段進(jìn)行逐級組合,最終得到同種類型數(shù)據(jù)單元對齊的各個(gè)時(shí)鐘周期的輸出數(shù)據(jù)。需要說明的是,由于本發(fā)明實(shí)施例中的對齊操作僅針對同一類型的數(shù)據(jù)單元而言,因此不同類型的數(shù)據(jù)單元可以分別在不同的對齊處理裝置中進(jìn)行對齊操作。即一個(gè)對齊處理裝置中只會對同一類型的數(shù)據(jù)單元進(jìn)行對齊處理,而該對齊處理裝置無法處理的數(shù)據(jù)單元將被視為空數(shù)據(jù)包??梢岳斫?,同一時(shí)鐘周期中,針對不同類型的數(shù)據(jù)單元的對齊操作也可以并行。以下結(jié)合圖1描述根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法。
5
11,按順序?qū)?yīng)于當(dāng)前時(shí)鐘周期的包含N個(gè)數(shù)據(jù)單元的輸入數(shù)據(jù)分為M個(gè)數(shù)據(jù)段,其中M和N均為正整數(shù),N大于等于2且M小于N。一般地,如果N為偶數(shù),則容易想到將這N個(gè)數(shù)據(jù)單元以2個(gè)數(shù)據(jù)單元為一個(gè)單位分成M = N/2個(gè)數(shù)據(jù)段。由于2個(gè)數(shù)據(jù)單元需要考慮的數(shù)據(jù)重排的方案最少,所以采用2 個(gè)數(shù)據(jù)單元為一個(gè)數(shù)據(jù)段的方式最優(yōu)。如果N為奇數(shù),則可以在N個(gè)數(shù)據(jù)單元的最后補(bǔ)充一個(gè)為空數(shù)據(jù)包的數(shù)據(jù)單元,將這(N+1)個(gè)數(shù)據(jù)單元分成M= (N+1)/2個(gè)數(shù)據(jù)段,由于空數(shù)據(jù)包在N個(gè)數(shù)據(jù)單元的對齊操作之后都位于N個(gè)數(shù)據(jù)的最后,因此不會影響到這N個(gè)數(shù)據(jù)單元的對齊結(jié)果?;蛘?,也可以采用3個(gè)數(shù)據(jù)單元與2個(gè)數(shù)據(jù)單元相組合的方式來解決奇數(shù)個(gè)數(shù)據(jù)單元分段的問題。當(dāng)然,本領(lǐng)域技術(shù)人員也應(yīng)該理解,對于N個(gè)數(shù)據(jù)單元而言,可以采用各種數(shù)據(jù)單元的多種數(shù)據(jù)段組合方式。12,并行地對M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作,使第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前,其中第一類型是需處理的數(shù)據(jù)包類型,其他類型是不需處理的數(shù)據(jù)包類型。對于每個(gè)數(shù)據(jù)段而言,分別基于X個(gè)未處理數(shù)量標(biāo)識并行地對當(dāng)前數(shù)據(jù)段中的數(shù)據(jù)單元進(jìn)行對齊操作,即將當(dāng)前數(shù)據(jù)段中其他類型的數(shù)據(jù)單元也設(shè)置為空數(shù)據(jù)包類型,并使第一類型的數(shù)據(jù)單元移位至空數(shù)據(jù)包類型的數(shù)據(jù)單元之前,從而得到X個(gè)重排組合。這里,X對應(yīng)于第一類型的數(shù)據(jù)包中包含的數(shù)據(jù)單元的最大個(gè)數(shù),該未處理數(shù)量標(biāo)識用于表示第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元個(gè)數(shù)。需要說明的是,將數(shù)據(jù)段中的數(shù)據(jù)單元直接與X個(gè)未處理數(shù)量標(biāo)識相結(jié)合得到X 個(gè)重排組合的方法能夠識別該數(shù)據(jù)段中的數(shù)據(jù)單元的數(shù)據(jù)類型。因?yàn)閿?shù)據(jù)段中的數(shù)據(jù)單元的數(shù)量是有限的,所以容易窮舉數(shù)據(jù)單元與未處理數(shù)據(jù)標(biāo)識的所有組合可能。在以下具體的示例中將給出2個(gè)數(shù)據(jù)單元與3個(gè)未處理數(shù)量標(biāo)識相結(jié)合以及3個(gè)數(shù)據(jù)單元與3個(gè)未處理數(shù)量標(biāo)識相結(jié)合的輸入輸出邏輯表。參照這樣的邏輯表,可以直接得到該數(shù)據(jù)段中的數(shù)據(jù)單元對齊后的結(jié)果。另外,未處理數(shù)量標(biāo)識用二進(jìn)制數(shù)表示。比如,以NCS包數(shù)據(jù)類型為例,2’b 00表示沒有未處理的NCS包數(shù)據(jù)單元,2’ b 01表示還有1個(gè)未處理的NCS包數(shù)據(jù)單元,2’ b 10 表示還有2個(gè)未處理的NCS包數(shù)據(jù)單元。再例如,如果其他數(shù)據(jù)類型的數(shù)據(jù)包包括5個(gè)數(shù)據(jù)單元,則可以用2,b 100,2' b 011,2' b 010,2' b 001來表示未處理的數(shù)據(jù)單元數(shù)量。在并行得到X個(gè)重排組合后,再依據(jù)當(dāng)前數(shù)據(jù)段的前一個(gè)數(shù)據(jù)段中數(shù)據(jù)單元對齊操作后輸出的選擇標(biāo)識從X個(gè)重排組合中選擇一個(gè)重排組合,其中選擇標(biāo)識為上述X個(gè)未處理數(shù)量標(biāo)識中的一個(gè),用于表示當(dāng)前數(shù)據(jù)段中第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元的個(gè)數(shù)。之后,最后一個(gè)數(shù)據(jù)段輸出的選擇標(biāo)識將被鎖存,該作為當(dāng)前時(shí)鐘周期的下一個(gè)時(shí)鐘周期的第一個(gè)數(shù)據(jù)段對齊操作的選擇標(biāo)識。13,將對齊處理后的M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)??蛇x地,逐級地按順序?qū)R操作后的相鄰的兩個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù),使N個(gè)數(shù)據(jù)單元中第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前。例如,先將相鄰的兩個(gè)數(shù)據(jù)段進(jìn)行組合得到新的數(shù)據(jù)段,然后再將相鄰的兩個(gè)新的數(shù)據(jù)段進(jìn)行組合,最終得到包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)。本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法對可變長包進(jìn)行分段且并行地對各段進(jìn)行對齊操作,從而易于維護(hù)設(shè)計(jì)代碼,而且提高設(shè)計(jì)代碼驗(yàn)證時(shí)的代碼覆蓋率,同時(shí)明顯改善時(shí)序。參見圖2,描述根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的裝置。如圖2所示,數(shù)據(jù)處理的裝置20包括分段單元21、并行處理單元22和組合單元 23。具體而言,分段單元21用于按順序?qū)?yīng)于當(dāng)前時(shí)鐘周期的包含N個(gè)數(shù)據(jù)單元的輸入數(shù)據(jù)分為M個(gè)數(shù)據(jù)段,其中M和N均為正整數(shù),N大于等于2且M小于N。并行處理單元22用于并行地對該M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作,使第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前,其中其他類型的數(shù)據(jù)單元可以被置為空數(shù)據(jù)包類型。這里,第一類型是需處理的數(shù)據(jù)包類型,其他類型是不需處理的數(shù)據(jù)包類型。 組合單元23用于將對齊處理后的M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)。同時(shí)每個(gè)數(shù)據(jù)段中也可以實(shí)現(xiàn)并行處理,并且識別數(shù)據(jù)的類型。例如,如圖3所示,并行處理單元22還包括并行處理模塊221和選擇模塊222。其中,并行處理模塊221 用于分別基于X個(gè)未處理數(shù)量標(biāo)識并行地對當(dāng)前數(shù)據(jù)段中的數(shù)據(jù)單元進(jìn)行對齊操作,得到 X個(gè)重排組合,其中X對應(yīng)于第一類型的數(shù)據(jù)包中包含的數(shù)據(jù)單元的最大個(gè)數(shù),未處理數(shù)量標(biāo)識用于表示第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元個(gè)數(shù)。并行處理模塊221通過與邏輯表的對照完成數(shù)據(jù)類型的識別,從而將當(dāng)前數(shù)據(jù)段中其他類型的數(shù)據(jù)單元設(shè)置為空數(shù)據(jù)包類型。選擇模塊222用于依據(jù)當(dāng)前數(shù)據(jù)段的前一個(gè)數(shù)據(jù)段中數(shù)據(jù)單元對齊操作后輸出的選擇標(biāo)識從X個(gè)重排組合中選擇一個(gè)重排組合,其中選擇標(biāo)識為所述X個(gè)未處理數(shù)量標(biāo)識中的一個(gè),用于表示當(dāng)前數(shù)據(jù)段中第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元的個(gè)數(shù)。此外,并行處理單元22還可以包括鎖存模塊223,其用于鎖存最后一個(gè)數(shù)據(jù)段輸出的選擇標(biāo)識,作為當(dāng)前時(shí)鐘周期的下一個(gè)時(shí)鐘周期的第一個(gè)數(shù)據(jù)段對齊操作的選擇標(biāo)識。最后,當(dāng)各個(gè)數(shù)據(jù)段中的數(shù)據(jù)單元均對齊后,為了將對齊的各個(gè)數(shù)據(jù)段組合成輸出數(shù)據(jù),數(shù)據(jù)處理的裝置20的組合單元23可以逐級地按順序?qū)R操作后的相鄰的兩個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù),使N個(gè)數(shù)據(jù)單元中第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前。因此,本發(fā)明實(shí)施例的數(shù)據(jù)處理的裝置對可變長包進(jìn)行分段且并行地對各段進(jìn)行對齊操作,從而易于維護(hù)設(shè)計(jì)代碼,而且提高設(shè)計(jì)代碼驗(yàn)證時(shí)的代碼覆蓋率,同時(shí)明顯改善時(shí)序。以下以某些FPGA應(yīng)用設(shè)計(jì)的場景中的一個(gè)具體實(shí)例說明本發(fā)明實(shí)施例的數(shù)據(jù)處理的實(shí)現(xiàn)過程。在FPGA應(yīng)用設(shè)計(jì)時(shí)為了滿足速率要求,需要連續(xù)并行處理并存儲8個(gè)flit,而這 8個(gè)flit可以是任意類型協(xié)議包的組合,導(dǎo)致8個(gè)flit中含有的同一種類型包有多種可能。以NCS包為例8個(gè)flit中可能有0至8個(gè)NCS1,或者有0至4個(gè)NCS2,或者有0至 3個(gè)NCS3,或者是NCSl或NCS2或NCS3的組合,或者NCS包與其他包的組合,而且它們在8 個(gè)flit中的位置是不定的;且NCS2或者NCS3可能會跨越多個(gè)Sflit組。
下面的表1給出了對應(yīng)于時(shí)鐘N至N+3的8個(gè)flit的示意性輸入數(shù)據(jù)。[表1]并行8個(gè)flit的示意性輸入數(shù)據(jù)
權(quán)利要求
1.一種數(shù)據(jù)處理的方法,其特征在于,包括按順序?qū)?yīng)于當(dāng)前時(shí)鐘周期的包含N個(gè)數(shù)據(jù)單元的輸入數(shù)據(jù)分為M個(gè)數(shù)據(jù)段,其中 M和N均為正整數(shù),N大于等于2且M小于N ;并行地對所述M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作,使所述第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前,其中所述其他類型的數(shù)據(jù)單元均被置為空數(shù)據(jù)包類型,其中所述第一類型是需處理的數(shù)據(jù)包類型,所述其他類型是不需處理的數(shù)據(jù)包類型;將對齊處理后的所述M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述并行地對所述M個(gè)數(shù)據(jù)段的每一個(gè)中的所述第一類型的數(shù)據(jù)單元進(jìn)行對齊操作包括分別基于X個(gè)未處理數(shù)量標(biāo)識并行地對當(dāng)前數(shù)據(jù)段中的數(shù)據(jù)單元進(jìn)行對齊操作,得到 X個(gè)重排組合,其中X對應(yīng)于第一類型的數(shù)據(jù)包中包含的數(shù)據(jù)單元的最大個(gè)數(shù),所述未處理數(shù)量標(biāo)識用于表示所述第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元個(gè)數(shù);依據(jù)所述當(dāng)前數(shù)據(jù)段的前一個(gè)數(shù)據(jù)段中數(shù)據(jù)單元對齊操作后輸出的選擇標(biāo)識從所述 X個(gè)重排組合中選擇一個(gè)重排組合,其中所述選擇標(biāo)識為所述X個(gè)未處理數(shù)量標(biāo)識中的一個(gè),用于表示當(dāng)前數(shù)據(jù)段中所述第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元的個(gè)數(shù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述并行地對所述M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作還包括鎖存最后一個(gè)數(shù)據(jù)段輸出的選擇標(biāo)識,作為當(dāng)前時(shí)鐘周期的下一個(gè)時(shí)鐘周期的第一個(gè)數(shù)據(jù)段對齊操作的選擇標(biāo)識。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述分別基于X個(gè)未處理數(shù)量標(biāo)識并行地對當(dāng)前數(shù)據(jù)段中的數(shù)據(jù)單元進(jìn)行對齊操作包括將所述當(dāng)前數(shù)據(jù)段中所述其他類型的數(shù)據(jù)單元設(shè)置為空數(shù)據(jù)包類型。
5.如權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述將對齊處理后的所述M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)包括逐級地按順序?qū)R操作后的相鄰的兩個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù),使N個(gè)數(shù)據(jù)單元中所述第一類型的數(shù)據(jù)單元移位至所述其他類型的數(shù)據(jù)單元之前。
6.一種數(shù)據(jù)處理的裝置,其特征在于,包括分段單元,用于按順序?qū)?yīng)于當(dāng)前時(shí)鐘周期的包含N個(gè)數(shù)據(jù)單元的輸入數(shù)據(jù)分為M 個(gè)數(shù)據(jù)段,其中M和N均為正整數(shù),N大于等于2且M小于N ;并行處理單元,用于并行地對所述M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作,使所述第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前,其中所述其他類型的數(shù)據(jù)單元均被置為空數(shù)據(jù)包類型,其中所述第一類型是需處理的數(shù)據(jù)包類型,所述其他類型是不需處理的數(shù)據(jù)包類型;組合單元,用于將對齊處理后的所述M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)。
7.如權(quán)利要求6所述的裝置,其特征在于,所述并行處理單元還包括并行處理模塊,用于分別基于X個(gè)未處理數(shù)量標(biāo)識并行地對當(dāng)前數(shù)據(jù)段中的數(shù)據(jù)單元進(jìn)行對齊操作,得到X個(gè)重排組合,其中X對應(yīng)于第一類型的數(shù)據(jù)包中包含的數(shù)據(jù)單元的最大個(gè)數(shù),所述未處理數(shù)量標(biāo)識用于表示所述第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元個(gè)數(shù);選擇模塊,用于依據(jù)所述當(dāng)前數(shù)據(jù)段的前一個(gè)數(shù)據(jù)段中數(shù)據(jù)單元對齊操作后輸出的選擇標(biāo)識從所述χ個(gè)重排組合中選擇一個(gè)重排組合,其中所述選擇標(biāo)識為所述X個(gè)未處理數(shù)量標(biāo)識中的一個(gè),用于表示當(dāng)前數(shù)據(jù)段中所述第一類型的數(shù)據(jù)包中未處理的數(shù)據(jù)單元的個(gè)數(shù)。
8.如權(quán)利要求7所述的裝置,其特征在于,所述并行處理單元還包括鎖存模塊,用于鎖存最后一個(gè)數(shù)據(jù)段輸出的選擇標(biāo)識,作為當(dāng)前時(shí)鐘周期的下一個(gè)時(shí)鐘周期的第一個(gè)數(shù)據(jù)段對齊操作的選擇標(biāo)識。
9.如權(quán)利要求7或8所述的裝置,其特征在于,所述并行處理模塊進(jìn)一步用于將所述當(dāng)前數(shù)據(jù)段中所述其他類型的數(shù)據(jù)單元設(shè)置為空數(shù)據(jù)包類型。
10.如權(quán)利要求6至9中任一項(xiàng)所述的裝置,其特征在于,所述組合單元進(jìn)一步用于逐級地按順序?qū)R操作后的相鄰的兩個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù),使N 個(gè)數(shù)據(jù)單元中所述第一類型的數(shù)據(jù)單元移位至所述其他類型的數(shù)據(jù)單元之前。
全文摘要
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理的方法和裝置。所述數(shù)據(jù)處理的方法包括按順序?qū)?yīng)于當(dāng)前時(shí)鐘周期的包含N個(gè)數(shù)據(jù)單元的輸入數(shù)據(jù)分為M個(gè)數(shù)據(jù)段,其中M和N均為正整數(shù),N大于等于2且M小于N;并行地對M個(gè)數(shù)據(jù)段的每一個(gè)中的第一類型的數(shù)據(jù)單元進(jìn)行對齊操作,使第一類型的數(shù)據(jù)單元移位至其他類型的數(shù)據(jù)單元之前,其中其他類型的數(shù)據(jù)單元均被置為空數(shù)據(jù)包類型,其中第一類型是需處理的數(shù)據(jù)包類型,其他類型是不需處理的數(shù)據(jù)包類型;將對齊處理后的M個(gè)數(shù)據(jù)段組合成包含N個(gè)數(shù)據(jù)單元的輸出數(shù)據(jù)。本發(fā)明對可變長包進(jìn)行分段且并行地對各段進(jìn)行對齊操作,從而易于維護(hù)設(shè)計(jì)代碼,而且提高設(shè)計(jì)代碼驗(yàn)證時(shí)的代碼覆蓋率,同時(shí)明顯改善時(shí)序。
文檔編號G06F17/50GK102388385SQ201180001883
公開日2012年3月21日 申請日期2011年9月28日 優(yōu)先權(quán)日2011年9月28日
發(fā)明者常勝, 王工藝, 鄭偉, 陳昊 申請人:華為技術(shù)有限公司