欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

二進制融合乘加浮點計算的制作方法

文檔序號:11589956閱讀:413來源:國知局

本發(fā)明的各個方面總體上涉及數(shù)據(jù)處理系統(tǒng),并且具體地涉及執(zhí)行二進制融合乘加浮點計算。



背景技術:

2008年出版的用于二進制浮點運算的ieee-754-2008標準規(guī)定了通常在計算機硬件中實現(xiàn)的浮點數(shù)據(jù)架構,諸如具有乘法器的浮點處理器。格式包括符號、無符號偏置指數(shù)和有效位數(shù)。符號位是單個比特,并且用“s”表示。用“e”表示的無符號偏置指數(shù)例如對于單精度為8個比特長,對于雙精度為11個比特長,對于四精度為15個比特長。有效位數(shù)例如對于單精度為24個比特長,對于雙精度為53個比特長,對于四精度為113個比特長。如ieee-754-2008標準所定義的,有效位數(shù)的最高有效位——即所謂的隱含位——是從指數(shù)位中解碼的。

為了改進浮點算術處理,大多數(shù)現(xiàn)代處理器使用被稱為融合乘加(以下縮寫為fma)過程的過程來將浮點乘法運算(例如a*b)與浮點加法運算(例如+c)組合,用于作為單個指令(例如a*b+c)來執(zhí)行,其中a、b、c是乘積a*b的操作數(shù)以及c和乘積的和的操作數(shù)。通過在單個指令中執(zhí)行兩個運算,fma過程減少了整個執(zhí)行時間。fma過程還提供了改進的精度,因為僅需要在以全精度執(zhí)行乘法和加法運算兩者之后才執(zhí)行舍入。例如,只有一個舍入誤差,而不是兩個。

在浮點處理器中,一個中心區(qū)域是乘法器陣列。乘法器陣列用于執(zhí)行兩個數(shù)的乘法。通常,使用具有基數(shù)4的最先進的布思(booth)編碼,其是通常使用的快速乘法算法。這減少了需要求和直到n/2+1的乘積項的數(shù)量,其中n是每個操作數(shù)的位數(shù)。使用允許并行處理所有位的進位保存加法器電路來進行求和,而不是將較低位位置的進位輸出鏈接到下一較高位置的常規(guī)相加,其通常通過進位傳播加法器電路來執(zhí)行。進行這種求和的電路在本領域中被稱為約減樹。在約減樹的末端,剩余兩個項,和項和進位項,它們分別表示信息的求和部分和信息的進位部分。這些項最終與對準的加數(shù)一起添加。再次,在這里執(zhí)行進位保存加法。最后,只剩下兩個項,也是和項和進位項,并且這兩個項使用進位-傳播-加法器相加以生成一個最終結果。

分析應用、特別是在大數(shù)據(jù)量上運行時是非常計算密集的。它們的主要數(shù)據(jù)類型是二進制浮點。這包括商業(yè)可用的分析軟件,如ilog、spss、cognos、algo、以及很多專為保險和銀行行業(yè)設計的分析軟件包。

很多移動應用需要位置檢測例程,位置檢測例程也是浮點密集型計算。這些例程的性能在新興領域、例如遠程信息處理中是關鍵的,其將移動輸入與數(shù)據(jù)庫查詢和保險分析代碼組合并且具有實時要求。

對于這兩個領域,浮點單元(fpu)的等待時間和吞吐量對于應用的性能非常重要。對于欺詐檢測,例如,fpu性能是關于檢測是否接近實時的關鍵。

ieee754-2008標準使得fma(融合乘加,即a*b+c)對于現(xiàn)代浮點單元是強制的。自從引入ieee754-2008標準以來,對于具有fma支持的最快fpu存在巨大競爭。

us2014/0188966a1和類似地us8,892,619b2(其每個通過引用整體并入本文)公開了在集成電路中實施的浮點融合乘加(fma)單元。fma單元包括具有浮點輸入a和c以及浮點輸出a*c的乘法器電路、以及連接到乘法器電路的輸出的加法器電路。加法器電路將浮點輸出a*c與浮點輸入b相加,以產(chǎn)生結果a*c+b。加法器電路包括與乘法器電路并行實現(xiàn)的指數(shù)差分電路、在指數(shù)差分電路之后實現(xiàn)的近路徑電路、在指數(shù)差分電路之后實現(xiàn)的遠路徑電路、連接到近路徑電路和遠路徑電路的輸出的2:1多路復用器(mux)電路、以及連接到2:1多路復用器電路的輸出的舍入電路。fma單元還包括累積旁路電路,累積旁路電路將2:1多路復用器電路的未舍入輸出轉發(fā)給近路徑電路和遠路徑電路的輸入,并且以進位保存格式將指數(shù)結果轉發(fā)給指數(shù)差分電路的輸入。fma單元中還包括將2:1多路復用器電路的未舍入輸出轉發(fā)給乘法器電路的浮點輸入a和c的乘加旁路電路。根據(jù)us2014/0188966a1和us8,892,619b2的公開內(nèi)容,需要用于b操作數(shù)(加數(shù))的舍入校正在加數(shù)進入對準移位器之前發(fā)生。累積旁路電路相對于彼此交錯,使得指數(shù)數(shù)據(jù)路徑比尾數(shù)數(shù)據(jù)路徑更早地開始,并且指數(shù)結果比進位保存格式的尾數(shù)結果更早地計算以轉發(fā)用于下一從屬計算。遠路徑電路將增量與移位和加法數(shù)據(jù)路徑組合。在被饋送給移位器或加法器之前遞增的情況下,未舍入輸出被右邊填充1,并且加法器電路中的電路使用進位傳播,就好像未舍入結果在移位和加法之前已經(jīng)遞增。

因此,us2014/0188966a1公開了一種在級聯(lián)乘加管線上的融合乘加。fma單元需要特殊的浮點加法器結構,用于將2:1多路復用器的未舍入輸出轉發(fā)給浮點輸入a和乘法器電路。

us8,671,129b2(其全部通過引用內(nèi)容并入本文)公開了一種用于在乘加管線中執(zhí)行乘法運算的處理單元。為了減少管線等待時間,乘加運算的未舍入結果被旁路到乘加管線的輸入用于在后續(xù)運算中使用。如果確定在先運算需要舍入,則在后續(xù)運算期間發(fā)生舍入。在后續(xù)運算期間,未被乘法運算使用的布思(booth)編碼器輸出舍入校正因子作為未被乘法運算利用的布思(booth)多路復用器的選擇輸入。當布思多路復用器接收舍入校正因子時,布思多路復用器將舍入校正值輸出給進位保存加法器(csa)樹,并且csa樹根據(jù)舍入校正值和其他部分乘積生產(chǎn)正確的和。

