專利名稱:大數(shù)乘法方法和裝置的制作方法
狄領(lǐng)域
本發(fā)明涉及大g法領(lǐng)域,特別是,;^發(fā)明涉;^一種"^^^^]帶符號算
術(shù)的大數(shù)乘法的方法和裝置。
背景技術(shù):
大lrt法^u^于3W技術(shù)中已知的許多計算機算法。大數(shù)算術(shù)的常見用途
包括^^加密以及蒙哥馬利乘法,其中對非常大的數(shù)(每個數(shù)都是一千比特的 量級)敝大量乘法樣
一個'大數(shù)"是指由處理l^f吏用的iV比特的Mt,該處理器帶有寄存器或者 字長為^比特的狄,其中A^2x『。術(shù)#"字長"是指單精度寄存器的比特數(shù),
或者處理器所使用的M器t^。 4的字長為釅比特的處理器能夠?qū)蓚€釅
比特的字相乘,然后將結(jié)^^在一個2x『比特的雙^l寄存器中。如果將被 相乘的,數(shù)的M大于『比特,則需^"^t專用的乘法算法。
圖1是llt技術(shù)中^^紙和^i行兩個多位數(shù)相乘的乘法過程10的示例。 每個數(shù)由兩個十六進制的數(shù)字姿試。第一個lb^3B(用參考標(biāo)號12指示),第 二個lbl: CA (用參考標(biāo)號14指示)。該乘法ii^呈10開始僅將第二個數(shù)14的最 4錄效數(shù)字(LSD)與第一個數(shù)12的兩個數(shù)字相乘以得到一個第一中間結(jié)果, 該第一中間結(jié)果用參考標(biāo)號16指示。
然后,^a亍同樣的IMt,用第^^^數(shù)14的最高有效數(shù)字(MSD)乘以第一 個數(shù)12的兩個數(shù)字以得到一個第二中間結(jié)果。該第二中間結(jié)果,用參考標(biāo)號18 指示,被寫在第一中間結(jié)果16的下面左移一位。
乘法過程10完成后,第一中間結(jié)果16與第二中間結(jié)果18的和U法的結(jié)
果2E8E (用參考標(biāo)號20指示)。
僅僅為了清^J^I/fM十六進制數(shù)的乘法進^t^例。,^L^中已知 的計^L^法^fj^i制數(shù)的乘法。
圖2是,技術(shù)中用于圖1中所示的兩個多字lfc^法的計算4M絲法算法30的^^呈圖。當(dāng)^^1計,時,每個數(shù)字都用一個『比特的計#4^表示。術(shù)
洽'數(shù)字"是指一個大數(shù)的4分,它有一^H^^i^的狄。
通常,計算4M匕乘法算法30與I^技術(shù)中的過程10 (見圖1)的使用方式 類似。然而,才^該計算4M匕乘法算法-在^/f亍乘法算法的過程中每個中間相 絲果,M口到一個結(jié)果向量,而根提圖1中的乘法過程10-在^步^M^目加 之前,將各部辦果單^^#0
在初始步驟32中,提供兩個^^數(shù)向量AT和F以^于保存結(jié)果的結(jié)果向 量Z。向量X F, Z都是『比特的字。輸入向量AT和r的長^^別為max—x 和maxj。 一個雙tt寄存器r (由2x『比特構(gòu)成)用于臨時*乘法結(jié)果。
步驟34中,結(jié)果向量Z被清零。
步驟36中,兩個^^數(shù)向量X和r的內(nèi)部變量/,/ , d和c2被清零。其
中,,'賴一^^數(shù)的數(shù)字標(biāo)號,7^^^^數(shù)的數(shù)字標(biāo)號,"是前一絲法 運算的高位字,d是前一^口、;^算的ii位。
隨后的步驟38, 40, 42, 44, 46和48構(gòu)iU^法循環(huán)。步驟38中,將兩 個數(shù)字相乘,并相加前一棘法運算的高位字c/和前一W口'絲算的進位c2。 其結(jié)果臨時^4扭£>1寄存器r中。
步驟40中,將乘、^:算結(jié)果r的高位字^^到"中。
下一步驟42中,計算加法進位并將其*到中。
步驟44中,通過將其與乘法運算結(jié)勤目加來更新結(jié)果向量元素^。由于 每個結(jié)果向量元素的寬度都是『,只將r的<維字與元素Z巧相加。
步驟46中,,i^l數(shù)A:的標(biāo)號,'被增加。
下一步驟48中,判斷,'的^lbl否大于輸入向量A:的M。如果是,則該計 ^M沐法算法轉(zhuǎn)到步驟50。然而,如果為否,則該計^M棘法算法返回到 步驟38,重復(fù)4 Wfi^法循環(huán)。
步驟50中,通過將其與和相加來更新下一個結(jié)果字。 步驟52中,第^^L^數(shù)的標(biāo)號乂被增加,并將內(nèi)部變量"d, c2清零。 下一步驟54中,判斷內(nèi)部變量/'的^A否大于輸入向量F的"ML。如果是 (即,^f亍完max_x乘maxj錄';^算后)則該計^Mt^算法在步驟 56終止,并將結(jié)果向量2^絲為絲的乘法結(jié)果。然而,如果為否,則該計算 才;M絲法算法重新從步驟38開始^M亍內(nèi)^t環(huán),將第-"^^數(shù)與第J^^數(shù)的下一個字相乘。
*技術(shù)中的計算沖;M匕乘法算法提供了 一種基于無符號乘法運算的大^ 法。也就是,輸入向量兄y以及結(jié)果向量z都包括每個數(shù)字有w比特的錄 (麟號位)。
但是,^技術(shù)中已知的一些數(shù)字信號處理器(DSP)的算術(shù)僅支持帶符 號運算。例如,賄技術(shù)中不支持踏號算術(shù)(也狄,僅支持帶符號算術(shù))
的數(shù)字信號處理器的一種'j子是LSI邏#^司提供的ZSP200DSP。
^it類數(shù)字信號處理器中,每個字的最高有效位(MSB)通常是符號位。 如果使用如前所述的g技術(shù)中的計算才A4^法算法并^f亍帶符號乘法運算則 將產(chǎn)生m的結(jié)果。例如當(dāng)字長為8比特(『-8)時,對數(shù)0xFF和0xFF ^f亍一個iW號乘'^算的結(jié)果為OxFEOl (255x255是65025 )。如果僅支持帶 符號運算,那么數(shù)255代表-1。數(shù)-1與-1的乘'^算結(jié)果是+ 1,該結(jié)果與 4M—個iMffit算所得的結(jié)果不同。
i^技術(shù)中已知的能夠旨帶符號運算的處理器所^U的編譯器只骨誠過 題。一、、口 ,' ' 、tf ''、
*技術(shù)中已知的一種典型的轉(zhuǎn)換itf呈如下所述 定義
『是寄存器中的比特數(shù),或者M器的tt。 ^和5是凈A^數(shù)。每個^L^數(shù)均為『比特長。
r是一個雙狄的變量(2x『比特),用于存賭jx5的^^:算結(jié)果,
^是兩個^^數(shù)J和5的帶符號^P、 (2x『比特)。 如果爿的最高有效位是l(iMM是負(fù)數(shù)),那么M ^C^:MM的^^"ii制補 碼。注意0- ~^=v4。
當(dāng)^W亍帶符號乘法運算水5時,其中^是一個負(fù)數(shù)U的最高有效位是1), j^^^^-zw- ~」。用這個絲以丑,其結(jié)果是r- (2W— ( ^4))x5 =
因此,為了對一個負(fù)數(shù)^與一個錄5^tit^號乘絲算,可齡^ 與5的帶符號te"運算,然后將5x2w的值與該結(jié)科目加。注意旨5x2"的 iif復(fù)就等于將5向左移fF位的過程(fix2 5《『)。務(wù)似的,如果兩個#棘數(shù)^和5都是負(fù)數(shù),則結(jié)果為r-2 ^4+^\6 + ^或者"64 『A+^。
總之,用僅支持帶符號的運^^U^亍無符號乘法的g技術(shù)中-^:的處 理^U亍以下liMt:
(1) ^1##^數(shù)^和5的帶符號乘法算法;和
(2) 檢^f個^^數(shù)U和5)的符號位。如果^L^IUJ數(shù),則將另
一個^^fe移『比特,并^f多動后的另一凈ic^數(shù)與帶符扭算的結(jié)勤目加。 由于一個狄負(fù)數(shù)的可能性為so % ,賄的處理H^^W亍一錄';^算平
均需^^f亍一次雙字長的數(shù)的進l!i^r一次雙字長的數(shù)的力口法。這樣的處理器還 必須^T^^個^fiL^數(shù),判斷它A^lfc還是負(fù)數(shù)。
這些額外的算a算使^f5l支持帶符號運算的處理器與可^^亍無符號乘法
運算的處理器相比,乘法性能明顯降低。當(dāng)使用數(shù)字信號處理器的時候,情況 甚至?xí)恪R驗閿?shù)字信號處理器能夠在單次運算中^f亍乘法和加法運算,而
需要^Wf上述額外的算^:算則不能利用數(shù)字信號處理器在一次運算中同時執(zhí) 行乘法和加法指令的優(yōu)勢。
為了^miW技術(shù)中的上^陷,"fi4iM;提^"^H^I僅支持帶符號運 算的處理器來執(zhí)行高效的大tt法的裝置與方法是必要,并ibl非常有利的。
發(fā)明內(nèi)容
因此,本發(fā)明的主要目的是提^"種^U僅支持帶符號運算的處理器來執(zhí) 行高效的大I^法的裝置與方法以UU^技術(shù)中的上述缺陷。
才娥本發(fā)明,提供了一種將第一,iL^數(shù)和第^fi^數(shù)相乘的膽號乘法方
法。該方法包拾(a)將第-^iL^數(shù)作為具有至少一個相應(yīng)數(shù)字的第一向量賴
到第一寄存器,其中每個數(shù)字#*有預(yù)定數(shù)量的比特;(b)將第^^i^數(shù)作為具 有至少一個相應(yīng)數(shù)字的第二向量^#到笫二寄存器,其中每個數(shù)字#*有預(yù)定 數(shù)量的比特;(c)將第一向量的每個數(shù)字^#^比預(yù)定的比特數(shù)少一個比特的 對應(yīng)的數(shù)字;(d)將第二向量的每個數(shù)字^##^比預(yù)定的比特數(shù)少一個比特的 對應(yīng)的數(shù)字;(e)使用一個處理器,該處理器中所有乘法運^SCF艮于帶符號乘 法運算,通過將對應(yīng)于第一,iL^數(shù)的每個數(shù)字與對應(yīng)于第^^數(shù)的每個數(shù)字 相乘的步驟,產(chǎn)生一個帶符號乘、^算結(jié)果。艦的,上述產(chǎn)生步驟包括對帶符號乘法運算結(jié)果的數(shù)字的中間值^ff屏
蔽操作。圖4的方框86中的元素2^表示帶符號乘^it算結(jié)果的數(shù)字的中間值。 to的,該方法進一步包括(f)將帶符號乘法運算結(jié)果轉(zhuǎn)^^對應(yīng)的M 號乘、^算結(jié)果。
才娥本發(fā)明,還提供了一種將第一^^數(shù)與第^^^數(shù)相乘的裝置,該裝 置包括(a)第一寄存器,用于將第一,iC^數(shù)作為具有至少一個相應(yīng)數(shù)字的笫一 向量進行絲,其中每個數(shù)字^Jr有預(yù)定數(shù)量的比特;(b)第二寄存器,用于將 第二^C^數(shù)作為具有至少一個相應(yīng)數(shù)字的第二向量進行務(wù)賭,其中每個數(shù)字都 具有預(yù)定數(shù)量的比特;(c)處理器,其所有乘法運秋P艮于帶符號乘法運算,該 處理器用于將第一向量和第二向量分別轉(zhuǎn)4M7具有至少一個相應(yīng)數(shù)字的對應(yīng)的 轉(zhuǎn)M的第一向量和對應(yīng)的轉(zhuǎn)^的第二向量,每個數(shù)字都比預(yù)定的比特數(shù)少 一個比特;以及將對應(yīng)的轉(zhuǎn)M的第一向量的比特與對應(yīng)的轉(zhuǎn)M的第二向量 的比樹目乘,產(chǎn)生一個帶符號乘法運算結(jié)果。
艦的,該處理^f^J賄的第 第二寄存器在原位^f亍第一向量和第 二向量的轉(zhuǎn)換??蛇x的,也可以^^一個第^ft單;M^^對應(yīng)的轉(zhuǎn)絲的 第一向量和對應(yīng)的轉(zhuǎn)^的第二向量。
to的,處理^^亍一個屏蔽辦以對帶符號乘法運算結(jié)果的數(shù)字的中間 鵬亍屏蔽.
從以下附圖和描述將顯JM^發(fā)明的其它特4iE^優(yōu)點。
為了^f艦解本發(fā)明,結(jié)合附圖對其實施例進^i兌明,所有附圖中相同 的標(biāo)號^Nl應(yīng)的部分或元素。
圖l是:W技術(shù)中使用紙和筆進行兩個多位數(shù)相乘的乘法運算過程的示
例;
圖2是liL^技術(shù)中用于實現(xiàn)圖l中所示的兩個多字W1法的計^4M錄法 算法的j5i^圖3是賄a^中用于將W比特的字轉(zhuǎn)化為『-/比特的字的轉(zhuǎn)^ii^的 方框圖,其中以^=8為例;
圖4;i本發(fā)明的方法的j;;^呈圖;以及圖5另」本發(fā)明的裝置的高級示意方框圖。 M實施方式
本發(fā)明提供了一種新穎的、使用僅支持帶符號運算的處理器來執(zhí)行高效的 大數(shù)乘法的裝置與方法。該發(fā)明的M方式包括以下兩個主要步驟首先,將 以『比特的字表示的凈iL^數(shù)轉(zhuǎn)換為比特的字,從而使得其最高有效位變 為一個"0"比特。該轉(zhuǎn)換過程育誠j錄號位(最高有效位) 一直為0。然后,使 用iW技術(shù)中已知的乘法算法^f亍多位tt法過程。
由于^l^數(shù)I^PA^數(shù),所以無需扭行額外的算^i4算序列以將帶符號
因此,對于很大的^^數(shù)而言,^^1本發(fā)明的方法與^^賄^M^中已經(jīng)
知道的標(biāo)準(zhǔn)乘法技^M目比,能夠明皿減小開銷。而且,本發(fā)明利用數(shù)字信號
處理器能夠在單次運算中批/ft^法和乘法的能力可以提供甚至更高的乘法運算 性能。
為了與賄技術(shù)中的* 法系統(tǒng)綠,可選的,本發(fā)明可將乘法運算過 程產(chǎn)生的字長為『-/比特的結(jié)果轉(zhuǎn)換回預(yù)定的字表示(此處為『比特表示)。
Jiii轉(zhuǎn)^f吏得至少一個輸出字的最高有效位可以為"l"。
#參照圖3,給出了賄技術(shù)中將多個釅比特的字轉(zhuǎn)妙多個『-J比 特的字的轉(zhuǎn)換過程60的方框圖,此處以『=8為例。
一個w比特的^c^數(shù)的字M
其中^是每個字的比特數(shù)(例如,『
足
=8)。例如,第一個字m的8個比#^^示為JO (最4錄效位),a/, J2, ^5,」6和(最高有效位)。第^字》^的8個比##^示為50
(最^^"效位),57, 52, M, 5¥, 55, 56和57 (最高有效位)。第三個字 >^的8個比##^示為O (最寸錄效位),C7, C2, C5, C¥, C5, C6和C7
(最高有效位),等等。
第一步,是將用于^M^i^數(shù)的最^r效數(shù)字(LSD)的第一個字^ 的最高有效位(MSB)爿7復(fù)制到第二字巧的最4絲效位(LSB) 50,并且將 第二個字M^的比特5tf, 52, 53, 54和55均左移一位。
第二步辦是財?shù)赹字 ;2實施的,但是賄將其兩個最高有效位說
和57復(fù)制到第三個字^的兩個最4錄效位O 和C7,并且將第三個字的比特O , C7, C2, C3和C^左移兩位。
當(dāng)對一個棘數(shù)的所有
『
『一1
個轉(zhuǎn)換
個字都進行翻以,后,將產(chǎn)生
后的新的字,從而使##個轉(zhuǎn)絲的新的字都只需要用『-l個比特表示。
實際上,如^^原位liW亍上述『比特到『- 1比特的轉(zhuǎn):^it程(例如4^1 一個常用的緩存),那么這些^ft應(yīng)該M高有效數(shù)字到最^^效數(shù)字進行。例 如,在第二步辦中將兩個最高有效位加和57復(fù)制到第三個字的兩個最^f錄 效位0 和C7,應(yīng)在將第三個字w的a , C7, C2, C3和G/左移兩位^L前進 行。
參看圖4, ;L^發(fā)明的方法70的沐-呈圖。
在初始步驟72中,執(zhí)行圖3中所示的轉(zhuǎn)換過程60以F個以釅比特的字 表示的,A^數(shù)轉(zhuǎn)換為以『-J比特的字表示。輸入的,數(shù)AT和r嘲械轉(zhuǎn)^ 新的以比特的字^^示(也M,每個用于^M^^^數(shù)的字都是『-7比 特)。該轉(zhuǎn)換過程可以使用同一個用于務(wù)賭以"初始的"『比特的字表示的輸入被 乘數(shù)的輸A^沖器(如果凈紛配了足夠的務(wù)賭空間),或者也可以^^I單獨分配 的緩沖器。輸入向量X和r的長^^別為max_x和maxj。
max x 和max_y按照以下方式計算
IIWX X
『一l
且max_y
"少
其中^表示^ft數(shù)AT的長度(也
.『—1.
狄比特數(shù)),",表示辦數(shù)F的狄(也艦匕特數(shù))。
下一步驟74中,m個用于保存結(jié)果的結(jié)果向量Z。 一個雙^JL寄存器 r (由2x『比特構(gòu)成)用于臨時^4乘法結(jié)果。在本發(fā)明中,將掩碼mask定義 為2W—1 -/ (其最高有效位是"0",其余所有^P是"1")。屏蔽^t扭W皮定義 為#-個W比特的字與該掩》mft^輯"與"的操作。
以下步驟76, 78, 80, 82和84與圖2中所示的計算4Mt^法算法30的步 驟34, 36, 38 , 40和42相同。
步驟76中,結(jié)果向量Z被清零。
步驟78中,將兩個^L^數(shù)向量AT和r的內(nèi)部變量f', y, d和c2清零。其 中,!'絲-^iL^數(shù)的數(shù)字標(biāo)號,7絲^^^數(shù)的數(shù)字標(biāo)號, 運算的高位字,是前一^p、;^:算的進位。
步驟80, 82, 84, 86, 88和90構(gòu)成i^法循環(huán)。步驟80中,將兩個數(shù)字相乘,并相加前一錄絲算的高位字c/和前一^a法運算的進位么其結(jié)果 臨時^^^ML寄存器r中。
步驟82中,將乘法運算結(jié)果的高位字絲到c/ 。
下一步驟84中,計算加法進位并將其^4到"。
步驟86中,通過將其與乘法運算結(jié)勤目加來更新結(jié)果向量元素Z^。由于 每個結(jié)果向量元素的^1都是『,只將r的^^字與元素Z^相加。然后,對結(jié) 果向量元素Z^^,屏蔽辦"。由于粉帶符號算絲算時與結(jié)果向量元素 Z 的符號位(最高有效位)無關(guān),屏蔽辦(『-J比幹T,掩碼)能夠確J綠 果向量元素Z^的符號位(最高有效位)被清零。
以下步驟88,卯,92, 94, 96和98與圖2所示5^技術(shù)中的步驟46, 48, 50, 52, 54和56相似。
步驟88中,初L^數(shù)AT的標(biāo)號/被增加。
步驟90中,判斷/的佳是否大于輸入向量AT的長度。如果是,則該多皿 乘法過程轉(zhuǎn)到步驟92;然而,如果為否,則該多位絲法過禾Ii4回到步驟78, 重復(fù)齡絲法循環(huán)。
步驟92中,通過將其與c/和的銜目加來更新下一個結(jié)果字。
步驟94中,第^^^^數(shù)的標(biāo)號/'被增加,并將內(nèi)部變量"d, c2清零。
下一步驟96中,判斷內(nèi)部變量/'的M否大于輸入向量F的M,如果是 (即,#^亍完max_x乘maxj錄'減算后)則#^4最終乘'減算結(jié)果的帶 符號結(jié)果向量Z轉(zhuǎn)^一個錄號結(jié)果向量。例如,勤,J用將多個W-J比特 的字轉(zhuǎn)換為多個『比特的字的g技術(shù)中的轉(zhuǎn)換過程(例如,圖3所示過程的 相反轉(zhuǎn)換雄)來實現(xiàn)。然而,如果為否,則該多位絲法itf呈重新從步驟80 開始旨內(nèi)《#|5#環(huán),將第一#^數(shù)與第^^數(shù)的下一個字相乘。
參看圖5,是本發(fā)明的裝置100的高級示意框圖。寄存器102用于將第一被 乘數(shù)M為每個數(shù)字以『比特表示的第一向量。寄存器104用于將第^^^l數(shù) ,為每個數(shù)字以『比特表示的第二向量。
處理器106 W艮于帶符號^^運算,用于將第-^ic^數(shù)和第^4iL^數(shù)的每 一個數(shù)字轉(zhuǎn)M以『-/比特表示的形式,然后將第-^L^數(shù)的轉(zhuǎn)M的數(shù)字 與第^^^數(shù)的轉(zhuǎn)M的數(shù)字相乘,產(chǎn)生一個帶4H^^t算結(jié)果。
艦的,提單元103 (例如,RAM,寄存器等)用于分別^ft第一^:^數(shù)的轉(zhuǎn)換后的lt字以;^^^^數(shù)的轉(zhuǎn)換后的l!i:字。處理器106所產(chǎn)生 的帶符號乘法運算結(jié)果也以每個字表示為『-2比特的形式被^!vM^單元
103中。
to的,處理器106還用于將帶符號乘法運算結(jié)果轉(zhuǎn)^i^號乘法運算 結(jié)果,并將該醋號乘法運算結(jié)果以每個字表示為W比特的形式<絲到^#單 元103中。
可選的,將第一^L^數(shù)和第^^^數(shù)轉(zhuǎn)妙以『-/比特表示的轉(zhuǎn)換it^呈 可以由處理器106在原^4行(也就是,分別^^J寄存器102和寄存器104 )。
以上用一^Nt定的乘法算法為例對本發(fā)明的實施方式進行了描述。然而, 應(yīng)SJ^, ^M封可能夠在^W亍高效的大^tt法之前^"個^^數(shù)的每個『比特 的字轉(zhuǎn)換為『-/比特的字的方法和裝置實財i^i人為被包括^^發(fā)明的范 圍之內(nèi)。
以上所ii^出了本發(fā)明的某些特定實施例,應(yīng)被理解為并非對本發(fā)明的限
定,由于進一步的修 ^被提供給;^頁域技術(shù)人員,其意-M這樣的修改將 落A^斤附似'J要求的^^范圍內(nèi)。
權(quán)利要求
1. 一種用于將第一被乘數(shù)與第二被乘數(shù)相乘的無符號乘法方法,該方法包括以下步驟(a)將第一被乘數(shù)作為具有至少一個相應(yīng)數(shù)字的第一向量存儲到第一寄存器,每個所述數(shù)字都具有預(yù)定數(shù)量的比特;(b)將第二被乘數(shù)作為具有至少一個相應(yīng)數(shù)字的第二向量存儲到第二寄存器,每個所述數(shù)字都具有所述預(yù)定數(shù)量的比特;(c)將所述第一向量的所述數(shù)字都轉(zhuǎn)換為比所述預(yù)定比特數(shù)少一個比特的對應(yīng)的數(shù)字;(d)將所述第二向量的所述數(shù)字都轉(zhuǎn)換為比所述預(yù)定比特數(shù)少一個比特的對應(yīng)的數(shù)字;以及(e)使用其所有乘法運算限于帶符號乘法運算的處理器,通過包括將對應(yīng)于所述第一被乘數(shù)的每個所述數(shù)字與對應(yīng)于所述第二被乘數(shù)的每個所述數(shù)字相乘的步驟,產(chǎn)生一個帶符號乘法運算結(jié)果。
2、 才娥似'漆求1所述的方法,其中所述帶符號乘'絲算結(jié)果包括多個數(shù) 字,并且其中所述產(chǎn)生包括對所述帶符號乘法運算結(jié)果的所述多個數(shù)字的中間 值擬亍屏蔽。
3、 才N^5^'J^求1所述的方法,進一步包括以下步驟(f)將所述帶符號乘法運算結(jié)果轉(zhuǎn)M相應(yīng)的iMff乘法運算結(jié)果。
4、 一種用于將第—棘數(shù)與第3棘數(shù)相乘的裝置,該裝置包括(a) 第一寄存器,用于將笫一凈iL^數(shù)作為具有至少一個相應(yīng)數(shù)字的第一向 量進行械每個所述數(shù)字棘有預(yù)定數(shù)量的比特;(b) 第二寄存器,用于將第^^iL^數(shù)作為具有至少一個相應(yīng)數(shù)字的第二向 量進行賴,每個所述數(shù)字 "有所述預(yù)定數(shù)量的比特;以及(c) 處理器,其所有乘法運算P艮于帶符號乘絲算,該處理器用于將所述 第一向量和所述第二向量分別轉(zhuǎn)M具有至少一個相應(yīng)數(shù)字的對應(yīng)的轉(zhuǎn)M的 第一向量和對應(yīng)的轉(zhuǎn)換后的第二向量,每個所述數(shù)字都比所述預(yù)定比特數(shù)少一 個比特;以及將所i^t應(yīng)的轉(zhuǎn)^的第一向量的比特與所it^應(yīng)的轉(zhuǎn)^的第 二向量的比桐目乘,以產(chǎn)生一個帶符號乘'減算結(jié)果。
5、 才^^u'j要求4所述的裝置,其中所*理器在原位^^所 —向量 和所^f二向量的所迷轉(zhuǎn)換。
6、 W權(quán)利要求4所述的裝置,進一步包拾(d) 4^單元,用于絲所糾應(yīng)的轉(zhuǎn)船的第一向量和所糾應(yīng)的轉(zhuǎn)換 后的第二向量。
7、 才^^5U,要求4所述的裝置,其中所述帶符號乘法運算結(jié)果包括多個數(shù)字,字的中間值進行屏蔽。
全文摘要
一種用于將第一被乘數(shù)與第二被乘數(shù)相乘的帶符號乘法方法及對應(yīng)的裝置。該裝置將第一被乘數(shù)作為具有至少一個相應(yīng)數(shù)字的第一向量存儲在第一寄存器中,并將第二被乘數(shù)作為具有至少一個相應(yīng)數(shù)字的第二向量存儲在第二寄存器中,其中每個數(shù)字都具有預(yù)定數(shù)量的比特。該方法進一步將第一向量和第二向量的數(shù)字轉(zhuǎn)換為比預(yù)定比特數(shù)少一個比特的對應(yīng)數(shù)字。處理器用于執(zhí)行上述被乘數(shù)的帶符號乘法運算。
文檔編號G06F7/52GK101300544SQ200680015809
公開日2008年11月5日 申請日期2006年5月9日 優(yōu)先權(quán)日2005年5月9日
發(fā)明者B·多爾貢瓦, I·德羅爾 申請人:晟碟以色列有限公司