專利名稱:無符號(hào)定點(diǎn)除法及無符號(hào)定點(diǎn)除法器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)、通信、電子技術(shù)的芯片或電路領(lǐng)域,尤其涉及一種定點(diǎn)除法及 一種無符號(hào)定點(diǎn)除法器。
背景技術(shù):
在數(shù)字信號(hào)處理、通信、圖像處理和視頻處理中,常涉及通過除數(shù)和被除數(shù)求商和 余數(shù)的除法運(yùn)算。傳統(tǒng)的除法器如Xinlix等可編程邏輯器件設(shè)計(jì)廠商提供的除法器IP, 只給出外部接口定義,不方便移植,而且資源消耗大,運(yùn)算時(shí)間太長。故現(xiàn)有的除法器設(shè)計(jì) 時(shí),往往通過改進(jìn)的各種優(yōu)化算法而實(shí)現(xiàn)減少硬件實(shí)現(xiàn)代價(jià)、減短執(zhí)行周期的目的,因此出 現(xiàn)了各種定點(diǎn)除法器?,F(xiàn)有的定點(diǎn)除法器做除法運(yùn)算時(shí),主要的方法是通過移位減操作來進(jìn)行。如專利 號(hào)為CN01132302. 7的專利文獻(xiàn)公開了 “一種除法器”,是將除法運(yùn)算轉(zhuǎn)化為移位運(yùn)算和減 法運(yùn)算。但是此類算法忽視了被除數(shù)和除數(shù)的特征,如當(dāng)被除數(shù)遠(yuǎn)小于除數(shù)的時(shí)候,其結(jié) 果可以直接得到為0,而此類算法還需要不斷的進(jìn)行迭代,即進(jìn)行移位和減法運(yùn)算,其執(zhí)行 周期長,且造成了資源和能耗的浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種 運(yùn)算節(jié)拍少、處理快速并可降低功耗的無符號(hào)定點(diǎn)除法,以及一種硬件結(jié)構(gòu)簡單、執(zhí)行周期 短、能耗低的無符號(hào)定點(diǎn)除法器。為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案 一種無符號(hào)定點(diǎn)除法,其特征在于包括以下步驟
1)預(yù)處理讀取M位的被除數(shù)A和N位的除數(shù)B,將除數(shù)B進(jìn)行預(yù)處理,生成一參考除
數(shù)向量表;
2)定位選擇將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行比較選擇,找到需要進(jìn)行減 法運(yùn)算的參考除數(shù),并將商Q中的對(duì)應(yīng)位置為1,進(jìn)入步驟3),若未找到所述參考除數(shù),則進(jìn) 入步驟4);
3)減法運(yùn)算將被除數(shù)A減去參考除數(shù),得到余數(shù)R并將余數(shù)R作為新的被除數(shù)A返 回步驟2);
4)輸出結(jié)果輸出商Q和余數(shù)R。作為上述除法的一種改進(jìn)
所述將除數(shù)B進(jìn)行預(yù)處理,具體包括以下步驟將除數(shù)B左移1、2、……、M-1位并依次 存儲(chǔ)到存儲(chǔ)器I、B2、……,Bsh中,且滿足B<Bi<B2〈…〈Bh,形成所述參考除數(shù)向量表。所述步驟2)具體包括以下步驟
將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行小于比較選擇,
2. 1)在參考除數(shù)向量表中查找得到一參考除數(shù)Bi滿足KA<Bi+1,其中i=l、2、……、
4M-1,將商Q中的第i位Qi的值置為1,進(jìn)入步驟3);
2. 2)或者,被除數(shù)A > Bsh或被除數(shù)々< B,則進(jìn)入步驟4)。作為上述除法的另一種改進(jìn)
所述將除數(shù)B進(jìn)行預(yù)處理,具體包括以下步驟將除數(shù)B左移1位然后與B相加,生成 BB1,然后B和BB1*別左移1、2、……、M-1位并分別存儲(chǔ)到存儲(chǔ)器B J1JB^By B1B2,... Bi^BiBw中且滿足Βα^ΒΒ^ΒΖΒ^Ο'ΧΒΖΒΑ^,形成所述參考除數(shù)向量表,其中Bi為除數(shù) B左移i位的數(shù)值且i=l、2、……,M-I0所述步驟2)具體包括以下步驟
將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行小于比較選擇,
2. Ia)在參考除數(shù)向量表中查找得到一參考除數(shù)Bi滿足Bi彡AaiBp1,其中序號(hào)i=l、 2、……、M-1,將商Q中的第i位Qi的值置為1,商Q中的第i_l位Qp1的值置為0,進(jìn)入 步驟3);
2. Ib)或者,查找得到一參考除數(shù)Bi滿足BiBp1彡A<Bi+1,其中序號(hào)i=l、2、……、M_1, 則將商Q中的第i位Qi的值置為1,商Q中的第i_l位Qh的值置為1,進(jìn)入步驟3); 2. Ic)或者,被除數(shù)A > BiBp1或被除數(shù)A < B,則進(jìn)入步驟4)。所有上述的除法中,在所述步驟1)中將所述商Q和余數(shù)R的初始值置零。作為一個(gè)總的技術(shù)構(gòu)思,本發(fā)明還提供一種無符號(hào)定點(diǎn)除法器,包括依次相連的 用于輸入被除數(shù)并對(duì)除數(shù)進(jìn)行預(yù)處理的預(yù)處理單元和用于對(duì)被除數(shù)和經(jīng)預(yù)處理的除數(shù)進(jìn) 行迭代減法運(yùn)算的迭代運(yùn)算單元,其特征在于,所述除法器還包括一用于確定必要減法運(yùn) 算位的定位選擇單元,所述定位選擇單元的輸入端與預(yù)處理單元的輸出端相連以對(duì)被除數(shù) 和經(jīng)預(yù)處理的除數(shù)進(jìn)行比較選擇,比較選擇的結(jié)果輸入到迭代運(yùn)算單元的輸入端進(jìn)行迭代 減法運(yùn)算,運(yùn)算結(jié)果返回定位選擇單元的輸入端或輸出。作為本發(fā)明的除法器的進(jìn)一步改進(jìn)
所述定位選擇單元包括與所述預(yù)處理單元的輸出端相連的用于將被除數(shù)和預(yù)處理后 的除數(shù)進(jìn)行比較的小于比較器組,以及與所述小于比較器組相連的用于將比較結(jié)果選擇輸 出的選擇開關(guān),所述選擇開關(guān)與所述迭代運(yùn)算單元的輸入端相連。所述預(yù)處理單元包括用于進(jìn)行除數(shù)左移運(yùn)算和加法運(yùn)算的移位運(yùn)算模塊、以及與 所述移位運(yùn)算模塊相連的向量存儲(chǔ)模塊,所述向量存儲(chǔ)模塊與所述定位選擇單元的輸入端 相連。所述預(yù)處理單元包括用于進(jìn)行除數(shù)左移運(yùn)算和加法運(yùn)算的移位運(yùn)算模塊、以及與所 述移位運(yùn)算模塊相連的用于存儲(chǔ)所述左移運(yùn)算和加法運(yùn)算結(jié)果的向量存儲(chǔ)模塊,所述向量 存儲(chǔ)模塊與所述定位選擇單元的輸入端相連。所述除法器還包括一結(jié)果輸出單元,所述結(jié)果輸出單元包括一與定位選擇單元相 連的商輸出模塊以及一嵌入所述迭代運(yùn)算單元的余數(shù)輸出模塊。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于
1、本發(fā)明的無符號(hào)定點(diǎn)除法,針對(duì)被除數(shù)和除數(shù)的特征,利用商的結(jié)果中,僅僅商位為 1的才需要做相減運(yùn)算;而商為0則無需運(yùn)算直接跳過,從而將某些基數(shù)從被除數(shù)中分離, 采用較少的運(yùn)算節(jié)拍得出商和余數(shù)。該方法可整體減短除法器的運(yùn)算周期,并可以降低功
^^ O2、本發(fā)明的無符號(hào)定點(diǎn)除法器,設(shè)置定位選擇單元,可實(shí)現(xiàn)只在對(duì)應(yīng)的商位為1
5時(shí),即僅在需要運(yùn)算時(shí)迭代運(yùn)算單元才進(jìn)行減法運(yùn)算,其硬件結(jié)構(gòu)簡單、執(zhí)行周期短,采用 較少的硬件實(shí)現(xiàn)代價(jià),實(shí)現(xiàn)除法的快速運(yùn)算,能節(jié)約能耗。
圖1是本發(fā)明具體實(shí)施例1的無符號(hào)定點(diǎn)除法的運(yùn)算流程示意圖; 圖2是本發(fā)明具體實(shí)施例1的無符號(hào)定點(diǎn)除法器的組成結(jié)構(gòu)示意圖; 圖3是本發(fā)明具體實(shí)施例2的無符號(hào)定點(diǎn)除法器的組成結(jié)構(gòu)示意圖; 圖4是一個(gè)四位數(shù)小于比較器的電路原理示意圖。圖例說明
1、預(yù)處理單元;11、移位運(yùn)算模塊;12、向量存儲(chǔ)模塊;2、定位選擇單元;22、小于比較 器組;23、選擇開關(guān);3、迭代運(yùn)算單元;31、邏輯運(yùn)算單元;4、結(jié)果輸出單元;41、商輸出模 塊;42、余數(shù)輸出模塊。
具體實(shí)施例方式以下將結(jié)合說明書附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。如圖1所示,本實(shí)施例的無符號(hào)定點(diǎn)除法,包括以下步驟
1、預(yù)處理
讀取M位的被除數(shù)A和N位的除數(shù)B,且M > N,將商Q和余數(shù)R的初始值置零。將除 數(shù)B左移1、2、……、M-I位并依次存儲(chǔ)到存儲(chǔ)器&、B2,……、Bsh中,且滿足^B1CB2〈… 〈Bh,形成參考除數(shù)向量表。2、定位選擇
將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行小于比較選擇,
2.1在參考除數(shù)向量表中查找得到一參考除數(shù)Bi滿足Bi < A < Bi+1,其中i=l、2、……、 M-1,將商Q中的第i位Qi的值置為1,進(jìn)入步驟3 ;
2. 2或者,被除數(shù)A > Bsh或被除數(shù)A < B,則進(jìn)入步驟4。3、減法運(yùn)算將被除數(shù)A減去參考除數(shù)Bi,得到余數(shù)R并將余數(shù)R作為新的被除數(shù) A返回步驟2 ;
4、輸出結(jié)果輸出商Q和余數(shù)R。如圖2所示,本實(shí)施例的無符號(hào)定點(diǎn)除法器,包括依次相連的用于輸入被除數(shù)并 對(duì)除數(shù)進(jìn)行預(yù)處理的預(yù)處理單元1和用于對(duì)被除數(shù)和經(jīng)預(yù)處理的除數(shù)進(jìn)行迭代減法運(yùn)算 的迭代運(yùn)算單元3,其特征在于,除法器還包括一用于確定必要減法運(yùn)算位的定位選擇單元 2,定位選擇單元2的輸入端與預(yù)處理單元1的輸出端相連以對(duì)被除數(shù)和經(jīng)預(yù)處理的除數(shù)進(jìn) 行比較選擇,比較選擇的結(jié)果輸入到迭代運(yùn)算單元3的輸入端進(jìn)行迭代減法運(yùn)算,運(yùn)算結(jié) 果返回定位選擇單元2的輸入端或輸出。本實(shí)施例中,預(yù)處理單元1包括用于進(jìn)行除數(shù)左移運(yùn)算的移位運(yùn)算模塊11、以及 與移位運(yùn)算模塊11相連的用于存儲(chǔ)左移運(yùn)算結(jié)果的向量存儲(chǔ)模塊12,向量存儲(chǔ)模塊12與 定位選擇單元2的輸入端相連。定位選擇單元2包括與預(yù)處理單元1的輸出端相連的用于 將被除數(shù)和預(yù)處理后的除數(shù)進(jìn)行比較的小于比較器組22,以及與小于比較器組22相連的 用于將比較結(jié)果選擇輸出的選擇開關(guān)23,選擇開關(guān)23與迭代運(yùn)算單元3的輸入端相連。迭
6代運(yùn)算單元3為一邏輯運(yùn)算單元31 (本實(shí)施例中為32位ALU)和一與結(jié)果輸出單元4復(fù)用 的余數(shù)輸出模塊42。除法器還包括一結(jié)果輸出單元4,結(jié)果輸出單元4包括一與定位選擇 單元2相連的商輸出模塊41以及一嵌入迭代運(yùn)算單元3的余數(shù)輸出模塊42。實(shí)施例2
本實(shí)施例的無符號(hào)定點(diǎn)除法,包括以下步驟
1、預(yù)處理
讀取M位的被除數(shù)A和N位的除數(shù)B,將商Q和余數(shù)R的初始值置零; 將除數(shù)B左移1位然后與B相加,生成BB1,然后B和BB1分別左移1、2、……、M_1位并 分別存儲(chǔ)到存儲(chǔ)器BjpBBpB^B1B2、…B^BiBw中且滿足Βα^ΒΒ^Β^ΒΑΟ·· (B^BiBw,其 中BiBw=BJBw,形成一參考除數(shù)向量表,其中Bi為除數(shù)B左移i位的數(shù)值且i=l、2、……、 M-I。2、定位選擇
將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行小于比較選擇,
2.Ia在參考除數(shù)向量表中查找得到一參考除數(shù)Bi滿足Bi ^ AaiBg,其中序號(hào)i=l、 2、……、M-1,將商Q中的第i位Qi的值置為1,商Q中的第i_l位Qp1的值置為0,進(jìn)入 步驟3 ;
2. Ib或者,查找得到找到一參考除數(shù)Bi滿足BiBp1彡A<Bi+1,其中序號(hào)i=l、2、……、 M-1,則將商Q中的第i位Qi的值置為1,商Q中的第i-Ι位Qp1的值置為1,進(jìn)入步驟3 ; 2. Ic或者,被除數(shù)A > BiBp1或被除數(shù)々< B,則進(jìn)入步驟4。3、減法運(yùn)算將被除數(shù)A減去參考除數(shù),得到余數(shù)R并將余數(shù)R作為新的被除數(shù)A 返回步驟2。4、輸出結(jié)果輸出商Q和余數(shù)R。如圖3所示,本實(shí)施例的無符號(hào)定點(diǎn)除法器的結(jié)構(gòu)與實(shí)施例1基本相同,其區(qū)別僅 在于移位運(yùn)算模塊11可以用于進(jìn)行除數(shù)左移運(yùn)算和加法運(yùn)算,與實(shí)施例1相比,移位運(yùn)算 模塊11中設(shè)有一個(gè)可進(jìn)行加法運(yùn)算的邏輯運(yùn)算部件(本實(shí)施例中為32位ALU)。其工作原 理與實(shí)施例1基本相同,在此不再贅述。綜上,本發(fā)明的無符號(hào)定點(diǎn)除法器能采用較小的硬件實(shí)現(xiàn)代價(jià)、較低的成本實(shí)現(xiàn) 減少除法計(jì)算節(jié)拍、減短運(yùn)算周期,從而降低芯片做同等運(yùn)算所消耗的功耗、節(jié)約能源。以 完成一個(gè)4位數(shù)的除法的除法器為例,其小于比較器的電路原理示意圖如圖4所示,該小于 比較器共使用16個(gè)晶體管。在實(shí)際應(yīng)用時(shí),N位無符號(hào)小于比較器需使用4N個(gè)晶體管,相 對(duì)本發(fā)明提高除法運(yùn)算的性能效果,此硬件實(shí)現(xiàn)代價(jià)較小。 以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施 例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域 的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤飾,應(yīng)視為本發(fā)明的保 護(hù)范圍。
權(quán)利要求
一種無符號(hào)定點(diǎn)除法,其特征在于包括以下步驟1)預(yù)處理讀取M位的被除數(shù)A和N位的除數(shù)B,將除數(shù)B進(jìn)行預(yù)處理,生成一參考除數(shù)向量表;2)定位選擇將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行比較選擇,找到需要進(jìn)行減法運(yùn)算的參考除數(shù),并將商Q中的對(duì)應(yīng)位置為1,進(jìn)入步驟3),若未找到所述參考除數(shù),則進(jìn)入步驟4);3)減法運(yùn)算將被除數(shù)A減去參考除數(shù),得到余數(shù)R并將余數(shù)R作為新的被除數(shù)A返回步驟2);4)輸出結(jié)果輸出商Q和余數(shù)R。
2.根據(jù)權(quán)利要求1所述的無符號(hào)定點(diǎn)除法,其特征在于,所述將除數(shù)B進(jìn)行預(yù)處理,具 體包括以下步驟將除數(shù)B左移1、2、……、M-I位并依次存儲(chǔ)到存儲(chǔ)器Bp B2、…….Bsh 中,且滿足BCB^B2O"〈Bh,形成所述參考除數(shù)向量表。
3.根據(jù)權(quán)利要求2所述的無符號(hào)定點(diǎn)除法,其特征在于,所述步驟2)具體包括以下步驟將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行小于比較選擇,2. 1)在參考除數(shù)向量表中查找得到一參考除數(shù)Bi滿足KA<Bi+1,其中i=l、2、……、 M-1,將商Q中的第i位Qi的值置為1,進(jìn)入步驟3);2. 2)或者,被除數(shù)A > Bsh或被除數(shù)々< B,則進(jìn)入步驟4)。
4.根據(jù)權(quán)利要求1所述的無符號(hào)定點(diǎn)除法,其特征在于,所述將除數(shù)B進(jìn)行預(yù)處 理,具體包括以下步驟將除數(shù)B左移1位然后與B相加,生成BB1,然后B和BB1分別 左移1、2、……、M-I位并分別存儲(chǔ)到存儲(chǔ)器B、B。BB^ B2、B1B2,…Bi、BiBw中且滿足 Β<Β1<ΒΒ1<Β2<Β1Β2<···< B^BiBw,形成所述參考除數(shù)向量表,其中Bi為除數(shù)B左移i位的數(shù) 值且 i=l、2、......、M-1。
5.根據(jù)權(quán)利要求4所述的無符號(hào)定點(diǎn)除法,其特征在于,所述步驟2)具體包括以下步驟將被除數(shù)A與參考除數(shù)向量表中的元素進(jìn)行小于比較選擇,2. Ia)在參考除數(shù)向量表中查找得到一參考除數(shù)Bi滿足Bi SAaiBp1,其中序號(hào)i=l、 2、……、M-1,將商Q中的第i位Qi的值置為1,商Q中的第i_l位Qp1的值置為0,進(jìn)入 步驟3);2. Ib)或者,查找得到一參考除數(shù)Bi滿足BiBp1彡A<Bi+1,其中序號(hào)i=l、2、……、M_1, 則將商Q中的第i位Qi的值置為1,商Q中的第i_l位Qh的值置為1,進(jìn)入步驟3); 2. Ic)或者,被除數(shù)A > BiBp1或被除數(shù)A < B,則進(jìn)入步驟4)。
6.根據(jù)權(quán)利要求1 5中任一項(xiàng)所述的無符號(hào)定點(diǎn)除法,其特征在于,在所述步驟1) 中將所述商Q和余數(shù)R的初始值置零。
7.一種無符號(hào)定點(diǎn)除法器,包括依次相連的用于輸入被除數(shù)并對(duì)除數(shù)進(jìn)行預(yù)處理的預(yù) 處理單元(1)和用于對(duì)被除數(shù)和經(jīng)預(yù)處理的除數(shù)進(jìn)行迭代減法運(yùn)算的迭代運(yùn)算單元(3), 其特征在于,所述除法器還包括一用于確定必要減法運(yùn)算位的定位選擇單元(2),所述定位 選擇單元(2)的輸入端與預(yù)處理單元(1)的輸出端相連以對(duì)被除數(shù)和經(jīng)預(yù)處理的除數(shù)進(jìn)行 比較選擇,比較選擇的結(jié)果輸入到迭代運(yùn)算單元(3)的輸入端進(jìn)行迭代減法運(yùn)算,運(yùn)算結(jié)果返回定位選擇單元(2)的輸入端或輸出。
8.根據(jù)權(quán)利要求7所述的無符號(hào)定點(diǎn)除法器,其特征在于所述定位選擇單元(2)包括 與所述預(yù)處理單元(1)的輸出端相連的用于將被除數(shù)和預(yù)處理后的除數(shù)進(jìn)行比較的小于比 較器組(22),以及與所述小于比較器組(22)相連的用于將比較結(jié)果選擇輸出的選擇開關(guān) (23),所述選擇開關(guān)(23)與所述迭代運(yùn)算單元(3)的輸入端相連。
9.根據(jù)權(quán)利要求7所述的無符號(hào)定點(diǎn)除法器,其特征在于所述預(yù)處理單元(1)包括 用于進(jìn)行除數(shù)左移運(yùn)算和加法運(yùn)算的移位運(yùn)算模塊(11)、以及與所述移位運(yùn)算模塊(11) 相連的用于存儲(chǔ)所述左移運(yùn)算和加法運(yùn)算結(jié)果的向量存儲(chǔ)模塊(12),所述向量存儲(chǔ)模塊 (12)與所述定位選擇單元(2)的輸入端相連。
10.根據(jù)權(quán)利要求7或8或9所述的無符號(hào)定點(diǎn)除法器,其特征在于所述除法器還包 括一結(jié)果輸出單元(4),所述結(jié)果輸出單元(4)包括一與定位選擇單元(2)相連的商輸出模 塊(41)以及一嵌入所述迭代運(yùn)算單元(3)的余數(shù)輸出模塊(42)。
全文摘要
本發(fā)明公開了一種無符號(hào)定點(diǎn)除法,包括步驟除數(shù)經(jīng)預(yù)處理單元進(jìn)行處理后與被除數(shù)一起輸入到定位選擇單元進(jìn)行定位選擇,再經(jīng)迭代運(yùn)算單元對(duì)選擇的結(jié)果進(jìn)行迭代減法運(yùn)算后將運(yùn)算結(jié)果返回定位選擇單元,最終輸出商和余數(shù)。本發(fā)明還公開了一種無符號(hào)定點(diǎn)除法器,包括依次相連的預(yù)處理單元、定位選擇單元和迭代運(yùn)算單元,定位選擇單元的輸入端分別與預(yù)處理單元的輸出端以及迭代運(yùn)算單元的輸出端相連,定位選擇單元的輸出端與迭代運(yùn)算單元的輸入端相連。本發(fā)明具有硬件結(jié)構(gòu)簡單、運(yùn)算節(jié)拍少、執(zhí)行周期短、硬件實(shí)現(xiàn)代價(jià)低、能耗低等優(yōu)點(diǎn)。
文檔編號(hào)G06F7/52GK101986259SQ201010559299
公開日2011年3月16日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者余再祥, 劉衡竹, 華校專, 吳虎成, 孫永節(jié), 孫鎖林, 楊惠, 汪東, 羅恒, 胡封林, 陳書明 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)