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