基于優(yōu)先級對數(shù)據(jù)流中數(shù)據(jù)進(jìn)行選擇操作的方法以及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通訊技術(shù)領(lǐng)域,尤其涉及一種基于優(yōu)先級對數(shù)據(jù)流中數(shù)據(jù)進(jìn)行選擇操 作的方法以及系統(tǒng)。
【背景技術(shù)】
[0002] 現(xiàn)有技術(shù)中,對于一串?dāng)?shù)據(jù)流中選擇出需要的內(nèi)容并確認(rèn)出其對應(yīng)索引位置的做 法,目前是采用遍歷縮影的辦法,即是通過if else不斷索引,此種辦法雖然可以解決問 題,但是在實(shí)際的硬件實(shí)現(xiàn)上,會導(dǎo)致復(fù)用器mux級數(shù)遞增,時序上無法收斂,形成硬件高 速運(yùn)彳丁的關(guān)鍵路徑。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明要解決的技術(shù)問題之一,在于提供一種基于優(yōu)先級對數(shù)據(jù)流中數(shù)據(jù)進(jìn)行選 擇操作的方法,能使系統(tǒng)中的硬件代碼可擴(kuò)展性容易實(shí)現(xiàn),同時硬件級數(shù)減少,硬件頻率極 限得到提高。
[0004] 本發(fā)明問題之一是這樣實(shí)現(xiàn)的:一種基于優(yōu)先級對數(shù)據(jù)流中數(shù)據(jù)進(jìn)行選擇操作的 方法,其特征在于:所述方法需提供N個加法器和一比較控制器;所述N為大于1的自然數(shù); 所述方法具體為:使用N個加法器對輸入的一串?dāng)?shù)據(jù)流中的每個比特位的數(shù)據(jù)從1到k進(jìn) 行加法處理;k為數(shù)據(jù)流的個數(shù)且N>k,得到sum(k),預(yù)設(shè)要獲得數(shù)據(jù)流中第M個為1的數(shù) 值,則利用比較控制器對Sum(O)到sum(k)進(jìn)行比較判斷獲得數(shù)據(jù)流中第幾比特位,該第幾 比特位作為索引值,該索引值即為對應(yīng)的數(shù)據(jù)流中第M個為1的數(shù)值。
[0005] 進(jìn)一步地,所述利用比較控制器對sum(0)到sum(k)進(jìn)行比較判斷獲得數(shù)據(jù)流中 第幾比特位,具體為:利用比較控制器對sum (0)到sum (k)中相鄰的兩個sum值進(jìn)行比較, 即比較sum(j)與sum(j-l),其中j = 1到k,在M數(shù)值范圍內(nèi),如果sum(j) = i&&sum(j-l) =(i-1),那么輸出j值,該j值即為要找的第幾比特位;將j值作為索引值,從而完成選擇 操作。
[0006] 本發(fā)明要解決的技術(shù)問題之二,在于提供一種基于優(yōu)先級對數(shù)據(jù)流中數(shù)據(jù)進(jìn)行選 擇操作的系統(tǒng),能使系統(tǒng)中的硬件代碼可擴(kuò)展性容易實(shí)現(xiàn),同時硬件級數(shù)減少,硬件頻率極 限得到提高。
[0007] 本發(fā)明問題之二是這樣實(shí)現(xiàn)的:一種基于優(yōu)先級對數(shù)據(jù)流中數(shù)據(jù)進(jìn)行選擇操作的 系統(tǒng),所述系統(tǒng)包括N個加法器和一比較控制器,所述N為大于1的自然數(shù),各個加法器與 所述比較控制器連接;使用N個加法器對輸入的一串?dāng)?shù)據(jù)流中的每個比特位的數(shù)據(jù)從1到 k進(jìn)行加法處理;k為數(shù)據(jù)流的個數(shù)且N>k,得到sum (k),預(yù)設(shè)要獲得數(shù)據(jù)流中第M個為1的 數(shù)值,則利用比較控制器對Sum(O)到sum (k)進(jìn)行比較判斷獲得數(shù)據(jù)流中第幾比特位,該第 幾比特位作為索引值,該索引值即為對應(yīng)的數(shù)據(jù)流中第M個為1的數(shù)值。
[0008] 進(jìn)一步地,所述利用比較控制器對Sum(O)到sum(k)進(jìn)行比較判斷獲得數(shù)據(jù)流中 第幾比特位,具體為:利用比較控制器對sum (0)到sum (k)中相鄰的兩個sum值進(jìn)行比較, 即比較sum(j)與sum(j-l),其中j = 1到k,在M數(shù)值范圍內(nèi),如果sum(j) = i&&sum(j-l) =(i-1),那么輸出j值,該j值即為要找的第幾比特位;將j值作為索引值,從而完成選擇 操作。
[0009] 本發(fā)明具有如下優(yōu)點(diǎn):本發(fā)明采用了加法器和比較控制器,該比較控制器具有比 較和選擇功能,通過加法器和比較控制器來實(shí)現(xiàn)可擴(kuò)展的硬件N選M的硬件架構(gòu)。從而快 速地對一串?dāng)?shù)據(jù)流中選擇出需要的內(nèi)容并確認(rèn)出其對應(yīng)索引位置。
【附圖說明】
[0010] 圖1為本發(fā)明方法流程示意圖。
[0011] 圖2為本發(fā)明應(yīng)用于一實(shí)施例的原理框圖。
[0012] 圖3為本發(fā)明系統(tǒng)原理框圖。
【具體實(shí)施方式】
[0013] 請參閱圖1所示,本發(fā)明的一種基于優(yōu)先級對數(shù)據(jù)流中數(shù)據(jù)進(jìn)行選擇操作的方 法,所述方法需提供N個加法器和一比較控制器;所述N為大于1的自然數(shù);所述方法具體 為:使用N個加法器對輸入的一串?dāng)?shù)據(jù)流中的每個比特位的數(shù)據(jù)從1到k進(jìn)行加法處理;k 為數(shù)據(jù)流的個數(shù)且N>k,得到sum(k),預(yù)設(shè)要獲得數(shù)據(jù)流中第M個為1的數(shù)值,則利用比較 控制器對Sum(O)到sum(k)進(jìn)行比較判斷獲得數(shù)據(jù)流中第幾比特位,該第幾比特位作為索 引值,該索引值即為對應(yīng)的數(shù)據(jù)流中第M個為1的數(shù)值。
[0014] 其中,所述利用比較控制器對SUm(O)到sum(k)進(jìn)行比較判斷獲得數(shù)據(jù)流中第幾 比特位,具體為:利用比較控制器對sum(O)到sum(k)中相鄰的兩個sum值進(jìn)行比較,即比 較 sum(j)與 sum(j-l),其中 j = 1 到 k,在 M 數(shù)值范圍內(nèi),如果 sum(j) = i&&sum(j-l)= (i-1),那么輸出j值,該j值即為要找的第幾比特位;將j值作為索引值,從而完成選擇操 作。
[0015] 下面結(jié)合一具體實(shí)施例對本發(fā)明作進(jìn)一步說明:
[0016] 假設(shè)M的值是2,即要得到數(shù)據(jù)流中第2個為1的數(shù)值;如輸入的一串?dāng)?shù)據(jù)流為 00111,則k為數(shù)據(jù)流為5個數(shù)位;N可以為大于5的數(shù)據(jù),如6,則利用6個加法器進(jìn)行運(yùn) 算;
[0017] 那么其實(shí)我們的目的就是在00111這串?dāng)?shù)據(jù)中找到第二個值為1對應(yīng)的位置,這 個例子中00111倒數(shù)第二個1這個1就是要找的。則位置是第三bit。這樣就找到了這個 我們需要索引的值3.
[0018] 做法:輸入數(shù)據(jù)流00111
[0019] SUm(O)=O;
[0020] sum(l) = 0+0 ;
[0021] sum (2) = 0+0+1 = I ;
[0022] sum (3) = 0+0+1+1 = 2 ;
[0023] sum (4) = 0+0+1+1+1 = 3 ;
[0024] --判斷:sum(0) sum(l) sum(2) sum(3) sum(4) sum(5)判斷到 sum(3) = 2 (這里的 2是指定的需要找到的第二個I的位子)而且sum⑵=1。(即sum(j) = i&&sum(j-l)= α-1))這就表示我們已經(jīng)找到需要的位子了,也就是3。
[0025] 請參閱圖2所示,本發(fā)明應(yīng)用于一實(shí)施例的原理框圖。
[0026] 在實(shí)際專利實(shí)施例中的應(yīng)用場景為:HEV