專利名稱:多項(xiàng)式算術(shù)運(yùn)算的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于執(zhí)行多項(xiàng)式算術(shù)的微處理器指令,具體說涉及用于執(zhí)行多項(xiàng)式乘法運(yùn)算的微處理器指令。
背景當(dāng)業(yè)界朝向更龐大更復(fù)雜的指令集發(fā)展時(shí),開發(fā)出了精簡(jiǎn)指令集計(jì)算機(jī)(RISC)體系結(jié)構(gòu)。通過簡(jiǎn)化指令集設(shè)計(jì),RISC體系結(jié)構(gòu)使得應(yīng)用例如流水線和高速緩沖技術(shù)更為容易,從而提高了系統(tǒng)的性能。
RISC體系結(jié)構(gòu)一般具有在指令格式上幾乎沒什么變化的固定長(zhǎng)度指令(例如16位,32位或64位)。指令集體系結(jié)構(gòu)(ISA)中的每個(gè)指令可具有總處于相同位置的源寄存器。例如,32位ISA可具有總由位16-20和21-25指定的源寄存器。對(duì)每條指令而言,這允許無需任何復(fù)雜的指令譯碼就可讀取指定寄存器。
概述加密的系統(tǒng)(“密碼系統(tǒng)”)越來越多地用于確保交易安全,對(duì)通信加密,對(duì)用戶進(jìn)行認(rèn)證以及保護(hù)信息。許多專用密鑰密碼系統(tǒng)(例如數(shù)字加密算法(DES)),在計(jì)算上相對(duì)簡(jiǎn)單,并且常??珊?jiǎn)化為對(duì)數(shù)據(jù)塊進(jìn)行一系列異或(XOR)、循環(huán)和置換運(yùn)算的硬件解決方案。而另一方面,公共密鑰密碼系統(tǒng)比專用密鑰密碼系統(tǒng)在數(shù)學(xué)上更巧妙且在計(jì)算上更困難。
雖然不同的公共密鑰密碼系統(tǒng)方案依據(jù)不同的數(shù)學(xué)基礎(chǔ),但是它們往往都需要在數(shù)量級(jí)為1024位的大數(shù)值范圍內(nèi)進(jìn)行整數(shù)運(yùn)算。擴(kuò)展精度運(yùn)算常?;谀?shù)(即以某個(gè)值域?yàn)槟_M(jìn)行的運(yùn)算),而在某些情況下則是基于二進(jìn)制多項(xiàng)式而非二進(jìn)制補(bǔ)碼。例如,RSA公共密鑰密碼系統(tǒng)采用擴(kuò)展精度模取冪來對(duì)信息加密和解密,而橢圓曲線密碼系統(tǒng)采用擴(kuò)展精度模多項(xiàng)式乘法對(duì)信息加密和解密。
公共密鑰密碼系統(tǒng)已經(jīng)廣泛用于用戶認(rèn)證和安全密鑰交換,而專用密鑰密碼系統(tǒng)廣泛用于加密通信通道。隨著公共密鑰密碼系統(tǒng)的應(yīng)用增多,希望能夠提高擴(kuò)展精度模算術(shù)運(yùn)算的性能。
一般而言,指令集體系結(jié)構(gòu)包括用于執(zhí)行多項(xiàng)式算術(shù)的指令。該指令包括一個(gè)或多個(gè)將此指令識(shí)別為用于執(zhí)行多項(xiàng)式算術(shù)運(yùn)算的指令的操作碼。此外,該指令識(shí)別一個(gè)或多個(gè)寄存器。通過使用所識(shí)別的寄存器來執(zhí)行多項(xiàng)式算術(shù)運(yùn)算,從而可對(duì)該指令加以處理。
實(shí)現(xiàn)可提供執(zhí)行二進(jìn)制多項(xiàng)式加法的指令,該指令可采用乘法器來實(shí)施。多項(xiàng)式算術(shù)運(yùn)算的結(jié)果可存于一個(gè)或多個(gè)結(jié)果寄存器中。多項(xiàng)式算術(shù)運(yùn)算可包括乘法,其中,使所標(biāo)識(shí)的寄存器的內(nèi)容相乘。運(yùn)算還可以包括多項(xiàng)式的乘加運(yùn)算,其中,所標(biāo)識(shí)的寄存器的內(nèi)容相乘然后加到一個(gè)或多個(gè)結(jié)果寄存器中。結(jié)果寄存器可包括高階寄存器和低階寄存器??蓪?duì)存于寄存器中的多項(xiàng)式進(jìn)行多項(xiàng)式算術(shù)運(yùn)算。多項(xiàng)式可編碼為系數(shù)的二進(jìn)制表示。
以下附圖和說明書中對(duì)一個(gè)或多個(gè)實(shí)現(xiàn)加以闡述。從說明書和附圖以及權(quán)利要求中可明顯看出本發(fā)明的其他特征和優(yōu)點(diǎn)。
圖1是可用于RISC體系結(jié)構(gòu)中的五級(jí)流水線示例的框圖,圖2是包括執(zhí)行核心和乘/除運(yùn)算單元的處理器核心的框圖。
圖3A和3B是執(zhí)行多項(xiàng)式乘法和加法的例示指令的指令編碼。
詳細(xì)說明許多公共密鑰密碼系統(tǒng)采用擴(kuò)展精度模運(yùn)算來對(duì)數(shù)據(jù)加密和解密。例如,多數(shù)橢圓曲線(EC)密碼系統(tǒng)大量采用二進(jìn)制多項(xiàng)式乘法和加法來對(duì)數(shù)據(jù)加密和解密。橢圓曲線密碼系統(tǒng)的性能可通過修改編程CPU乘法器以響應(yīng)新定義的專用于多項(xiàng)式運(yùn)算的指令來加以提高。
當(dāng)(如IEEE1363-2000標(biāo)準(zhǔn)所推薦的那樣)采用定義于GF(2163)上的橢圓曲線時(shí),所需的主要運(yùn)算是在GF(2163)域上的乘法運(yùn)算。在2163個(gè)元素中每一個(gè)元素可表示為系數(shù)為0或1的至多163次冪的多項(xiàng)式。在此表示中,兩個(gè)元素可以采用簡(jiǎn)單的按位異或相加,而兩個(gè)多項(xiàng)式a(X)和b(X)可通過計(jì)算a(X)b(X)mod P(X)而得到相乘的結(jié)果,乘積a(X)b(X)是326次多項(xiàng)式,P(X)是IEEE1363-2000標(biāo)準(zhǔn)規(guī)定的既約多項(xiàng)式。
多項(xiàng)式乘法與模數(shù)乘法具有相同的形式,在整數(shù)范圍內(nèi)執(zhí)行abmod p,不同之處在于(1)常規(guī)的加法由異或替代;和(2)常規(guī)的32位乘法由32位不帶進(jìn)位的乘法替代。因此,可采用移位和異或而不是移位和加法運(yùn)算來執(zhí)行多項(xiàng)式模數(shù)乘法運(yùn)算。
參考圖1,可用來實(shí)現(xiàn)多項(xiàng)式乘法運(yùn)算的示范性的微處理器結(jié)構(gòu)包括五級(jí)流水線,其中,指令可在每個(gè)時(shí)鐘周期發(fā)出并在固定的時(shí)間例如5個(gè)時(shí)鐘周期內(nèi)執(zhí)行。每條指令的執(zhí)行分成5步取指(IF)級(jí)1001,讀寄存器(RD)級(jí)1002,算術(shù)/邏輯單元(ALU)級(jí)1003,存儲(chǔ)(MEM)級(jí)1004和寫回(WB)級(jí)1005。在IF級(jí)1001中,從指令高速緩沖器中取出指定指令。所取指令的一部分用于指定可用于執(zhí)行指令的源寄存器。在讀寄存器(RD)級(jí)1002中,系統(tǒng)將指定源寄存器的內(nèi)容取出。所取得的值可用在ALU級(jí)1003中執(zhí)行算術(shù)或邏輯運(yùn)算。在MEM級(jí)1004中,執(zhí)行指令可讀/寫數(shù)據(jù)高速緩沖器中的存儲(chǔ)器。最后,在WB級(jí)1005中,通過執(zhí)行指令而獲得的值可寫回到某個(gè)寄存器中。
因?yàn)橛行┻\(yùn)算,例如浮點(diǎn)運(yùn)算和整數(shù)乘/除運(yùn)算未必能夠在一個(gè)時(shí)鐘周期內(nèi)完成,某些指令僅僅開始指令的執(zhí)行。在經(jīng)過足夠的時(shí)鐘周期后,另一指令可用于取回結(jié)果。例如,當(dāng)整數(shù)乘法指令花費(fèi)5個(gè)時(shí)鐘周期時(shí),一條指令可啟動(dòng)乘法計(jì)算,而另一條指令可在乘法運(yùn)算完成后將乘積裝入寄存器中。如果在需要結(jié)果的時(shí)候乘法運(yùn)算還未完成,流水線可停止直到結(jié)果可得。
參考圖2,作為示例給出示范性的RISC體系結(jié)構(gòu)。處理器核心2000(也稱為“微處理器核心”)包括如下單元執(zhí)行單元2010、乘/除運(yùn)算單元(MDU)2020、系統(tǒng)控制協(xié)處理器(CPO)2030、存儲(chǔ)管理單元2040、高速緩存控制器2050和總線接口單元(BIU)2060。
執(zhí)行單元2010是在處理器核心2000內(nèi)執(zhí)行指令的主要機(jī)構(gòu)。執(zhí)行單元2010包括寄存器陣列2011和算術(shù)邏輯單元(ALU)2012。在一種實(shí)現(xiàn)中,寄存器陣列2011包括32個(gè)可用于例如標(biāo)量整數(shù)運(yùn)算和地址計(jì)算的32位通用寄存器??蓪▋蓚€(gè)讀端口和一個(gè)寫端口的寄存器陣列2011完全旁路,以使流水線中的運(yùn)算延遲最小。ALU2012支持邏輯和算術(shù)運(yùn)算,例如加法、減法和移位。
MDU 2020執(zhí)行乘法和除法運(yùn)算。在一種實(shí)現(xiàn)中,MDU 2020包括32位乘16位(32×16)Booth編碼的(Booth-encoded)乘法器(未顯示)、結(jié)果寄存器(HI寄存器2021和LO寄存器2022)、除法狀態(tài)機(jī)以及執(zhí)行這些功能的所需的所有多路復(fù)用器和控制邏輯。在一種流水線式實(shí)現(xiàn)中,每時(shí)鐘周期可將32×16乘法運(yùn)算發(fā)送給MDU2020,以便每個(gè)時(shí)鐘周期32位的數(shù)可同16位的數(shù)相乘。但是直到乘法運(yùn)算完成后HI/LO寄存器(2021和2022)中才有可用結(jié)果??捎肕FHI和MFLO指令來訪問結(jié)果。這些指令將結(jié)果從HI寄存器2021和LO寄存器2022中分別移至指定的寄存器。例如“MFHI $7”將HI寄存器2021的內(nèi)容移至通用寄存器$7中。
乘-加(MADD/MADDU)和乘-減(MSUB/MSUBU)這兩條指令可用于執(zhí)行乘-加和乘-減運(yùn)算。MADD指令使兩個(gè)數(shù)相乘后再將乘積加到HI寄存器2021和LO寄存器2022的當(dāng)前內(nèi)容中。然后將結(jié)果存于HI/LO寄存器(2021和2022)中。類似地,MSUB指令使兩個(gè)操作數(shù)相乘后再將乘積從HI寄存器2021和LO寄存器2022中減去,然后將結(jié)果存于HI/LO寄存器(2021和2022)中。MADD和MSUB指令對(duì)符號(hào)數(shù)執(zhí)行運(yùn)算。MADDU和MSUBU指令對(duì)無符號(hào)數(shù)執(zhí)行類似運(yùn)算。
參考圖3A,提供了多項(xiàng)式乘法(MULTP)指令3010的示范性的指令編碼。MULTP指令3010有兩個(gè)寄存器字段,即rs 3011和rt3012,用于指定包含將要參與相乘的多項(xiàng)式的源寄存器。在乘運(yùn)算完成之后,結(jié)果存在HI寄存器2021和LO寄存器2022中。MULTP指令3010還包括一個(gè)或多個(gè)用于識(shí)別將要執(zhí)行的運(yùn)算的操作碼3013。在一些實(shí)現(xiàn)中,可以不用指令字段的一部分,例如字段3014。
在一種實(shí)現(xiàn)中,由rs 3011和rt 3012標(biāo)識(shí)的寄存器包含二進(jìn)制多項(xiàng)式(即模2化簡(jiǎn)的多項(xiàng)式系數(shù))。因此,各系數(shù)或?yàn)椤?”或?yàn)椤?”。在32位寄存器中對(duì)多項(xiàng)式進(jìn)行編碼,其中每一位表示一個(gè)多項(xiàng)式系數(shù)。例如將多項(xiàng)式“x4+x+1”編碼為“10011”,因?yàn)閤3和x2的系數(shù)為“0”,其余系數(shù)為“1”。
MULTP指令3010允許將兩個(gè)多項(xiàng)式相乘。例如,(x4+x+1)(x+1)=x5+x4+x2+2x+1。模2化簡(jiǎn)多項(xiàng)式得到x5+x4+x2+1。如果多項(xiàng)式以上述二進(jìn)制編碼,那么同一乘法可表示為(10011)(11)=110101。
指令和操作數(shù)的長(zhǎng)度可任意改變;所描述的32位設(shè)計(jì)僅為一個(gè)例子。在32位的實(shí)現(xiàn)中,存于rs 3011中的32位字的值可以同存于rt 3012中的32位字的值進(jìn)行多項(xiàng)式的乘法,即將兩個(gè)操作數(shù)均作為二進(jìn)制多項(xiàng)式值,以產(chǎn)生64位的結(jié)果。低階32位字可放在LO寄存器2022中,高階32位字結(jié)果可放在HI寄存器2021中。在某些實(shí)現(xiàn)中,不會(huì)發(fā)生運(yùn)算異常。如果由rs 3011和rt 3012所指定的寄存器不包含32位帶符號(hào)擴(kuò)展的值,那么運(yùn)算的結(jié)果可能無法預(yù)料。
參考圖3B,提供了多項(xiàng)式乘加(MADDP)指令3020的示范性指令編碼。MADDP指令3020有兩個(gè)參數(shù)字段,即rs 3021和rt 3022,用于指定源寄存器,該源寄存器包含要執(zhí)行乘法運(yùn)算并采用多項(xiàng)式加法(異或)加到HI 2021和LO 2022的內(nèi)容中的多項(xiàng)式。乘法和加法運(yùn)算完成之后,其結(jié)果存在HI寄存器2021和LO寄存器2022中。MADDP指令3020還可包括一個(gè)或多個(gè)識(shí)別所要執(zhí)行的運(yùn)算的操作碼3023。在一些實(shí)現(xiàn)中,可以不用指令段的一部分,例如字段3024。
MADDP指令3020執(zhí)行如上討論的乘法運(yùn)算。二進(jìn)制多項(xiàng)式加法類似于按位異或運(yùn)算。例如,二進(jìn)制多項(xiàng)式加(x4+x+1)+(x+1)的結(jié)果是x4+2x+2。模2化簡(jiǎn)系數(shù)得到x4,x4可表示為“10000”。
同樣地,指令和操作數(shù)的長(zhǎng)度可任意改變。在一種實(shí)現(xiàn)中,存于rs 3021的32位字的值可與存于rt 3022中的32位字的值作基于多項(xiàng)式的乘法運(yùn)算,即把兩個(gè)操作數(shù)均作為二進(jìn)制多項(xiàng)式的值,從而得到64位結(jié)果。然后該結(jié)果可采用多項(xiàng)式加法加到HI寄存器2021和LO寄存器2022中的內(nèi)容中。64位的結(jié)果包括低階32位字和高階32位字。低階32位字可放在LO寄存器2022中,高階32位字結(jié)果可放在HI寄存器2021中。如果由rs 3021和rt 3022指定的寄存器不包含32位帶符號(hào)擴(kuò)展的值,那么運(yùn)算的結(jié)果可能無法預(yù)料。
多項(xiàng)式算術(shù)的實(shí)現(xiàn)除可采用硬件(如在微處理器或微控制器內(nèi))實(shí)現(xiàn),還可用軟件實(shí)現(xiàn),所述軟件設(shè)置在例如經(jīng)配置用于存儲(chǔ)軟件(即計(jì)算機(jī)可讀程序代碼)的計(jì)算機(jī)可用(如可讀的)媒體中。所述程序代碼可使本說明書所公開的系統(tǒng)和技術(shù)的功能或構(gòu)造或者二者均得以實(shí)現(xiàn)。例如,這可以通過使用通用編程語言(如C,C++)、硬件描述語言(HDL)(包括Verilog HDL、VHDL、AHDL(Altera HDL)等)、或者其它可用的編程和/或電路捕獲工具來完成。程序代碼可配置在任何已知的計(jì)算機(jī)可用媒體中,包括半導(dǎo)體、磁碟片、光盤(例如CD-ROM,DVD-ROM),以及配置為實(shí)現(xiàn)于計(jì)算機(jī)可用(如可讀)傳輸媒體(如載波和任何別的包括數(shù)字的、光學(xué)的或基于模擬的媒體)中的計(jì)算機(jī)數(shù)據(jù)信號(hào)。這樣,代碼可通過包括因特網(wǎng)和企業(yè)內(nèi)部網(wǎng)的通信網(wǎng)絡(luò)來傳輸。
應(yīng)理解,上述系統(tǒng)和技術(shù)所完成的功能和/或所提供的結(jié)構(gòu)可以用于程序代碼來實(shí)現(xiàn)的核心(如微處理器核心)來表示,并且可轉(zhuǎn)換成作為集成電路產(chǎn)品一部分的硬件。所述系統(tǒng)和技術(shù)還可體現(xiàn)為硬件和軟件的組合。因此,其它實(shí)現(xiàn)方式也在以下權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種在指令集體系結(jié)構(gòu)中用于執(zhí)行多項(xiàng)式算術(shù)的指令,所述指令為所述指令集體系結(jié)構(gòu)的一部分并包括一個(gè)或多個(gè)將所述指令識(shí)別為用于執(zhí)行多項(xiàng)式算術(shù)運(yùn)算的指令的操作碼;和一個(gè)或多個(gè)寄存器標(biāo)識(shí)符;其中,使用所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符來執(zhí)行所述多項(xiàng)式算術(shù)運(yùn)算從而處理所述指令。
2.如權(quán)利要求1所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算為二進(jìn)制多項(xiàng)式加法。
3.如權(quán)利要求2所述的指令,其特征在于,所述二進(jìn)制多項(xiàng)式加法采用乘法器來執(zhí)行。
4.如權(quán)利要求1所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于一個(gè)或多個(gè)結(jié)果寄存器中。
5.如權(quán)利要求4所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算包括將由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符標(biāo)識(shí)的所述寄存器中的內(nèi)容相乘而得到一個(gè)中間值;以及將所述一個(gè)或多個(gè)結(jié)果寄存器的內(nèi)容與所述中間值相加而得到結(jié)果。
6.如權(quán)利要求5所述的指令,其特征在于,所述結(jié)果存于所述一個(gè)或多個(gè)結(jié)果寄存器中。
7.如權(quán)利要求1所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于高階結(jié)果寄存器和低階結(jié)果寄存器中。
8.如權(quán)利要求1所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算為多項(xiàng)式乘法。
9.如權(quán)利要求8所述的指令,其特征在于,由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符識(shí)別的各寄存器包含有多項(xiàng)式。
10.如權(quán)利要求9所述的指令,其特征在于,將每個(gè)多項(xiàng)式編碼為系數(shù)的二進(jìn)制表示。
11.如權(quán)利要求1所述的指令,其特征在于,所述指令集包括RISC指令集。
12.一種使用指令來執(zhí)行多項(xiàng)式算術(shù)的方法,所述方法包括接收指令,所述指令包括一個(gè)或多個(gè)將所述指令識(shí)別為用于執(zhí)行多項(xiàng)式算術(shù)運(yùn)算的指令的操作碼;和一個(gè)或多個(gè)寄存器標(biāo)識(shí)符;和通過處理所述指令利用所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符來執(zhí)行多項(xiàng)式算術(shù)運(yùn)算。
13.如權(quán)利要求12所述的方法,其特征在于,執(zhí)行所述多項(xiàng)式算術(shù)運(yùn)算包括執(zhí)行二進(jìn)制多項(xiàng)式加法。
14.如權(quán)利要求13所述的方法,其特征在于,執(zhí)行所述二進(jìn)制多項(xiàng)式加法包括使用乘法器。
15.如權(quán)利要求12所述的方法,其特征在于還包括將所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于一個(gè)或多個(gè)結(jié)果寄存器中。
16.如權(quán)利要求15所述的方法,其特征在于,執(zhí)行所述多項(xiàng)式算術(shù)運(yùn)算包括將由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符標(biāo)識(shí)的所述寄存器中的內(nèi)容相乘而得到一個(gè)中間值;和將所述一個(gè)或多個(gè)結(jié)果寄存器的內(nèi)容與所述中間值相加而得到結(jié)果。
17.如權(quán)利要求16所述的方法,其特征在于還包括將所述結(jié)果存于所述一個(gè)或多個(gè)結(jié)果寄存器中。
18.如權(quán)利要求12所述的方法,還包括將所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于高階結(jié)果寄存器和低階結(jié)果寄存器中。
19.如權(quán)利要求12所述的方法,其特征在于,執(zhí)行所述多項(xiàng)式算術(shù)運(yùn)算包括執(zhí)行多項(xiàng)式乘法。
20.如權(quán)利要求19所述的方法,其特征在于,由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符識(shí)別的媒體各寄存器包含多項(xiàng)式。
21.如權(quán)利要求20所述的方法,其特征在于,將每個(gè)多項(xiàng)式編碼為系數(shù)的二進(jìn)制表示。
22.如權(quán)利要求12所述的方法,其特征在于,所述指令為指令集的一部分,并且所述指令集包括RISC指令集。
23.一種包括用軟件實(shí)現(xiàn)的微處理器核心的計(jì)算機(jī)可讀媒體,所述微處理器核心包括用于執(zhí)行多項(xiàng)式算術(shù)的指令,所述指令包括將所述指令識(shí)別為一個(gè)或多個(gè)用于執(zhí)行多項(xiàng)式算術(shù)運(yùn)算的指令的操作碼;和一個(gè)或多個(gè)寄存器標(biāo)識(shí)符;其中,通過使用一個(gè)或多個(gè)寄存器標(biāo)識(shí)符來執(zhí)行所述多項(xiàng)式算術(shù)運(yùn)算從而處理所述指令。
24.如權(quán)利要求23所述的計(jì)算機(jī)可讀媒體,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算為二進(jìn)制多項(xiàng)式加法。
25.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒體,其特征在于,所述二進(jìn)制多項(xiàng)式加法采用乘法器來執(zhí)行。
26.如權(quán)利要求23所述的計(jì)算機(jī)可讀媒體,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于一個(gè)或多個(gè)結(jié)果寄存器中。
27.如權(quán)利要求26所述的計(jì)算機(jī)可讀媒體,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算包括將由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符標(biāo)識(shí)的所述寄存器中的內(nèi)容相乘而得到一個(gè)中間值;和將所述一個(gè)或多個(gè)結(jié)果寄存器的所述內(nèi)容與所述中間值相加而得到結(jié)果。
28.如權(quán)利要求27所述的計(jì)算機(jī)可讀媒體,其特征在于,所述結(jié)果存于所述一個(gè)或多個(gè)結(jié)果寄存器中。
29.如權(quán)利要求23所述的計(jì)算機(jī)可讀媒體,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于高階結(jié)果寄存器和低階結(jié)果寄存器中。
30.如權(quán)利要求23所述的計(jì)算機(jī)可讀媒體,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算是多項(xiàng)式乘法。
31.如權(quán)利要求30所述的計(jì)算機(jī)可讀媒體,其特征在于,由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符識(shí)別的各寄存器包含多項(xiàng)式。
32.如權(quán)利要求31所述的計(jì)算機(jī)可讀媒體,其特征在于,將每個(gè)多項(xiàng)式編碼為系數(shù)的二進(jìn)制表示。
33.如權(quán)利要求23所述的計(jì)算機(jī)可讀媒體,其特征在于,所述指令是指令集的一部分,并且所述指令集包括RISC指令集。
34.一種在公共密鑰密碼系統(tǒng)中用公共密鑰對(duì)信息加密的方法,所述方法包括用于執(zhí)行多項(xiàng)式算術(shù)的指令,所述指令包括一個(gè)或多個(gè)將所述指令識(shí)別為用于執(zhí)行多項(xiàng)式算術(shù)運(yùn)算的指令的操作碼;和一個(gè)或多個(gè)寄存器標(biāo)識(shí)符;其中,通過使用所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符來執(zhí)行所述多項(xiàng)式算術(shù)運(yùn)算從而處理所述指令。
35.如權(quán)利要求34所述的方法,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算是二進(jìn)制多項(xiàng)式加法。
36.如權(quán)利要求35所述的方法,其特征在于,所述二進(jìn)制多項(xiàng)式加法使用乘法器來執(zhí)行。
37.如權(quán)利要求34所述的方法,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于一個(gè)或多個(gè)結(jié)果寄存器中。
38.如權(quán)利要求37所述的方法,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算包括將由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符標(biāo)識(shí)的所述寄存器中的內(nèi)容相乘而得到一個(gè)中間值;和將所述一個(gè)或多個(gè)結(jié)果寄存器的內(nèi)容與所述中間值相加而得到結(jié)果。
39.如權(quán)利要求38所述的方法,其特征在于,所述結(jié)果存于所述一個(gè)或多個(gè)結(jié)果寄存器中。
40.如權(quán)利要求34所述的方法,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算的結(jié)果存于高階結(jié)果寄存器和低階結(jié)果寄存器中。
41.如權(quán)利要求34所述的方法,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算是多項(xiàng)式乘法。
42.如權(quán)利要求41所述的方法,其特征在于,由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符標(biāo)識(shí)的媒體各寄存器包含多項(xiàng)式。
43.如權(quán)利要求42所述的方法,其特征在于,將每個(gè)多項(xiàng)式編碼為系數(shù)的二進(jìn)制表示。
44.如權(quán)利要求34所述的方法,其特征在于,所述指令是指令集的一部分,并且所述指令集包括RISC指令集。
45.一種在微處理器中用于執(zhí)行多項(xiàng)式算術(shù)的指令,所述指令包括一個(gè)或多個(gè)將所述指令識(shí)別為用于執(zhí)行多項(xiàng)式算術(shù)運(yùn)算的指令的操作碼;和一個(gè)或多個(gè)寄存器標(biāo)識(shí)符;其中,通過使用所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符來執(zhí)行所述多項(xiàng)式算術(shù)運(yùn)算從而處理所述指令。
46.如權(quán)利要求45所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算是二進(jìn)制多項(xiàng)式加法。
47.如權(quán)利要求46所述的指令,其特征在于,所述二進(jìn)制多項(xiàng)式加法采用乘法器來執(zhí)行。
48.如權(quán)利要求45所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算包括將由所述一個(gè)或多個(gè)寄存器標(biāo)識(shí)符標(biāo)識(shí)的所述寄存器中的內(nèi)容相乘而得到一個(gè)中間值;和將所述一個(gè)或多個(gè)結(jié)果寄存器的內(nèi)容與所述中間值相加而得到結(jié)果。
49.如權(quán)利要求45所述的指令,其特征在于,所述多項(xiàng)式算術(shù)運(yùn)算是多項(xiàng)式乘法。
50.一種提供了一條或多條用于執(zhí)行多項(xiàng)式算術(shù)的指令的微處理器,所述微處理器包括指令存儲(chǔ)器;執(zhí)行單元,所述執(zhí)行單元從所述指令存儲(chǔ)器中取微處理器指令并處理所取指令;和多項(xiàng)式算術(shù)單元,如果所取指令是所述一條或多條用于執(zhí)行多項(xiàng)式算術(shù)的指令之一,則所述多項(xiàng)式算術(shù)單元在處理所取指令中由所述執(zhí)行單元使用。
51.如權(quán)利要求50所述的微處理器,其特征在于,所述微處理器還包括乘/除單元。
52.如權(quán)利要求51所述的微處理器,其特征在于,所述多項(xiàng)式算術(shù)單元是所述乘/除單元的部件。
53.如權(quán)利要求50所述的微處理器,其特征在于,所述多項(xiàng)式算術(shù)單元可用于執(zhí)行二進(jìn)制多項(xiàng)式加法。
54.如權(quán)利要求50所述的微處理器,其特征在于,所述多項(xiàng)式算術(shù)單元可用于執(zhí)行二進(jìn)制多項(xiàng)式乘法。
55.如權(quán)利要求50所述的微處理器,其特征在于,所述微處理器還包括用于存儲(chǔ)來自所述多項(xiàng)式算術(shù)單元的結(jié)果的結(jié)果寄存器。
56.如權(quán)利要求55所述的微處理器,其特征在于,通過執(zhí)行二進(jìn)制多項(xiàng)式乘法運(yùn)算以確定中間結(jié)果并將所述中間結(jié)果加到所述結(jié)果寄存器中,所述多項(xiàng)式算術(shù)單元可用于執(zhí)行二進(jìn)制多項(xiàng)式乘-加操作。
全文摘要
提供了指令集體系結(jié)構(gòu)(ISA)中的多項(xiàng)式運(yùn)算指令(3010)。還提供了多項(xiàng)式乘-加(MADDP)指令和多項(xiàng)式乘(MULTP)指令(3013)。
文檔編號(hào)G09C1/00GK1503939SQ02808541
公開日2004年6月9日 申請(qǐng)日期2002年2月15日 優(yōu)先權(quán)日2001年2月21日
發(fā)明者M·斯特里貝克, K·D·基斯塞爾, P·帕里爾, M 斯特里貝克, 基斯塞爾, 鋃 申請(qǐng)人:美普思科技有限公司