us8,671,129b2中公開的處理單元使用融合乘加算法工作。us8,671,129b2描述了對乘法器輸入執(zhí)行校正以及對布思(booth)結構的必要修改。然而,它沒有描述如何對加數(shù)應用舍入校正。

在2011年在第20屆ieee計算機算術研討會上公開的samehgalal、markhorowitz的“l(fā)atencysensitivefmadesign”的出版物中還描述了需要由遠近路徑組成的特殊加法器結構的在us2014/0188966a1中公開的fma單元設計(其通過引用整體并入本文),其應用于級聯(lián)融合乘加管線。

us8,990,282b2(其全部內(nèi)容通過引用并入本文)公開了一種包括乘法電路和加法電路的融合乘加浮點單元。乘法電路將具有n位有效位數(shù)的操作數(shù)b和c相乘以生成未舍入乘積b*c。未舍入乘積b*c具有m位有效位數(shù),其中m>n。加法電路接收操作數(shù)a,操作數(shù)a在比乘法電路4接收操作數(shù)b和c的處理周期更晚的處理周期輸入。在由乘法電路4生成未舍入乘積b*c之后,加法電路8開始操作數(shù)a的處理。加法電路8將操作數(shù)a與未舍入乘積b*c相加,并且輸出舍入結果a+b*c。

因此,在us8,990,282b2中,在融合乘加運算的情況下,乘法器將未舍入乘積轉發(fā)給加法器部分,這是級聯(lián)乘法和加法設計的特色。此外,在第二種轉發(fā)中,舍入結果被轉發(fā)回a輸入,即加數(shù)。由所公開的乘加單元提供的結果總是被完全舍入;這可以是乘法、加法、減法或乘加運算的結果。由所公開的單元接收的操作數(shù)也被完全舍入。不存在來自在先運算的結果到后續(xù)運算的操作數(shù)的未舍入轉發(fā)。

us8,977,670b2(其全部內(nèi)容通過引用并入本文)公開了在融合乘加管線內(nèi)實現(xiàn)未融合乘加指令。該系統(tǒng)包括具有用于接收加法項的輸入的對準器、具有用于接收用于乘法的第一值和第二值的兩個輸入的乘法器樹、和第一進位保存加法器(csa),其中第一csa可以接收來自乘法樹的部分乘積和來自對準器的對準的相加項。該系統(tǒng)包括接收第一部分乘積、第二部分乘積和對準的相加項的融合/未融合乘加(puma)塊,其中第一部分乘積和第二部分乘積沒有被截斷。puma塊例如取決于操作碼或模式位,使用第一部分乘積、第二部分乘積和對準的相加項來執(zhí)行未融合乘加運算或者融合乘加運算。將運算的結果轉發(fā)回下一運算僅可能從乘法到加法運算的輸入。轉發(fā)的乘積是中間不規(guī)范化格式。對于未融合乘加,未舍入和非標準化的乘積在fma管線內(nèi)部傳遞(轉發(fā))給加法運算,該乘積將需要舍入校正。然而,轉發(fā)是非常有限的:它只是從乘積到不進行對準的加法的一個操作數(shù)。沒有從加法或乘加到后續(xù)運算的任何輸入操作數(shù)的未舍入轉發(fā),并且沒有從乘積到經(jīng)歷對準移位的加法項的未舍入轉發(fā)。



技術實現(xiàn)要素:

通過提供一種被配置成對加數(shù)、乘數(shù)和被乘數(shù)進行運算并且被配置成執(zhí)行一種方法的單元,克服了現(xiàn)有技術的缺點并且提供了附加的優(yōu)點。該方法包括:經(jīng)由早期結果反饋路徑接收在單元中執(zhí)行的在先運算的未舍入結果作為加數(shù);對未舍入指數(shù)和未舍入尾數(shù)執(zhí)行加數(shù)的對準移位;以及與對準移位并行地執(zhí)行加數(shù)的舍入校正,舍入校正通過向上舍入信號被啟用。

還描述了與一個或多個方面相關的方法、系統(tǒng)和計算機程序產(chǎn)品并且可以在本文中要求保護。

通過本文描述的技術實現(xiàn)了另外的特征和優(yōu)點。其它實施例和方面在本文中詳細描述,并且被認為是要求保護的各個方面的一部分。

附圖說明

通過以下對實施例的詳細描述,可以最佳地理解本發(fā)明的各方面以及上述和其他目的和優(yōu)點,但是不限于實施例,在附圖中:

圖1是根據(jù)現(xiàn)有技術的fma單元的概念;

圖2示出了根據(jù)現(xiàn)有技術的用于到乘積項中的未舍入轉發(fā)的數(shù)據(jù)流;

圖3是根據(jù)本發(fā)明實施例的修改的fma單元的數(shù)據(jù)流;

圖4a至圖4c示出了根據(jù)本發(fā)明實施例的用于有效添加加數(shù)的三個舍入校正情況;

圖5是根據(jù)本發(fā)明實施例的用于有效地減去加數(shù)的舍入校正情況;

圖6是根據(jù)本發(fā)明實施例的fma單元的框圖;

圖7是根據(jù)本發(fā)明實施例的具有支持校正項的未舍入轉發(fā)的數(shù)據(jù)流的fma單元的框圖;

圖8是根據(jù)本發(fā)明實施例的用于到浮點單元的操作數(shù)中的未舍入轉發(fā)的流程圖;以及

圖9是用于執(zhí)行根據(jù)本發(fā)明的一個或多個方面的方法的數(shù)據(jù)處理系統(tǒng)的示例實施例。

具體實施方式

在附圖中,相同的元件用相同的附圖標記表示。附圖僅僅是示意性表示,而并不意圖描繪本發(fā)明的各方面的具體參數(shù)。此外,附圖旨在僅描繪本發(fā)明的各方面的典型實施例,因此,不應當被認為是限制本發(fā)明的各方面的范圍。

本文中描述的說明性實施例提供了用于執(zhí)行二進制融合乘加浮點計算的單元、方法、系統(tǒng)和計算機程序產(chǎn)品。本文中有時使用特定技術來描述說明性實施例,僅作為用于描述的清楚性的示例。

參考圖1至圖9,說明性實施例可以用于二進制融合乘加浮點單元10,其被配置成對加數(shù)82、乘數(shù)70和被乘數(shù)72進行運算。例如,fma單元包括用于經(jīng)由早期結果反饋路徑76接收在該單元中執(zhí)行的在先運算的未舍入結果作為加數(shù)82的裝置;用于對未舍入指數(shù)和未舍入尾數(shù)88執(zhí)行未舍入加數(shù)82的對準移位的裝置;以及用于與實際對準移位并行地執(zhí)行加數(shù)82的舍入校正的裝置,該裝置響應于通過向上舍入信號89的啟用。

