專利名稱::執(zhí)行浮點(diǎn)減法的裝置與方法及預(yù)測符號數(shù)字的裝置與方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及浮點(diǎn)減法,且特別涉及通過前導(dǎo)數(shù)字預(yù)測來正規(guī)化塊消去(masscancellation)的浮點(diǎn)減法結(jié)果。
背景技術(shù):
:第15次IEEE計(jì)算機(jī)運(yùn)算研討會(15thIEEESymposiumonComputerArithmetic,ARITH‘01)公報(bào)中kidel和Even發(fā)表的文章「OnthedesignofFastIEEEFloating-PointAdders」敘述了包含兩種不同路徑的浮點(diǎn)加法器設(shè)計(jì),此兩種不同路徑通常稱為「遠(yuǎn)路徑(farpath)」和「近路徑(nearpath)」,其為浮點(diǎn)加法器領(lǐng)域中的已有知識。近路徑計(jì)算有效減法(兩個(gè)運(yùn)算元具有不同符號(正負(fù)號)的加法指令或兩個(gè)運(yùn)算元具有相同符號的減法指令),其中近路徑中運(yùn)算元指數(shù)部分的差的絕對值小于或等于1,而遠(yuǎn)路徑計(jì)算其他所有的情況,也就是遠(yuǎn)路徑中運(yùn)算元指數(shù)部分的差的絕對值大于1。近路徑和遠(yuǎn)路徑并行地執(zhí)行有效浮點(diǎn)減法的指令,再根據(jù)指數(shù)部分的差來選擇最后的結(jié)果。在近路徑計(jì)算中,執(zhí)行有效減法可能會消去數(shù)值意義的數(shù)個(gè)前導(dǎo)數(shù)字(leadingdigits,又稱之為前導(dǎo)數(shù)元),有時(shí)又稱為「大量消去(masscancellation)」或塊消去。因此,必須放置最高有效數(shù)字(mostsignificantdigit,又稱之為最高有效數(shù)元)并將其左移以產(chǎn)生正規(guī)形式的表示法,此過程通常稱為「正規(guī)化(normalization)」。在本文中,希望可以預(yù)測在減法中會被消去的前導(dǎo)有效數(shù)字(leadingsignificantdigits,t,又稱之為前導(dǎo)有效數(shù)元)的數(shù)量。此預(yù)測和尾數(shù)(mantissa)部分的減法并行進(jìn)行(或叫平行進(jìn)行),此并行進(jìn)行是相對于等待真正位差計(jì)算出來后再列舉被消去的前導(dǎo)有效數(shù)字,并行進(jìn)行可大規(guī)模地加速列舉被消去的前導(dǎo)有效數(shù)字。因此可以加速整個(gè)正規(guī)化過程。以下列被減數(shù)A減去減數(shù)B的減法為例A=10110111B=10110010A-B=00000101B-A=11111010(1的補(bǔ)數(shù)表示法)在A-B的情況中,發(fā)生5個(gè)有效數(shù)字的塊消去,造成具有5個(gè)前導(dǎo)0的正數(shù)結(jié)果。在B-A的情況中,發(fā)生5個(gè)有效數(shù)字的塊消去,造成具有5個(gè)前導(dǎo)1的負(fù)數(shù)結(jié)果,或者說造成具有5個(gè)等于1的符號位的負(fù)數(shù)結(jié)果。在兩種情況中,最高有效數(shù)字位于第三最低有效數(shù)字的位置,因此需要向左移5個(gè)位以正規(guī)化相減所得的差。如上列所述,如果能預(yù)測在減法中將有5個(gè)前導(dǎo)有效數(shù)字被消去則可以大規(guī)模地加速正規(guī)化。預(yù)測前導(dǎo)0/前導(dǎo)1/前導(dǎo)符號位的概念已被大量研究,可追溯至Kershaw等人早期發(fā)表的成果,“AProgrammableDigitalSignalProcessorwith32-bitFloating-PointArithmetic,,,IEEESolidStateCircuitsConference,DigestofPaper,1985,pp.92-9·,隨后Schmookler禾口Nowka概述于“LeadingZeroAnticipationandDetection-ΑComparisonofMethods”,Proceedingsofthe15thIEEESymposiumonComputerArithmetic,2011o附加技術(shù)公開于上列提及的kidel和Even的論文中。關(guān)于兩個(gè)輸入值P和Q,對執(zhí)行有效減法的加法器而言,所得結(jié)果的差中的前導(dǎo)O字串可通過(ZVTGZ)的樣式比對(patternmatch)來預(yù)測,其中Z*表示1個(gè)或更多個(gè)Z的字串,T*表示1個(gè)或更多個(gè)T的字串,且其中Ti=PiXORQi,Gi=PiANDQi,Zi=(!Pi)AND(!Qi),其中Pi和A分別為ρ和Q相對應(yīng)的位,TpGi和τ、為Pi和A的樣式比對函數(shù)值。同樣地,前導(dǎo)O字串或其值為1的前導(dǎo)符號位字串可通過(GVTZ(T)的樣式比對來預(yù)測。如同khmookler和Nowka在第2段中所表示在大多數(shù)文獻(xiàn)中,前導(dǎo)O這個(gè)名詞表示在第一個(gè)1之前的O的開頭字串,而前導(dǎo)1表示在第一個(gè)O之前的1的開頭字串。盡管如此,由于一些論文中使用前導(dǎo)1預(yù)測器(leadingonepredictor)來表示在O的開頭字串之后所出現(xiàn)的第一個(gè)1,可能會造成一些混淆,因此,在本文中我們避免使用這樣的字詞。Oberman等人的美國專利6,085,208的標(biāo)題為「浮點(diǎn)運(yùn)算單元中正規(guī)化閉合路徑的減法結(jié)果的前導(dǎo)1預(yù)測單元(leadingonepredictionunitfornormalizingclosepathsubtractionresultswithinafloatingpointarithmeticunit)」。Oberman·人公開一預(yù)測器(predictor),其預(yù)測在兩個(gè)輸入值之間預(yù)設(shè)為正的差之中,連續(xù)前導(dǎo)O字串(也就是O或更多個(gè)0)后的第一個(gè)1位(也就是第一有效數(shù)字)的位置。因此他們使用「前導(dǎo)1預(yù)測單元」這個(gè)詞。或者說,Oberman等人公開了一前導(dǎo)O預(yù)測器,其提供一預(yù)測字串,該預(yù)測字串用來預(yù)測在預(yù)設(shè)為正的差之中因?yàn)閴K消去而出現(xiàn)的前導(dǎo)O的數(shù)量,因此,為了避免如khmookler和Nowka所述的混淆,本發(fā)明將使用「前導(dǎo)O預(yù)測單元」來指稱Oberman等人的預(yù)測單元,而不使用如其標(biāo)題中的「前導(dǎo)1預(yù)測單元」。Oberman等人的前導(dǎo)O預(yù)測單元提供近路徑減法器的預(yù)測,該近路徑減法器進(jìn)行兩個(gè)輸入值的有效減法,并預(yù)設(shè)該兩個(gè)輸入值的指數(shù)部分之間的差為+1或-1,且將輸入值排序以使較大量值的輸入值減去較小量值的輸入值并產(chǎn)生正的相減結(jié)果。由于當(dāng)指數(shù)部分的差為+1或-1時(shí)將輸入值排序以預(yù)設(shè)相減結(jié)果為負(fù),Oberman等人可以提供一最佳化的前導(dǎo)O預(yù)測單元以減少所需的空間,并且與現(xiàn)有技術(shù)的預(yù)測單元相比更能增加效能,其中現(xiàn)有技術(shù)的預(yù)測單元僅預(yù)設(shè)尾數(shù)部分的差為正但是沒有預(yù)設(shè)指數(shù)部分的差為+1或-1,預(yù)設(shè)指數(shù)部分的差為+1或-ι相對于兩者皆未預(yù)設(shè)的現(xiàn)有技術(shù)的一般預(yù)測單元更是一大進(jìn)步。
發(fā)明內(nèi)容本發(fā)明的一實(shí)施例提供一種執(zhí)行浮點(diǎn)有效減法的裝置,其中該裝置運(yùn)算二個(gè)浮點(diǎn)輸入值,其包括第一浮點(diǎn)輸入值和第二浮點(diǎn)輸入值的,該等浮點(diǎn)輸入值包括一無符號量值(unsignedmagnitude)的一尾數(shù)和一指數(shù),該裝置包括線路和邏輯,其配置為將該第一浮點(diǎn)輸入值的尾數(shù)擴(kuò)展一位的O、左移一位、并反相以生成第一加數(shù),其中該第一浮點(diǎn)輸入值的指數(shù)比該第二浮點(diǎn)輸入值的指數(shù)大1;以及將該第二浮點(diǎn)輸入值擴(kuò)展一位的O以生成第二加數(shù);一加法器,其配置為加總該第一加數(shù)和該第二加數(shù),其中該加法器針對該線路和邏輯所生成的該第一加數(shù)和該第二加數(shù)加總以產(chǎn)生一負(fù)差;一反相器,其配置為將該負(fù)反相以生成一非正規(guī)化尾數(shù);多個(gè)二輸入與非門,其配置為對該第一加數(shù)和該第二加數(shù)執(zhí)行一布林與非函數(shù)(BooleanNANDfunction)以生成一預(yù)測字串;以及一移位器,其配置為根據(jù)該預(yù)測字串將該非正規(guī)化尾數(shù)左移一移位數(shù)量個(gè)位(即也稱之為左移一移位數(shù)量個(gè)位元)以生成一正規(guī)化尾數(shù)結(jié)果。本發(fā)明的另一實(shí)施例提供一種執(zhí)行浮點(diǎn)有效減法的方法,其包括具有第一浮點(diǎn)輸入值和第二浮點(diǎn)輸入值的二個(gè)浮點(diǎn)輸入值,該等浮點(diǎn)輸入值包括一無符號量值的尾數(shù)和一指數(shù),該方法包括測定該第一浮點(diǎn)輸入值的指數(shù)比該第二浮點(diǎn)輸入值的指數(shù)大1;將該第一浮點(diǎn)輸入值的尾數(shù)擴(kuò)展一位的0、左移一位并反相以生成第一加數(shù),其中該第一浮點(diǎn)輸入值的指數(shù)比該第二浮點(diǎn)輸入值的指數(shù)大1;將該第二浮點(diǎn)輸入值擴(kuò)展一位的0以生成第二加數(shù);加總該第一加數(shù)和該第二加數(shù),其中所述加總流程針對通過將該第一浮點(diǎn)輸入值的尾數(shù)擴(kuò)展一位的0、左移一位并反相所得的該第一加數(shù)以及通過將該第二浮點(diǎn)輸入值擴(kuò)展一位的0所得的該第二加數(shù)加總以生成一負(fù)差;反相該負(fù)差以生成一非正規(guī)化尾數(shù);執(zhí)行一布林與非函數(shù)于該第一加數(shù)和該第二加數(shù)以產(chǎn)生一預(yù)測字串;以及根據(jù)該預(yù)測字串將該非正規(guī)化尾數(shù)左移一移位數(shù)量個(gè)位以生成一正規(guī)化尾數(shù)結(jié)果。本發(fā)明的另一實(shí)施例提供一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的裝置,該裝置包括一比較器,其配置為測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值的差異不超過一個(gè)數(shù)字位置(digitposition,又稱之為數(shù)元位置),其中該第一數(shù)大于該第二數(shù),其中該第一數(shù)被指定為減數(shù)且該第二數(shù)被指定為被減數(shù);線路和邏輯,其配置為相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù),并將該對位減數(shù)反相以產(chǎn)生一反相對位減數(shù);多個(gè)與非門,其配置為執(zhí)行一布林與非函數(shù)于該被減數(shù)以及該反相對位減數(shù)的相對應(yīng)數(shù)字上以產(chǎn)生位的預(yù)測字串,其中一0值被對位至該預(yù)測字串的最高有效位;其中該預(yù)測字串的一前導(dǎo)0字串預(yù)測該被減數(shù)和該對位減數(shù)之間的負(fù)差的相對應(yīng)的前導(dǎo)符號數(shù)字字串。本發(fā)明的另一實(shí)施例提供一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,包括測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值差異不超過一個(gè)數(shù)字位置,其中該第一數(shù)大于該第二數(shù);指定該第一數(shù)為減數(shù)并指定該第二數(shù)為被減數(shù);相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù);反相該對位減數(shù)以產(chǎn)生一反相(invert)對位減數(shù)(alignedsubtrahend);執(zhí)行一布林與非函數(shù)于該被減數(shù)以及該反相對位減數(shù)的相對應(yīng)數(shù)字上以產(chǎn)生位(bit,又稱之為位元)的預(yù)測字串;對位(assign)—0值至該預(yù)測字串的最高有效位;以及利用該預(yù)測字串的相對應(yīng)的前導(dǎo)0字串預(yù)測該被減數(shù)(minuend)和該對位減數(shù)(alignedsubtrahend)之間的負(fù)差(negativedifference)的前導(dǎo)符號數(shù)字(leadingsigndigit)字串(string)。本發(fā)明的另一實(shí)施例提供一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字(leadingsigndigit,也稱之為前導(dǎo)符號數(shù)元)的裝置,該裝置包括比較邏輯,其配置為測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值差異不超過一個(gè)數(shù)字位置,其中該第一數(shù)大于該第二數(shù),其中該第一數(shù)被指定為減數(shù)且該第二數(shù)被指定為被減數(shù);線路和邏輯,其配置為相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù),并將該對位減數(shù)反相以產(chǎn)生一反相對位減數(shù);一算術(shù)單元,其配置為針對該被減數(shù)和該反相對位減數(shù)產(chǎn)生一負(fù)差;以及一前導(dǎo)符號預(yù)測器,其配置為產(chǎn)生該被減數(shù)和該反相對位減數(shù)的該負(fù)差的前導(dǎo)符號數(shù)字的預(yù)測。本發(fā)明的另一實(shí)施例提供一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,該方法包括測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值差異不超過一個(gè)數(shù)字位置,其中該第一數(shù)大于該第二數(shù);指定該第一數(shù)為減數(shù)且指定該第二數(shù)為被減數(shù);相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù);反相該對位減數(shù)以產(chǎn)生一反相對位減數(shù);將該被減數(shù)與該反相對位減數(shù)指示給一二進(jìn)位加法器以產(chǎn)生一負(fù)差;以及將該被減數(shù)與該反相對位減數(shù)指示給一前導(dǎo)符號預(yù)測器以產(chǎn)生該負(fù)差的前導(dǎo)符號數(shù)字的預(yù)測。圖1所示為根據(jù)本發(fā)明的微處理器示意圖,其中該微處理器包含浮點(diǎn)近路徑加法單元;圖2所示為表現(xiàn)出圖1中的微處理器的近路徑加法單元的更多細(xì)節(jié)的示意圖,其中包含前導(dǎo)1預(yù)測器;圖3A與圖;3B所示分別為圖2中的前導(dǎo)1預(yù)測器241及216的示意圖4所示為圖2中的近路徑加法單元的操作流程圖5所示為圖2中的近路徑加法單元的操作范例;圖6所示為圖1中的近路徑加法單元的交替實(shí)施例的示意圖。主要元件符號說明100微處理器;102指令快取存儲器;104指令轉(zhuǎn)譯器;112寄存器別名表;114預(yù)留站;116執(zhí)行單元;118引退單元;122數(shù)據(jù)快取存儲器;124寄存器集;132近路徑加法單元;134遠(yuǎn)路徑加法單元;136浮點(diǎn)單元;138其他執(zhí)行單元;202指數(shù)比較器;206、208、232、234、244、246多工器;212加法器;214、216前導(dǎo)1預(yù)測器;218前導(dǎo)數(shù)字預(yù)測器;228反相器陣列;236前導(dǎo)0編碼器;238、248左移位器;252線路;254指數(shù)調(diào)整邏輯;256線路和邏輯;277尾數(shù)值;297指數(shù)值;281、283預(yù)測字串;332與非門;402、403......428步驟;MSB最高有效位。具體實(shí)施方式本發(fā)明公開一浮點(diǎn)單元,其執(zhí)行近路徑有效減法并通過將輸入值排序以指定較小量值的輸入值為被減數(shù)且指定較大量值的輸入值為減數(shù)以產(chǎn)生負(fù)的差值。當(dāng)指數(shù)部分的差為+1或-1時(shí),有效地排序輸入值以預(yù)設(shè)減法結(jié)果為負(fù),允許一伴隨而生的前導(dǎo)1預(yù)測器提供用來預(yù)測該負(fù)的減法結(jié)果中前導(dǎo)1的數(shù)量的預(yù)測字串。該前導(dǎo)1預(yù)測器包括一與非門(NANDgate)陣列,如上列述,其可有利地減少空間需求并且相對于現(xiàn)有技術(shù)中的前導(dǎo)數(shù)字預(yù)測器更能增加效能,尤其是以互補(bǔ)金屬氧化物半導(dǎo)體(CM0Q半導(dǎo)體技術(shù)來實(shí)現(xiàn)。此處敘述的前導(dǎo)1預(yù)測器同時(shí)也被稱為前導(dǎo)符號數(shù)字預(yù)測器,因?yàn)樵谪?fù)的差值下,其提供用來預(yù)測前導(dǎo)符號數(shù)字或前導(dǎo)1的數(shù)量的預(yù)測字串。參照圖1,其表示包括浮點(diǎn)近路徑加法單元的微處理器(microprocessor)100的示意圖。微處理器100包括指令快取存儲器(instructioncache)102,其快取(cache)從系統(tǒng)存儲器(未表示在圖中)取出的指令。指令轉(zhuǎn)譯器(instructiontranslator)104從快取存儲器102接收指令,例如X86指令集架構(gòu)(instructionsetarchitecture)的浮點(diǎn)指令。寄存器別名表(registeraliastable,以下簡稱為RAT)112從指令轉(zhuǎn)譯器104接收轉(zhuǎn)譯過的微指令并產(chǎn)生轉(zhuǎn)譯過的微指令的相依信息。預(yù)留站(reservationstation,又稱之為保留站)114從RAT112接收轉(zhuǎn)譯過的微指令以及相依信息。執(zhí)行單元(executionunit)116從預(yù)留站114接收轉(zhuǎn)譯過的微指令并且接收轉(zhuǎn)譯過的微指令的指令運(yùn)算元。這些運(yùn)算元可來自寄存器集124以及來自耦接至執(zhí)行單元116的數(shù)據(jù)快取存儲器122。引退單元(retireunit)118從執(zhí)行單元116接收指令結(jié)果,并且將結(jié)果引退至微處理器100的架構(gòu)狀態(tài)(architecturalstate)。執(zhí)行單元116包括浮點(diǎn)單元136和其他執(zhí)行單元138。浮點(diǎn)單元136包括近路徑加法單元132和遠(yuǎn)路徑加法器134。選擇近路徑加法單元132的有效減法結(jié)果的條件為運(yùn)算元的指數(shù)部分的差的絕對值小于或等于1,而在其他條件時(shí)則選擇遠(yuǎn)路徑加法器134的結(jié)果。(盡管如此,須注意的是,如果近路徑加法單元132的有效減法結(jié)果需要比尾數(shù)存儲大小所能提供的位多一個(gè)或多數(shù)個(gè)表示位,則該計(jì)算預(yù)留為遠(yuǎn)路徑所提供的環(huán)狀運(yùn)算(roundcalculation))0參照圖2,其顯示圖1中的微處理器的近路徑加法單元132的更多細(xì)節(jié)的示意圖,其中包含前導(dǎo)1預(yù)測器。近路徑加法單元132接收一指令,其指定兩個(gè)浮點(diǎn)源運(yùn)算元。不管這些源運(yùn)算元是否被正規(guī)化且不管這些源運(yùn)算元在該指令中出現(xiàn)的順序,當(dāng)這些源運(yùn)算元出現(xiàn)在如圖2中所示的近路徑加法單元132的部分時(shí),如果需要,則微處理器100的運(yùn)算元感測電路會將這些源運(yùn)算元正規(guī)化為正規(guī)化輸入運(yùn)算元op-A和正規(guī)化輸入運(yùn)算元op-B,且近路徑加法單元132決定需要計(jì)算op-A和op-B之間的數(shù)學(xué)差以執(zhí)行指令來產(chǎn)生其需要的結(jié)果,其結(jié)果可能也是正規(guī)化的浮點(diǎn)值。近路徑加法單元132包括二前導(dǎo)1預(yù)測器214和216,每個(gè)該等前導(dǎo)1預(yù)測器包括與非門陣列或一維排列的多個(gè)與非門,其僅招致一單一與非門延遲,并預(yù)測正規(guī)化潛在非正規(guī)化尾數(shù)差結(jié)果271時(shí)所需要左移的數(shù)量。如果非正規(guī)化尾數(shù)差結(jié)果271為非零的值,則其最高有效數(shù)字并未在期望的存儲格式中靠左對位。如同此處的討論,作為優(yōu)點(diǎn),前導(dǎo)1預(yù)測器214和216的與非門可能普遍地比現(xiàn)有技術(shù)的前導(dǎo)數(shù)字預(yù)測器更為塊且更小,尤其是當(dāng)以CMOS技術(shù)實(shí)現(xiàn)時(shí)。每個(gè)正規(guī)化的輸入運(yùn)算元op-A和op-B包括一符號位、一指數(shù)值(標(biāo)示為EXP-A或EXP-B)以及一正規(guī)化且量值無符號(unsignedmagnitude)的尾數(shù)值。為簡化起見,在圖2中輸入運(yùn)算元op-A的尾數(shù)簡單地以B表示。除此之外,近路徑加法單元132所產(chǎn)生的結(jié)果包括一符號位和一指數(shù)值,以及在一實(shí)施例中還包括一正規(guī)化且量值無符號的尾數(shù)值。在圖2中,該正規(guī)化且量值無符號的尾數(shù)值標(biāo)示為277。在一實(shí)施例中,源運(yùn)算元可為三種x-86浮點(diǎn)形式中的任何一個(gè),即為人所熟知的x-86單精度(singleprecision)、雙倍精度(doubleprecision)以及擴(kuò)展雙精度(double-extendedprecision)格式。盡管如此,本發(fā)明并不局限于此三個(gè)格式并且本發(fā)明可以利用其他浮點(diǎn)格式實(shí)施。近路徑加法單元132預(yù)設(shè)EXP-A值和EXP-B值之間的差為+1、0或_1。此外,浮點(diǎn)加法單元的遠(yuǎn)路徑部分會產(chǎn)生正確的指令結(jié)果。因此,如果EXP-A值大于EXP-B值,近路徑加法單元132預(yù)設(shè)EXP-A值和EXP-B值之間的差為+1,則需要在執(zhí)行有效減法之前將尾數(shù)值A(chǔ)對位。如果EXP-A值小于EXP-B值,近路徑加法單元132預(yù)設(shè)EXP-A值和EXP-B值之間的差為-1,則需要在執(zhí)行有效減法之前將尾數(shù)值B對位。因此,根據(jù)一實(shí)施例,近路徑加法單元132包括導(dǎo)線和邏輯256以產(chǎn)生輸入尾數(shù)A和B的補(bǔ)數(shù)形式(complementform),并從原始形式和補(bǔ)數(shù)形式的A和B形成在中間潛在倒轉(zhuǎn)且對位的值。該中間值(intermediatevalue)全部比A和B的寬度多一個(gè)位以在EXP-A值和EXP-B值之間的差為1的情況下容納1位對位(alignmentbyonebit)。線路和邏輯256通過連結(jié)O至A值以形成標(biāo)示為C的第一中間值,其中連結(jié)至A值的O為C的最高有效數(shù)字。因此,C為A的一位O擴(kuò)展形式(one-bitzero-extendedform)。線路和邏輯256通過連結(jié)O至B值以形成標(biāo)示為D的第二中間值,其中連結(jié)至B值的O為D的最高有效數(shù)字。因此,D為B的一位O擴(kuò)展形式。線路和邏輯256通過連結(jié)1至A的補(bǔ)數(shù)值(complementedvalue)以形成標(biāo)示為E的第三中間值,其中連結(jié)至A的補(bǔ)數(shù)值的1為E的最低有效數(shù)字。因此,E為A在op-A指數(shù)值比op-B指數(shù)值多1的情況下在對位之后反相所得的形式。線路和邏輯256通過連結(jié)1至B的補(bǔ)數(shù)值以形成標(biāo)示為F的第四中間值,其中連結(jié)至B的補(bǔ)數(shù)值的1為F的最低有效數(shù)字。因此,F(xiàn)為B在op-B指數(shù)值比op-A指數(shù)值多1的情況下在對位之后反相所得的形式。線路和邏輯256通過連結(jié)1至A的補(bǔ)數(shù)值以形成標(biāo)示為G的第五中間值,其中連結(jié)至A的補(bǔ)數(shù)值的1為G的最高有效數(shù)字。因此,G為A反相形式。該等中間值總結(jié)于表格1并在圖2中表示。權(quán)利要求1.一種執(zhí)行浮點(diǎn)有效減法的裝置,其中該裝置運(yùn)算二個(gè)浮點(diǎn)輸入值,包括第一浮點(diǎn)輸入值和第二浮點(diǎn)輸入值,該等浮點(diǎn)輸入值包括一無符號量值(unsignedmagnitude)的一尾數(shù)和一指數(shù),該裝置包括線路和邏輯,其配置為將該第一浮點(diǎn)輸入值的尾數(shù)擴(kuò)展一位的0、左移一位、并反相以生成第一加數(shù),其中該第一浮點(diǎn)輸入值的指數(shù)比該第二浮點(diǎn)輸入值的指數(shù)大1;以及將該第二浮點(diǎn)輸入值擴(kuò)展一位的0以生成第二加數(shù);一加法器,其配置為加總該第一加數(shù)和該第二加數(shù),其中該加法器針對該線路和邏輯所生成的該第一加數(shù)和該第二加數(shù)加總以產(chǎn)生一負(fù)差;一反相器,其配置為將該負(fù)差反相以生成一非正規(guī)化尾數(shù);多個(gè)二輸入與非門,其配置為對該第一加數(shù)和該第二加數(shù)執(zhí)行一布林與非函數(shù)以生成一預(yù)測字串;以及一移位器,其配置為根據(jù)該預(yù)測字串將該非正規(guī)化尾數(shù)左移一移位數(shù)量個(gè)位以生成一正規(guī)化尾數(shù)結(jié)果。2.如權(quán)利要求1所述的執(zhí)行浮點(diǎn)有效減法的裝置,還包括一前導(dǎo)0編碼器,其配置為編碼該預(yù)測字串中前導(dǎo)0的數(shù)量以生成該移位數(shù)量。3.如權(quán)利要求1所述的執(zhí)行浮點(diǎn)有效減法的裝置,還包括一第二線路和邏輯,其配置為若該正規(guī)化尾數(shù)結(jié)果的最高有效位為0,則將該正規(guī)化尾數(shù)結(jié)果左移一額外位。4.如權(quán)利要求1所述的執(zhí)行浮點(diǎn)有效減法的裝置,其中該加法器在加總該第一加數(shù)和該第二加數(shù)的同時(shí)該多個(gè)二輸入與非門對該第一加數(shù)和該第二加數(shù)執(zhí)行該布林與非函數(shù)。5.如權(quán)利要求1所述的執(zhí)行浮點(diǎn)有效減法的裝置,還包括一比較器,其配置為測定該第一浮點(diǎn)輸入值的指數(shù)比該第二浮點(diǎn)輸入值的指數(shù)大1。6.一種執(zhí)行浮點(diǎn)有效減法的方法,其包括具有第一浮點(diǎn)輸入值和第二浮點(diǎn)輸入值的二個(gè)浮點(diǎn)輸入值,該等浮點(diǎn)輸入值包括一無符號量值的尾數(shù)和一指數(shù),該方法包括測定該第一浮點(diǎn)輸入值的指數(shù)比該第二浮點(diǎn)輸入值的指數(shù)大1;將該第一浮點(diǎn)輸入值的尾數(shù)擴(kuò)展一位的0、左移一位并反相以生成第一加數(shù),其中該第一浮點(diǎn)輸入值的指數(shù)比該第二浮點(diǎn)輸入值的指數(shù)大1;將該第二浮點(diǎn)輸入值擴(kuò)展一位的0以生成第二加數(shù);加總該第一加數(shù)和該第二加數(shù),其中所述加總流程系針對通過將該第一浮點(diǎn)輸入值的尾數(shù)擴(kuò)展一位的0、左移一位并反相所得的該第一加數(shù)以及通過將該第二浮點(diǎn)輸入值擴(kuò)展一位的0所得的該第二加數(shù)加總以生成一負(fù)差;反相該負(fù)差以生成一非正規(guī)化尾數(shù);執(zhí)行一布林與非函數(shù)于該第一加數(shù)和該第二加數(shù)以產(chǎn)生一預(yù)測字串;以及根據(jù)該預(yù)測字串將該非正規(guī)化尾數(shù)左移一移位數(shù)量個(gè)位以生成一正規(guī)化尾數(shù)結(jié)果。7.如權(quán)利要求6所述的執(zhí)行浮點(diǎn)有效減法方法,其中所述根據(jù)該預(yù)測字串將該非正規(guī)化尾數(shù)左移該移位數(shù)量個(gè)位以生成該正規(guī)化尾數(shù)結(jié)果包括編碼該預(yù)測字串中前導(dǎo)0的數(shù)量以生成該移位數(shù)量。8.如權(quán)利要求6所述的執(zhí)行浮點(diǎn)有效減法方法,還包括如果該正規(guī)化尾數(shù)結(jié)果的最高有效位為0,則將該正規(guī)化尾數(shù)結(jié)果左移一額外位。9.一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的裝置,該裝置包括一比較器,其配置為測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值的差異不超過一個(gè)數(shù)字位置,其中該第一數(shù)大于該第二數(shù),其中該第一數(shù)被指定為減數(shù)且該第二數(shù)被指定為被減數(shù);線路和邏輯,其配置為相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù),并將該對位減數(shù)反相以產(chǎn)生一反相對位減數(shù);多個(gè)與非門,其配置為執(zhí)行一布林與非函數(shù)于該被減數(shù)以及該反相對位減數(shù)的相對應(yīng)數(shù)字上以產(chǎn)生位的預(yù)測字串,其中一0值被對位至該預(yù)測字串的最高有效位;其中該預(yù)測字串的一前導(dǎo)0字串預(yù)測該被減數(shù)和該對位減數(shù)之間的負(fù)差的相對應(yīng)的前導(dǎo)符號數(shù)字字串。10.如權(quán)利要求9項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的裝置,其中其值為1的該預(yù)測字串的最高有效位位置預(yù)測該被減數(shù)與該對位減數(shù)之間的負(fù)差的最高有效位位置。11.一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,包括測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值差異不超過一個(gè)數(shù)字位置,其中該第一數(shù)大于該第二數(shù);指定該第一數(shù)為減數(shù)并指定該第二數(shù)為被減數(shù);相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù);反相該對位減數(shù)以產(chǎn)生一反相對位減數(shù);執(zhí)行一布林與非函數(shù)于該被減數(shù)以及該反相對位減數(shù)的相對應(yīng)數(shù)字上以產(chǎn)生位的預(yù)測字串;對位一0值至該預(yù)測字串的最高有效位;以及利用該預(yù)測字串的相對應(yīng)的前導(dǎo)0字串預(yù)測該被減數(shù)和該對位減數(shù)之間的負(fù)差的前導(dǎo)符號數(shù)字字串。12.如權(quán)利要求11項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,其中其值為1的該預(yù)測字串的最高有效位位置預(yù)測該被減數(shù)與該對位減數(shù)之間的負(fù)差的最高有效位位置。13.一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的裝置,該裝置包括比較邏輯,其配置為測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值差異不超過一個(gè)數(shù)字位置,其中該第一數(shù)大于該第二數(shù),其中該第一數(shù)被指定為減數(shù)且該第二數(shù)被指定為被減數(shù);線路和邏輯,其配置為相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù),并將該對位減數(shù)反相以產(chǎn)生一反相對位減數(shù);一算術(shù)單元,其配置為針對該被減數(shù)和該反相對位減數(shù)產(chǎn)生一負(fù)差;以及一前導(dǎo)符號預(yù)測器,其配置為產(chǎn)生該被減數(shù)和該反相對位減數(shù)的該負(fù)差的前導(dǎo)符號數(shù)字的預(yù)測。14.如權(quán)利要求13項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的裝置,其中該前導(dǎo)符號預(yù)測器包括多個(gè)布林與非門,其配置為執(zhí)行一布林與非函數(shù)于該被減數(shù)以及該反相對位減數(shù)的相對應(yīng)數(shù)字上以產(chǎn)生該負(fù)差的前導(dǎo)符號數(shù)字的該預(yù)測。15.如權(quán)利要求13項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的裝置,其中該預(yù)測通過該預(yù)測相對應(yīng)前導(dǎo)0字串預(yù)測該負(fù)差的前導(dǎo)符號字串。16.如權(quán)利要求13項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的裝置,其中該預(yù)測通過該預(yù)測相對應(yīng)前導(dǎo)1字串預(yù)測該負(fù)差的前導(dǎo)符號字串。17.一種預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,該方法包括測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值差異不超過一個(gè)數(shù)字位置,其中該第一數(shù)大于該第二數(shù);指定該第一數(shù)為減數(shù)且指定該第二數(shù)為被減數(shù);相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù);反相該對位減數(shù)以產(chǎn)生一反相對位減數(shù);將該被減數(shù)與該反相對位減數(shù)指示給一二進(jìn)位加法器以產(chǎn)生一負(fù)差;以及將該被減數(shù)與該反相對位減數(shù)指示給一前導(dǎo)符號預(yù)測器以產(chǎn)生該負(fù)差的前導(dǎo)符號數(shù)字的預(yù)測。18.如權(quán)利要求17項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,更進(jìn)一步包括執(zhí)行一布林與非函數(shù)于該被減數(shù)以及該反相對位減數(shù)的相對應(yīng)數(shù)字上以產(chǎn)生該負(fù)差的前導(dǎo)符號數(shù)字的該預(yù)測。19.如權(quán)利要求17項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,其中該預(yù)測通過該預(yù)測相對應(yīng)前導(dǎo)0字串預(yù)測該負(fù)差的前導(dǎo)符號字串。20.如權(quán)利要求17項(xiàng)的預(yù)測負(fù)差中的前導(dǎo)符號數(shù)字的方法,其中該預(yù)測通過該預(yù)測相對應(yīng)前導(dǎo)1字串預(yù)測該負(fù)差的前導(dǎo)符號字串。全文摘要執(zhí)行浮點(diǎn)減法的裝置與方法及預(yù)測符號數(shù)字的裝置與方法,該裝置包括一比較器,配置為測定一第一數(shù)與一第二數(shù)之間的量值差異,該量值的差異不超過一個(gè)數(shù)字位置,其中第一數(shù)大于第二數(shù),其中第一數(shù)被指定為減數(shù)且第二數(shù)被指定為被減數(shù);線路和邏輯,其配置為相對于該被減數(shù)將該減數(shù)對位該量值差異個(gè)數(shù)字位置以產(chǎn)生一對位減數(shù),并將該對位減數(shù)反相以產(chǎn)生一反相對位減數(shù);多個(gè)與非門,其配置為執(zhí)行一布林與非函數(shù)于該被減數(shù)以及該反相對位減數(shù)的相對應(yīng)數(shù)字上以產(chǎn)生位的預(yù)測字串,其中一0值被對位至該預(yù)測字串的最高有效位;其中該預(yù)測字串的一前導(dǎo)0字串預(yù)測該被減數(shù)和該對位減數(shù)之間的負(fù)差的相對應(yīng)的前導(dǎo)符號數(shù)字字串。文檔編號G06F7/509GK102495714SQ201110362770公開日2012年6月13日申請日期2011年11月16日優(yōu)先權(quán)日2011年1月5日發(fā)明者湯姆.艾爾摩申請人:威盛電子股份有限公司