為了解釋fma過程,圖1描繪了根據(jù)現(xiàn)有技術的fma單元10的概念。圖1示出了根據(jù)現(xiàn)有技術的基于融合乘加運算(fma)的64b二進制浮點單元(fpu)10的一部分。未詳細示出fma單元10的乘法和對準階段。現(xiàn)有技術的二進制fpu基于fma結構以便以高效和高性能的方式支持ieee-754-2008標準。fma運算的基本運算是:r=a*b+c,其中r是fma運算的結果,a、b、c是浮點數(shù)。

如圖1中示意性地所示,fma運算在以下步驟中執(zhí)行。

在將操作數(shù)從ieee-754-2008格式解包成內(nèi)部格式之后,通過53比特寬的粘滯位字段54,執(zhí)行乘法a*b以便獲得乘積80(106比特寬),并且并行地執(zhí)行在163位的可能范圍中使加數(shù)82相對于乘積80對準。對準移位達到飽和。粘滯位字段54被或(or)樹56壓縮成單個粘滯位58。加法器在考慮到粘滯位的情況下計算乘積80和對準的加數(shù)83的和或絕對差84(163比特寬)。操作數(shù)和結果的尾數(shù)用符號量值表示。結果的指數(shù)用er引用。與加法器并行,由前導零預測器預期加法器結果86中的前導零的數(shù)目lz。歸一化器通過移出前導零來對尾數(shù)進行歸一化以獲得值87,并且通過減去前導零的數(shù)量相應地調整指數(shù),以便產(chǎn)生er-1z。舍入器90計算舍入決定,以得到向上舍入信號89,該向上舍入信號89基于符號、粘滯位52和58、保護位50、最低有效位42和舍入模式來指示該部分是否要增加1。舍入器90還根據(jù)需要執(zhí)行分數(shù)88的遞增,以便獲得結果尾數(shù)94,執(zhí)行范圍檢查并且根據(jù)需要應用后舍入校正。然后將結果94打包成ieee-754-2008格式。

在未舍入轉發(fā)的情況下,結果88在歸一化之后但是在舍入步驟之前被轉發(fā)給依賴運算。在由向上舍入信號89表示的舍入決定指示舍入器90要執(zhí)行遞增的情況下,轉發(fā)的分數(shù)是一個單位的最小精度(ulp)太小。因此,使用校正項。這也通過將向上舍入信號89轉發(fā)給新的運算來指示。

圖2中示出了如在現(xiàn)有技術中已經(jīng)實現(xiàn)的對乘積項a和b執(zhí)行舍入校正,圖2中描繪了根據(jù)現(xiàn)有技術的用于到乘積項中的未舍入轉發(fā)的數(shù)據(jù)流。在這種情況下,對于運算a*b+c或a*b-c,對于乘積項a、b的未舍入轉發(fā),舍入校正總是在固定位置處并且作為正的校正項來執(zhí)行:

(a+inca)*(b+incb)=a*b+a*incb+b*inca+inca*incb,其中inca和incb是乘積項a和b的增量值。在到乘數(shù)和/或被乘數(shù)中的未舍入轉發(fā)的情況下,增量值inca和incb可以從源、在先運算的向上舍入信號89導出。

在圖2中,示出了要被添加到由布思(booth)乘法器級的乘法器樹14獲得的乘積a*b80的不同的校正項a*incb104、b*inca106、inca*incb108。

對于到加數(shù)c中的未舍入轉發(fā),加數(shù)相對于乘積80移位,這也導致校正項移位。加數(shù)c被相加或相減,這意味著舍入校正在culp位置是+1或-1。

在圖3中,描繪了根據(jù)本發(fā)明實施例的修改的fma單元10的數(shù)據(jù)流。與圖1所示的fma單元10相反,對包括對準的加數(shù)83的粘滯位54的所有位計算和或絕對差84。為此目的,應當相應地調整饋送加法器和計算粘滯位58的粘滯邏輯。

圖4a至圖4c示出了根據(jù)本發(fā)明實施例的用于有效添加加數(shù)82的三個舍入校正情況。為了有效地相加加數(shù)82,舍入校正92被加入,并且可以根據(jù)下式進行計算:

s=p+c+rc,其中s是有效總和,p是乘積項80的尾數(shù),c是對準的加數(shù)83的尾數(shù),rc是校正項92。然后,可以如下計算rc:

對于雙精度計算,rc=0或rc=1*2-52*2(ec-ep),其中ec和ep分別是加數(shù)82和乘積80的指數(shù)。舍入校正92、rc以與加數(shù)c相同的方式對準,這意味著它與c的最低有效位對準。用于對準的rc的位置可以通過對對準器移位量進行解碼來生成。

在圖4a所示的情況下,加數(shù)82的指數(shù)遠大于乘積80的指數(shù);在圖4b的情況下,加數(shù)82的指數(shù)比乘積80的指數(shù)小一點,使得乘積尾數(shù)與加數(shù)尾數(shù)完全交疊;在圖4c的情況下,加數(shù)82的指數(shù)遠小于乘積80的指數(shù),使得乘積尾數(shù)至多部分地與加數(shù)尾數(shù)交疊。條102示出了用于移位校正項92的潛在范圍。

圖5示出了根據(jù)本發(fā)明實施例的用于有效地減去加數(shù)82的舍入校正情況。為了有效地減去加數(shù)82,加數(shù)82可以大于或小于乘積80,因此可以根據(jù)下式來計算在沒有舍入校正的情況下差值d:

d=|p-c|=p-c=p+!c+ulp,如果p>c,否則

d=-(p-c)=!(p+!c),其中!c是c的非,其中ulp是差值d的最后單位。

此外,可以根據(jù)下式來計算舍入校正92:

d=|p-(c+rc)|=p-c-rc=(p-rc)+!c+ulp,

如果p>c+rc,否則

d=-(p-c-rc)=!((p-rc)+!c)。

在圖5中,對準的加數(shù)83的字段中的剩余位被填充1作為反轉整個對準的加數(shù)83的一部分。如果需要舍入校正,則校正項92在對準的加數(shù)83的ulp位置處等于-1,即,如果舍入校正rc不等于零,則等于潛在校正項93,用1填充的比特。因此,可以通過對解碼器移位量的半解碼來生成舍入校正92——-rc。

在圖6中,示出了根據(jù)本發(fā)明實施例的fma單元10的框圖。fma單元10被配置成對加數(shù)82、乘數(shù)70和被乘數(shù)72進行運算,并且包括用于經(jīng)由早期結果反饋路徑76接收在單元中執(zhí)行的在先運算的未舍入結果作為加數(shù)82的裝置,即具有對準器30的多路復用器或選擇部件;用于對未舍入指數(shù)和未舍入尾數(shù)88執(zhí)行未舍入加數(shù)82的對準移位的裝置,即對準器30;以及用于與實際對準移位并行地執(zhí)行加數(shù)82的舍入校正的裝置,該裝置響應于通過向上舍入信號89實現(xiàn)的啟用。

向上舍入信號89從舍入器28發(fā)送回到fma單元10作為輸入。為此目的,裝置被預計接收該向上舍入信號89以實現(xiàn)舍入校正。該啟用可以通過選擇電路、例如多路復用器來完成。

為此目的,fma單元10包括解包部件12、對準器30(例如,總和尋址移位器)、乘法器14、加法單元(包括具有前導零預計器24的進位保存加法器21和端回進位加法器22)、歸一化器26以及舍入和打包部件28反饋。反饋路徑76、77將未舍入結果轉發(fā)回對準器30以及乘法器14。加數(shù)82以及包括乘數(shù)70和被乘數(shù)72的乘積項以雙精度格式64位長度被饋送給解包單元12。加數(shù)82經(jīng)由多路復用器62被傳送給對準器30,多路復用器62在解包操作數(shù)c的尾數(shù)和轉發(fā)的未舍入結果88的尾數(shù)之間進行選擇,而乘積項70、72經(jīng)由多路復用器66和64被傳送給乘法器14,多路復用器66和64在解包操作數(shù)a和b的尾數(shù)以及轉發(fā)的未舍入結果88的尾數(shù)之間進行選擇。操作數(shù)a、b和c的指數(shù)經(jīng)由多路復用器68和69被傳送給對準器30的移位量計算邏輯16,多路復用器68和69在解包器12提供的指數(shù)或轉發(fā)的未舍入結果88的指數(shù)之間進行選擇。對準器30以163比特寬度工作,乘法器14以106比特寬度工作。對準器30根據(jù)加數(shù)82和乘積80的指數(shù)的差來移位加數(shù)82。移位的加數(shù)82和乘積80被傳送給加法器21、22,以便被加入到fma過程的最終和中。歸一化移位器26將總和的尾數(shù)從163位歸一化為55位。因此,這個未舍入尾數(shù)88可以被轉發(fā)給對準器30或乘法器14,用于分別經(jīng)由反饋路徑76或77進一步計算另外的fma計算。在先運算是加法或乘法中的至少一個。

在不需要轉發(fā)最終和的情況下,將和在舍入和打包部件28中舍入并且打包以獲得64位雙精度寬度的最終結果94。

圖7描繪了根據(jù)本發(fā)明實施例的具有支持到所有操作數(shù)的未舍入轉發(fā)并且應用校正項的數(shù)據(jù)流的fma單元10的框圖,作為64位二進制浮點單元的可能實現(xiàn)。然而,被配置成執(zhí)行fma過程的任何類型的浮點單元可以用于應用本發(fā)明的各方面。圖7解釋了舍入校正可以如何集成到對準器30和加法器20中。

乘積項70、72被饋送給布思多路復用器32,該布思多路復用器32進一步將數(shù)據(jù)傳送給包括多個3:2進位保存加法器34以及4:2進位保存加法器36的乘數(shù)約減樹20。加數(shù)82被饋送給對準器30以計算移位量96并且對準加數(shù)82。對準器例如被實現(xiàn)為總和尋址移位器。

提供用于通過應用于乘數(shù)約減樹20的校正項92來執(zhí)行加數(shù)82的舍入校正的裝置。通過在有效加法的情況下將解碼函數(shù)應用于移位量96和/或通過在有效減法的情況下將半解碼函數(shù)應用于移位量96來獲得校正項92。

提供了作為用于與實際對準移位并行地對加數(shù)82執(zhí)行舍入校正的裝置的基于移位量96來生成加數(shù)82的校正項92的電路,其中生成基于遞增在先運算的未舍入中間結果的校正項92。用于加數(shù)82的校正項92以與加數(shù)82相同的移位量96對準。

針對乘積項70、72的校正項92確定增量44、46,并且在乘數(shù)約減樹20中傳送增量44、46以獲得乘積80、以及用于加數(shù)82的增量48,其基于由對準器30計算的移位量96來確定。

提供了用于支持多個浮點精度的裝置,其中校正項92的值適于支持任何所支持的精度的結果的未舍入轉發(fā)。移位量96可以是二進制或一元或任何其它表示。

作為對準器30的輸出的移位加數(shù)83然后被添加到乘積80以獲得最終和84。

計算加數(shù)82與乘數(shù)70和被乘數(shù)72的乘積80之間的和84或絕對差,其包括粘滯位54(見圖3),以便基于和84或絕對差的粘滯位54來計算校正項92。

在圖8中,示出了根據(jù)本發(fā)明實施例的用于到浮點單元的操作數(shù)的未舍入轉發(fā)的流程圖,其大致解釋了用于在在二進制融合乘加浮點單元中執(zhí)行二進制浮點算術計算的方法的各方面。被配置成對加數(shù)c、乘數(shù)a和被乘數(shù)b進行運算的方法包括例如經(jīng)由早期結果反饋路徑接收在單元中執(zhí)行的在先運算的未舍入結果作為加數(shù)c;對未舍入指數(shù)和未舍入尾數(shù)執(zhí)行未舍入加數(shù)c的對準移位;以及與實際對準移位并行地對加數(shù)c執(zhí)行舍入校正,舍入校正通過向上舍入信號來被啟用。

一個或多個方面的流程開始于在步驟s200中將未舍入結果反饋給乘法器和對準器,其可以對于每個操作數(shù)被配置成從先前的乘法、加法或乘加運算或者常規(guī)操作數(shù)a、b和c中選擇未舍入結果。接下來,在步驟202中并行地執(zhí)行加數(shù)的對準移位,以在步驟s204至s212中生成具有所有可能的舍入校正的乘積a*b??梢酝ㄟ^總和尋址移位器來執(zhí)行對準移位。然后在步驟s214中接合并行分支步驟s202和s204至s212,其中通過將包括校正項的乘積a*b的值和對準的加數(shù)c相加或相減,并且基于前導零的數(shù)量對和或差絕對差進行歸一化來生成歸一化的未舍入結果。計算加數(shù)和乘數(shù)與被乘數(shù)之積的和或絕對差,其包括粘滯位。然后可以將在步驟s214中生成的未舍入結果轉發(fā)給后續(xù)指令的步驟s200;它也被傳遞給執(zhí)行舍入決定并且生成向上舍入信號的步驟s216。該向上舍入信號可以被轉發(fā)給后續(xù)指令的步驟s206。然后,步驟s218基于步驟s214的未舍入結果和步驟s216的向上舍入信號生成最終舍入結果。

為了生成具有所有潛在舍入校正的乘積a*b,乘法器在步驟s204中開始乘積a*b的計算,并且并行地,步驟s206針對兩個乘積項a、b以及針對加數(shù)c基于從在先指令接收的向上舍入信號來確定是否需要舍入校正。然后,在步驟s208中確定乘積項a、b的增量項inca和incb,以及在步驟s210中確定加數(shù)c的增量項incc。校正和增量項incc以與加數(shù)c相同的方式排列。項incc在有效相加的情況下可以通過將解碼函數(shù)應用于移位量來獲得,并且在有效減法的情況下可以通過將半解碼函數(shù)應用于移位量來獲得。在步驟s212中,增量項被饋送給乘數(shù)約減樹,并且具有全部舍入校正的乘法結束。

現(xiàn)在參考圖9,其中示出了數(shù)據(jù)處理系統(tǒng)210的一個示例。數(shù)據(jù)處理系統(tǒng)210僅僅是適合的數(shù)據(jù)處理系統(tǒng)的一個示例,不應對本文中描述的本發(fā)明實施例的功能和使用范圍帶來任何限制??傊?,數(shù)據(jù)處理系統(tǒng)210能夠實現(xiàn)和/或執(zhí)行本文中以上所述的任何功能。

在數(shù)據(jù)處理系統(tǒng)210中,存在計算機系統(tǒng)/服務器212,其可與眾多其它通用或專用計算系統(tǒng)環(huán)境或配置一起操作。適于與計算機系統(tǒng)/服務器212一起操作的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于:個人計算機系統(tǒng)、服務器計算機系統(tǒng)、瘦客戶機、厚客戶機、手持或膝上設備、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子乘積、網(wǎng)絡個人電腦、小型計算機系統(tǒng)﹑大型計算機系統(tǒng)和包括上述任意系統(tǒng)的分布式云計算技術環(huán)境,等等。

計算機系統(tǒng)/服務器212可以在由計算機系統(tǒng)執(zhí)行的計算機系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括執(zhí)行特定的任務或者實現(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、目標程序、組成、邏輯、數(shù)據(jù)結構等。計算機系統(tǒng)/服務器212可以在其中通過通信網(wǎng)絡鏈接的遠程處理設備執(zhí)行任務的分布式云計算環(huán)境中實施。在分布式云計算環(huán)境中,程序模塊可以位于包括存儲器存儲設備的本地或遠程計算系統(tǒng)存儲介質上。

如圖9所示,數(shù)據(jù)處理系統(tǒng)210中的計算機系統(tǒng)/服務器212以通用計算設備的形式示出。計算機系統(tǒng)/服務器212的部件可以包括但不限于:一個或多個處理器或者處理單元216、系統(tǒng)存儲器228、和耦合不同的系統(tǒng)部件(包括系統(tǒng)存儲器228和處理單元216)的總線218。

總線218表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器、外圍總線、圖形加速端口以及使用多種總線結構中的任意總線結構的處理器或局域總線。作為示例而非限制,這些體系結構包括但不限于工業(yè)標準體系結構(isa)總線、微通道體系結構(mac)總線、增強型isa總線、視頻電子標準協(xié)會(vesa)局域總線以及外圍部件互連(pci)總線。

計算機系統(tǒng)/服務器212典型地包括多種計算機系統(tǒng)可讀介質。這樣的介質可以是能夠被計算機系統(tǒng)/服務器212訪問的任意可獲得的介質,包括易失性和非易失性介質,可移除的和不可移除的介質。

系統(tǒng)存儲器228可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質,諸如隨機存取存儲器(ram)230和/或高速緩存存儲器232。計算機系統(tǒng)/服務器212還可以包括其它可移除/不可移除的、易失性/非易失性計算機系統(tǒng)存儲介質。僅作為示例,存儲系統(tǒng)234可以用于讀寫不可移除的、非易失性磁介質(圖中未示出,通常稱為“硬盤驅動器”)。盡管圖中未示出,可以提供用于讀寫可移除非易失性磁盤(例如“軟盤”)的磁盤驅動器、以及讀寫可移除非易失性光盤(例如cd-rom、dvd-rom或者其它光介質)的光盤驅動器。在這些情況下,每個驅動器可以通過一個或多個數(shù)據(jù)介質接口與總線18相連。如下面進一步描繪和描述的,存儲器228可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個)程序模塊,這些程序模塊被配置成執(zhí)行本發(fā)明各實施例的功能。

作為示例而非限制,存儲器228中可以一組(至少一個)程序模塊242的程序/實用工具240,也可以存儲操作系統(tǒng)、一個或多個應用程序、其它程序模塊以及程序數(shù)據(jù)。操作系統(tǒng)、一個或多個應用程序、其它程序模塊以及程序數(shù)據(jù)或其某種組合中的每個可以包括網(wǎng)絡環(huán)境的實現(xiàn)。程序模塊242通常執(zhí)行本文中所描述的本發(fā)明實施例的功能和/或方法。

計算機系統(tǒng)/服務器212也可以與一個或多個外部設備214(諸如鍵盤、指向設備、顯示器224等)通信,還可與使得用戶能夠與計算機系統(tǒng)/服務器12交互的一個或多個設備通信,和/或與使得計算機系統(tǒng)/服務器212能夠與一個或多個其它計算設備通信的任何設備(例如網(wǎng)卡、調制解調器等等)通信。這樣的通信可以經(jīng)由輸入/輸出(i/o)接口222進行。并且,計算機系統(tǒng)/服務器212還可以經(jīng)由網(wǎng)絡適配器220與一個或多個網(wǎng)絡(諸如局域網(wǎng)(lan)、廣域網(wǎng)(wan)和/或公共網(wǎng)絡(例如因特網(wǎng)))通信。如圖所示,網(wǎng)絡適配器220經(jīng)由總線218與計算機系統(tǒng)/服務器212的其它模塊通信。應當明白,盡管圖中未示出,其它硬件和/或軟件模塊可以與計算機系統(tǒng)/服務器212一起操作。示例包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、raid系統(tǒng)、磁帶驅動器以及數(shù)據(jù)備份存儲系統(tǒng)等。

現(xiàn)在參考如本文所描述的,提供了一種二進制融合乘加浮點單元,其被配置成對加數(shù)、乘數(shù)和被乘數(shù)進行運算,該單元包括:用于經(jīng)由早期結果反饋路徑接收在單元中執(zhí)行的在先運算的未舍入結果作為加數(shù)的裝置;用于對未舍入指數(shù)和未舍入尾數(shù)執(zhí)行未舍入加數(shù)的對準移位的裝置;以及用于與實際對準移位并行地執(zhí)行加數(shù)的舍入校正的裝置,該裝置響應于通過向上舍入信號進行的啟用。

與根據(jù)現(xiàn)有技術的fma單元相比,在一個或多個方面,二進制融合乘加浮點單元(以下縮寫為fma單元)表現(xiàn)出fma單元的顯著降低的等待時間。

由于根據(jù)現(xiàn)有技術的基于乘加的fpu的結構,加數(shù)相對于乘積對準,并且可以相對于乘積向右或向左伸出,這取決于加數(shù)大于還是小于乘積。對準器部件和乘法器部件并行工作。

一個或多個方面的二進制融合乘加浮點單元避免了用于fma的常用分裂路徑概念的某些缺點,這對于加法運算是非常有用的。這樣的fpu具有兩個并行數(shù)據(jù)路徑——近路徑和遠路徑。對于遠路徑,加數(shù)遠大于乘積,或者乘積遠大于加數(shù)。在近路徑情況下,加數(shù)和乘積彼此非常接近。這種情況拆分允許對每個數(shù)據(jù)路徑進行優(yōu)化。然而,與經(jīng)典方法相比,它只節(jié)省了幾個邏輯階段。這種方法的另一缺點是,情況拆分只適用于正規(guī)的操作數(shù)和結果。次正規(guī)的操作數(shù)和結果通常需要軟件支持。

一個或多個方面的二進制融合乘加浮點單元避免了另一概念的某些缺點,該另一概念使用積極的轉發(fā)技術已經(jīng)將中間結果反饋給相關運算中,而不是等待最終舍入和打包的答案,例如,用于支持fma的鏈接的浮點乘法器和加法器。對于這種結構,實現(xiàn)了在加法器級結束處的乘積到加法運算中的特殊的未舍入轉發(fā)。如果操作數(shù)和結果是正規(guī)的,則這個過程是成功的;未歸一化的值需要軟件支持。然而,這涉及在fma運算內(nèi)的轉發(fā),而不涉及后續(xù)運算。不支持從加法到乘法和從加法到另一加法的兩個操作數(shù)的快速轉發(fā),因為從一個fma過程向下一fma過程發(fā)送數(shù)據(jù)將需要快速轉發(fā)。當乘法和加法不融合時,乘法需要舍入。這樣的不對稱類型的轉發(fā)通常導致指令定序器更復雜。

本領域中已知的其他方案支持在將舍入結果舍入到ieee數(shù)據(jù)格式之前以內(nèi)部格式轉發(fā)舍入結果。這節(jié)省了在產(chǎn)生操作中的打包上的一些邏輯延遲和在接收操作中的解包的一些邏輯延遲。支持到fma運算的所有三個操作數(shù)的該轉發(fā)。本領域已知的其它方案、如us8,671,129b2中公開的方案,通過在舍入之前轉發(fā)結果,甚至更積極。為了保持ieee兼容性,需要進行一些舍入校正。

在現(xiàn)有技術中,通過基于未舍入結果計算乘積和對準器移位量,以及應用用于乘積的校正項,來實現(xiàn)該ieee標準符合性。然而,對于加數(shù)的實際移位,需要舍入結果。因此,實際移位的開始必須被延遲,直到舍入結果可用,這成為fpu的時序關鍵路徑。因此,對準移位的開始必須被延遲,因為用于到加數(shù)中的未舍入轉發(fā)的真實解是未知的。

一個或多個方面的fma單元克服了延遲對準移位直到舍入結果可用的必要性。通過為加數(shù)而不僅僅為乘積提供校正項,fma單元允許到加數(shù)中的真正的未舍入轉發(fā)。因此,顯著減少了根據(jù)本發(fā)明的各方面的基于二進制fma的fpu的等待時間。

作為用于接收經(jīng)由早期結果反饋路徑在單元中執(zhí)行的在先運算的未舍入結果的作為加數(shù)的裝置,可以使用多路復用器或選擇電路,其能夠在兩個或更多個模式的輸入數(shù)據(jù)之間進行選擇。作為用于對未舍入指數(shù)和未舍入尾數(shù)執(zhí)行未舍入加數(shù)的對準移位的裝置,可以使用具有用于確定和執(zhí)行相應移位量的功能的任何電子電路。此外,作為用于與實際對準移位并行地執(zhí)行對加數(shù)的舍入校正的裝置,其中該裝置響應于通過向上舍入信號進行的使能,可以使用具有用于取決于對準移位情況來確定加數(shù)的必要增量的功能的任何電子電路??梢酝ㄟ^對由fma單元的對準器部件確定的有限移位量進行解碼并且基于向上舍入信號啟用它來生產(chǎn)加數(shù)的舍入校正??梢杂蒮ma單元的舍入邏輯中的在先指令來生成向上舍入信號。

根據(jù)本發(fā)明的一個或多個方面,可以執(zhí)行從任何運算回到需要對準移位的添加項的轉發(fā)。

可選地,fma單元還可以具有用于接收乘數(shù)和被乘數(shù)的未舍入操作數(shù)的裝置。

根據(jù)實施例,fma單元還可以包括用于通過應用于乘數(shù)約減樹的校正項來對加數(shù)執(zhí)行舍入校正的裝置。因此,可以并行地對加數(shù)執(zhí)行舍入校正以執(zhí)行加數(shù)的對準移位。校正項可以被傳送給由向上舍入信號觸發(fā)的fma單元的乘法器部件的加法器單元的輸入。這樣的加法器單元可以由進位保存加法器單元有利地表示。

根據(jù)實施例,校正項還可以在有效相加的情況下通過將解碼函數(shù)應用于移位量來獲得和/或在有效相減的情況下通過將半解碼函數(shù)應用于移位量來獲得。

存在使加數(shù)的舍入校正比乘積的舍入校正更復雜的兩個方面。首先,加數(shù)相對于乘積被對準,即它被移位,并且對準的加數(shù)的最低有效位(lsb)位置取決于乘積和加數(shù)的指數(shù)差。因此,舍入校正也被移位。其次,從該乘積中增加或減去加數(shù),因此也要添加或減去校正項。對準的加數(shù)的位置可以例如由解碼器從移位量導出。

為了加數(shù)的有效相加,舍入校正被加入,并且可以根據(jù)下式進行計算:

s=p+c+rc,其中s是有效總和,p是乘積項的尾數(shù),c是與乘積對準的加數(shù)的尾數(shù),rc是校正項。校正項rc可以如下計算:

對于雙精度計算,rc=0或rc=1*2-52*2(ec-ep),其中ec是加數(shù)的指數(shù),ep是乘積項的指數(shù)。rc以與加數(shù)c相同的方式對準,這意味著它與c的最低有效位對準。用于對準的rc的位置可以通過解碼對準器移位量來生成。

為了加數(shù)的有效相減,加數(shù)可以大于或小于乘積,因此可以根據(jù)下式來計算在沒有舍入校正的情況下的差值d:

d=|p-c|=p-c=p+!c+ulp,如果p>c,否則

d=-(p-c)=!(p+!c),其中!c是c的非,并且其中ulp是差值d的最后單位。

此外,可以根據(jù)下式來計算舍入校正:

d=|p-(c+rc)|=p-c-rc=(p-rc)+!c+ulp,如果p>c+rc,否則

d=-(p-c-rc)=!((p-rc)+!c)。

因此,可以通過對準器移位量的半解碼來生成舍入校正-rc。

根據(jù)實施例,還可以由總和尋址移位器來執(zhí)行對準移位。本領域中公知的總和尋址移位器允許組合移位量計算和實際移位。對于常規(guī)fma單元,對準移位必須等待舍入結果可用。一個或多個方面的fma單元可以使用未舍入尾數(shù)進行移位,并且因此可以充分利用總和尋址移位器的等待時間優(yōu)點。它在對準移位已經(jīng)在進行的同時在乘法器樹中應用加法器校正。因此,總和尋址移位器可以有助于本發(fā)明的fma單元的優(yōu)點。

根據(jù)實施例,fma單元還可以包括用于支持多個浮點精度的裝置,其中校正項的值適于支持任何所支持的精度的結果的未舍入轉發(fā)。由于用于二進制浮點運算的ieee-754-2008標準涉及多個浮點精度,諸如單精度、雙精度或四精度,等待時間減少將用于多個精度。一個或多個方面的fma單元可以以不同的浮點精度實現(xiàn),并且表現(xiàn)出等待時間的有利減少。

根據(jù)實施例,在先運算可以是加法或乘法或乘加運算中的至少一個。要轉發(fā)給fma單元的輸入的操作數(shù)可以是在先加法和乘法的結果。在任何情況下都可以實現(xiàn)將未舍入結果轉發(fā)給涉及減少執(zhí)行fma過程中的等待時間的新計算的所有三個操作數(shù)。

根據(jù)實施例,fma單元還可以包括至少多路復用器或選擇電路作為用于接收在先運算的未舍入結果作為加數(shù)的裝置。能夠區(qū)分至少兩種不同種類的輸入的多路復用器或其它選擇電路有利地用作乘法器或對準器的輸入級。因此,在先運算的未舍入結果可以被傳送給這樣的輸入級。

根據(jù)實施例,fma單元還可以包括能夠用于計算移位量并且對操作數(shù)移位的電路作為用于執(zhí)行未舍入加數(shù)的對準移位的裝置??梢詫ξ瓷崛胫笖?shù)和未舍入尾數(shù)執(zhí)行該運算,以充分利用一個或多個方面的fma單元,并且充分利用浮點運算的等待時間的減少。

根據(jù)實施例,fma單元還可以包括基于移位量來生成用于加數(shù)的校正項的電路,作為與實際對準移位并行地執(zhí)行加數(shù)的舍入校正的裝置??梢曰诩訑?shù)的增量項并且基于解碼或半解碼的移位量來計算校正項。然后可以與對加法器執(zhí)行實際對準移位的對準器并行地將校正項傳送給fma單元的乘法器樹的輸入級。

根據(jù)實施例,fma單元還可以包括基于遞增在先運算的未舍入中間結果來生成校正項。未舍入中間結果的尾數(shù)可以增加值1,以便獲得結果尾數(shù),并且能夠在轉發(fā)結果時確定是否需要校正項。

根據(jù)實施例,用于加數(shù)的校正項還可以以與加數(shù)相同的移位量被移位。從該乘積中加上或減去加數(shù),因此,也要加上或減去校正項。為了有效相加,添加舍入校正。該位置例如可以通過解碼器從移位量導出。

根據(jù)實施例,可以計算加數(shù)和乘數(shù)與被乘數(shù)的乘積之間的和或絕對差,其包括粘滯位。作為傳統(tǒng)fma單元的修改,可以對操作數(shù)的所有位、包括粘滯位計算和或差。因此,根據(jù)fma單元的乘法器樹的加法器級的結果來計算粘滯位。因此,可以執(zhí)行傳統(tǒng)fma單元的粘滯邏輯的調整,以便充分利用該實施例。

根據(jù)實施例,可以基于和或絕對差的粘滯位來計算校正項??梢栽趯⒏鶕?jù)由對準器電路確定的移位量移位的加數(shù)與乘積項相加之后計算粘滯位。然后可以通過或(or)電路將粘滯位進一步減小到單個位用于對fma運算的最終結果進行舍入。

此外,提供了一種用于在二進制融合乘加浮點單元中執(zhí)行二進制浮點算術計算的方法,其被配置成對加數(shù)、乘數(shù)和被乘數(shù)進行運算。該方法包括經(jīng)由早期結果反饋路徑接收在單元中執(zhí)行的在先運算的未舍入結果作為加數(shù);對未舍入指數(shù)和未舍入尾數(shù)執(zhí)行未舍入加數(shù)的對準移位;以及與實際對準移位并行地執(zhí)行加數(shù)的舍入校正,舍入校正通過向上舍入信號來被啟用。

該方法克服了延遲對準移位直到fma單元的舍入結果可用的必要性。該方法通過為加數(shù)而不只是為乘積提供校正項,允許到加數(shù)中的真正的未舍入轉發(fā)。因此,大大減少了根據(jù)本發(fā)明的各方面的二進制fma過程的等待時間。

此外,根據(jù)實施例,可以通過應用于單元的乘數(shù)約減樹的校正項來執(zhí)行加數(shù)的舍入校正。因此,可以與執(zhí)行加數(shù)的對準移位并行地執(zhí)行加數(shù)的舍入校正。可以將校正項傳送給由向上舍入信號觸發(fā)的fma單元的乘法器部件的加法器單元的輸入。

根據(jù)實施例,此外,校正項可以在有效相加的情況下通過將解碼函數(shù)應用于移位量來獲得;和/或在有效減法的情況下通過將半解碼函數(shù)應用于移位量來獲得。

為了加數(shù)的有效加法,舍入校正被加入,并且可以根據(jù)以下公式進行計算:

s=p+c+rc,其中s是有效總和,p是乘積項的尾數(shù),c是與乘積對準的加數(shù)的尾數(shù),rc是校正項。然后,可以如下計算rc:

對于雙精度計算,rc=0或rc=1*2-52*2(ec-ep),其中ec是加數(shù)的指數(shù),ep是乘積項的指數(shù)。rc以與加數(shù)c相同的方式對準,這意味著它與c的最低有效位對準。用于對準的rc的位置可以通過對對準器移位量進行解碼來生成。

為了加數(shù)的有效相減,加數(shù)可以大于或小于乘積,因此可以根據(jù)下式來計算在沒有舍入校正的情況下的差值d:

d=|p-c|=p-c=p+!c+ulp,如果p>c,否則

d=-(p-c)=!(p+!c),其中!c是c的非,其中ulp是差值d的最后單位。

此外,可以根據(jù)以下來計算舍入校正:

d=|p-(c+rc)|=p-c-rc=(p-rc)+!c+ulp,如果p>c+rc,否則

d=-(p-c-rc)=!((p-rc)+!c)。

因此,可以通過對準器移位量的半解碼來生成舍入校正-rc。

根據(jù)實施例,還可以由總和尋址移位器來執(zhí)行對準移位。總和尋址移位器允許組合移位量計算和實際移位。根據(jù)一個或多個方面的方法,在對準移位已經(jīng)在進行的同時在fma單元的乘法器樹中應用加法器校正。

根據(jù)實施例,此外,可以支持多個浮點精度,其中針對任何所支持的精度的結果轉發(fā)適于支持未舍入校正項的值。根據(jù)用于二進制浮點算法的ieee-754-2008標準,可以支持單浮點精度、雙倍浮點精度或四倍浮點精度。

根據(jù)實施例,在先運算可以是加法或乘法或乘加運算中的至少一個。根據(jù)一個或多個方面,要轉發(fā)給fma單元的輸入的操作數(shù)可以是在先加法和乘法的結果。

根據(jù)實施例,可以基于遞增在先運算的未舍入中間結果來生成校正項。未舍入中間結果的尾數(shù)可以增加值1,以便獲得結果尾數(shù),并且能夠在轉發(fā)結果時確定是否需要校正項。

根據(jù)實施例,可以計算加數(shù)和乘數(shù)與被乘數(shù)的乘積之間的和或絕對差,其包括粘滯位??梢詫Σ僮鲾?shù)的所有位、包括粘滯位計算和或差。因此,根據(jù)fma單元的乘法器樹的加法器級的結果來計算粘滯位。

根據(jù)實施例,可以基于和或絕對差的粘滯位來計算校正項??梢栽趯⒏鶕?jù)由對準器電路確定的移位量移位的加數(shù)與乘積項相加之后計算粘滯位。然后可以通過或(or)電路將粘滯位進一步減小到單個位用于對fma運算的最終結果進行舍入。

此外,提供了一種用于在二進制融合乘加浮點單元中執(zhí)行二進制浮點算術計算的計算機程序產(chǎn)品,其被配置成對加數(shù)、乘數(shù)和被乘數(shù)進行運算。計算機程序產(chǎn)品包括具有包含在其中的程序指令的計算機可讀存儲介質,程序指令由計算機系統(tǒng)可執(zhí)行以引起計算機系統(tǒng)執(zhí)行包括以下步驟的方法:經(jīng)由早期結果反饋路徑接收在單元中執(zhí)行的在先運算的未舍入結果作為加數(shù);對未舍入指數(shù)和未舍入尾數(shù)執(zhí)行未舍入加數(shù)的對準移位;以及與實際對準移位并行地執(zhí)行加數(shù)的舍入校正,舍入校正通過向上舍入信號來被啟用。

此外,提供了一種用于執(zhí)行數(shù)據(jù)處理程序的數(shù)據(jù)處理系統(tǒng),其包括用于執(zhí)行上述方法的計算機可讀程序指令。

本發(fā)明的各方面可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算機可讀存儲介質,其上載有用于引起處理器實現(xiàn)本發(fā)明的各方面的計算機可讀程序指令。

計算機可讀存儲介質可以是可以保持和存儲用于由指令執(zhí)行設備使用的指令的有形設備。計算機可讀存儲介質例如可以是――但不限于――電存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述的任意合適的組合。計算機可讀存儲介質的更具體的示例(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機械編碼設備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結構、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>

本文中描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過網(wǎng)絡、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或外部存儲設備。網(wǎng)絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng)關計算機和/或邊緣服務器。每個計算/處理設備中的網(wǎng)絡適配卡或者網(wǎng)絡接口從網(wǎng)絡接收計算機可讀程序指令,并轉發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設備中的計算機可讀存儲介質中。

用于執(zhí)行本發(fā)明操作的計算機程序指令可以是匯編指令、指令集架構(isa)指令、機器指令、機器相關指令、微代碼、固件指令、狀態(tài)設置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標代碼,所述編程語言包括面向對象的編程語言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本發(fā)明的各個方面。

本文中參考根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合都可以由計算機可讀程序指令實現(xiàn)。

這些計算機可讀程序指令可以被提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質中,這些指令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設備以特定方式工作,從而,存儲有指令的計算機可讀介質則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。

也可以將計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設備上執(zhí)行的指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。

附圖中的流程圖和框圖示出了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)

已經(jīng)出于說明的目的給出了本發(fā)明的各種實施例的描述,但是這些描述并不旨在窮舉或限于所公開的實施例。在不脫離所描述的實施例的范圍和精神的情況下,很多修改和變化對于本領域的普通技術人員將是顯而易見的。選擇本文中使用的術語是為了最好地解釋實施例的原理、實際應用或對市場中發(fā)現(xiàn)的技術的技術改進,或者使得本領域的其他普通技術人員能夠理解本文中公開的實施例。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
沙河市| 新巴尔虎右旗| 瑞安市| 洪江市| 抚松县| 故城县| 高州市| 旬邑县| 阳高县| 泰顺县| 千阳县| 和平区| 延边| 镇巴县| 麻栗坡县| 昭苏县| 临桂县| 平舆县| 双牌县| 方山县| 平乐县| 沙雅县| 建宁县| 贵德县| 临猗县| 天台县| 白水县| 三台县| 金平| 万年县| 双峰县| 合江县| 丹阳市| 长海县| 元氏县| 泸西县| 屯留县| 满洲里市| 孝昌县| 福泉市| 凤城市|