專利名稱::對(duì)數(shù)處理系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種處理系統(tǒng),且特別涉及對(duì)數(shù)處理系統(tǒng)和方法。
背景技術(shù):
:在圖形及科學(xué)應(yīng)用中經(jīng)常出現(xiàn)對(duì)數(shù)計(jì)算,一函數(shù)的對(duì)數(shù)可定義為log(x×y)=log(x)+log(y)。而一自然對(duì)數(shù)值可藉由方程log2(x)=ln(x)ln(2)]]>轉(zhuǎn)換為一以2為底D對(duì)數(shù),其中x可為一正規(guī)化浮點(diǎn)數(shù)值,如x=1.x0x1x3Kxn×2E,經(jīng)轉(zhuǎn)換后為log2(x)=E+log2(1.x0x1x3Kxn),其中,log2(x)=E+log2(1.x0x1x3Kxn)∈]>方程式(1)一泰勒級(jí)數(shù)近似法典型上由專用硬件實(shí)現(xiàn),迥異于單純藉由CPU,其原因在于此類運(yùn)算非屬常見(jiàn)且處理器須額外添加數(shù)個(gè)特定查表。上述二階泰勒級(jí)數(shù)近似法的一較佳實(shí)施例如圖1中所示。圖1為一泰勒級(jí)數(shù)近似法其處理的相關(guān)功能的方塊圖。意即,圖示為處理機(jī)制10的各種功能方塊,依其所執(zhí)行的功能代表圖1中繪示的硬件裝置與或互連組件(諸如總線,導(dǎo)線)。處理機(jī)制10包含緩存器14和46、傳輸方塊20和22、查表24-28(例如為表A24、表B26和表C28)、舍入與截位方塊30、平方功能方塊32、乘法方塊34和36、加法方塊38和40、減法方塊42與中斷方塊44。任何熟習(xí)此技藝者應(yīng)可了解上述組件和/或其相對(duì)功能。鑒此為簡(jiǎn)潔起見(jiàn),除下文所述部分,其余相同概念者省略討論。指定傳輸方塊20至一x,x表示的變量z0對(duì)應(yīng)于緩存器14中尾數(shù)的8位最高有效位,此最高8位與z0的各函數(shù)(諸如基底與導(dǎo)函數(shù))位于查表24-28中的地址所在相對(duì)應(yīng)。再者,指定傳輸方塊22至一xp,xp表示的變量z1(本發(fā)明中亦指稱最低有效位來(lái)源操作數(shù))與緩存器14中尾數(shù)剩余15位最低有效位相對(duì)應(yīng)。緩存器14(如數(shù)據(jù)輸入緩存器)可存放與一函數(shù)log2(x)對(duì)應(yīng)的數(shù)據(jù),且以單精度(如32位制)IEEE-754浮點(diǎn)格式表示,此格式包括符號(hào)位、指數(shù)位(如8位)和正規(guī)化格式(亦即,隱藏前導(dǎo)1,移除前導(dǎo)0且對(duì)應(yīng)至其指數(shù)縮放值)的小數(shù)字元或尾數(shù)位(如23位)。表A24與z0的基底函數(shù)對(duì)應(yīng),表B26與z0的一階導(dǎo)函數(shù)對(duì)應(yīng),而表C28與z0的二階導(dǎo)函數(shù)除以2對(duì)應(yīng)。減少圖1中所示處理機(jī)制10其復(fù)雜度的其一方法為簡(jiǎn)化方程式(1)。例如,方程式(1)可改寫(xiě)為嵌套形式(Horner′sform)y=f(z0)+z1(f′(z0)+(z1×f′′(z0)2))]]>方程式(2)改寫(xiě)方程式(1)為方程式(2)可排除對(duì)平方功能方塊32的需求。因此二階泰勒級(jí)數(shù)的嵌套形式可藉由執(zhí)行三次查表和兩次乘加運(yùn)算而實(shí)現(xiàn)。圖1所示結(jié)構(gòu)的一范例指令集可用于實(shí)現(xiàn)泰勒級(jí)數(shù),該指令集如下敘述(1)FRACR4=Normalize((R0&0x7FFF)|((((R0&0x7F800000)>>23)-9)<<23));(2)LOGTL1R1=TableLookUp1[R0&0x007F8000];(3)LOGTL2R2=TableLookUp2[R0&0x007F8000];(4)LOGTL3R3=TableLookUp3[R0&0x007F8000];(5)FMADR5=R2+(R4*R3);(6)FMADR6=R1+(R4*R5);(7)EXPADDR7=((R0&0x7F800000)>>23)+R6。指令行(1)提供一指令用以正規(guī)化輸入。換言之,上述D硬件結(jié)合圖1是根據(jù)IEEE-754浮點(diǎn)格式以執(zhí)行運(yùn)算。因此在指令(1)中,尾數(shù)的15位最低有效位轉(zhuǎn)換成一正規(guī)化浮點(diǎn)數(shù)值。在指令(2)-(4)中,R0的一數(shù)值則截位(量化)至8位。接著,執(zhí)行3次查表(f(z0)、f′(z0)和f″(z0)/2),其結(jié)果分別存儲(chǔ)至對(duì)應(yīng)的緩存器R1、R2和R3中。在指令(5)和(6)中,方程式(2)相對(duì)的操作則藉由執(zhí)行兩次浮點(diǎn)混合乘加運(yùn)算(fusedmultiply-and-addoperations,F(xiàn)MAD)。在指令(7)中,加上該指數(shù)的對(duì)數(shù)。上述的結(jié)構(gòu)和指令集明顯存在一些問(wèn)題。舉例,指令(1)和(7)在大多數(shù)結(jié)構(gòu)中為非標(biāo)準(zhǔn)化。甚者,所需的指令數(shù)目可觀(如7個(gè)指令)。亦同上文所述,這些操作典型由一專用處理單元實(shí)現(xiàn),若此對(duì)數(shù)函數(shù)較罕用將導(dǎo)致低投資報(bào)酬率。有鑒于此,縮減指令集且在一可提供常用硬件設(shè)施的結(jié)構(gòu)中實(shí)現(xiàn)該操作乃所期望者。
發(fā)明內(nèi)容本發(fā)明提供對(duì)數(shù)處理系統(tǒng)及方法的實(shí)施例,其中,一對(duì)數(shù)處理方法的實(shí)施例包含執(zhí)行第一查表以提供其對(duì)應(yīng)的一基底函數(shù)全精度格式化基底值;執(zhí)行第二查表,求得其對(duì)應(yīng)的一階壓縮值(compressedfirstvalue)和二階壓縮化約值(compressedfactoredsecondvalue),其中,一階壓縮值與基底函數(shù)的一階導(dǎo)函數(shù)對(duì)應(yīng),而二階壓縮化約值與基底函數(shù)的化約二階導(dǎo)函數(shù)(factoredsecondvalue)對(duì)應(yīng);解壓縮一階壓縮值和二階壓縮化約值;全精度格式化解壓縮的一階值和二階化約值而得全精度格式化的一階值和二階化約值;正規(guī)化一最低有效位來(lái)源操作數(shù)并全精度格式化此正規(guī)化的最低有效位來(lái)源操作數(shù)而得全精度格式化的最低有效位來(lái)源操作數(shù);執(zhí)行全精度格式化一階值與二階化約值和全精度格式化的最低有效位來(lái)源操作數(shù)的第一組合求得第一結(jié)果;執(zhí)行該第一結(jié)果與全精度格式化的最低有效位來(lái)源操作數(shù)和全精度格式化的基底值的第二組合以計(jì)算對(duì)數(shù)函數(shù)。為使本發(fā)明的其它系統(tǒng)、方法、特征和優(yōu)點(diǎn)更明顯易懂,下文特舉較佳實(shí)施例,并配合附圖,作詳細(xì)說(shuō)明如下。參照附圖可以更清楚地了解本發(fā)明,其中,附圖的組件并未按比例繪制,而是用以清楚地說(shuō)明本發(fā)明所揭示的系統(tǒng)和方法的原理。此外,在附圖中,相同的組件乃以相同的組件符號(hào)表示。圖1為執(zhí)行泰勒級(jí)數(shù)近似法相關(guān)的功能方塊圖。圖2是本發(fā)明的對(duì)數(shù)處理系統(tǒng)一施例的方塊圖。圖3至圖6為對(duì)數(shù)處理系統(tǒng)一實(shí)施例的功能方塊圖。圖7為對(duì)數(shù)處理系統(tǒng)一實(shí)施例的功能方塊圖。圖8為對(duì)數(shù)處理系統(tǒng)一實(shí)施例的功能方塊圖。圖9為對(duì)數(shù)處理方法對(duì)等于二階泰勒級(jí)數(shù)的一實(shí)施例的流程圖。圖10為對(duì)數(shù)處理方法對(duì)等于一階泰勒級(jí)數(shù)的一實(shí)施例的流程圖。附圖符號(hào)說(shuō)明10處理機(jī)制14、16緩存器20、22傳輸方塊24、28查表30舍入與截位方塊32平方功能方塊34、36乘法方塊38、40加法方塊42減法方塊44中斷方塊205計(jì)算核心207存取單元210高速緩存220EU輸出單元225任務(wù)分配器和仲裁器230執(zhí)行單元(EU)槽235EU輸入單元240執(zhí)行單元(EU)245區(qū)域內(nèi)存300對(duì)數(shù)處理系統(tǒng)302、310、322、340、350緩存器304減法方塊306中斷方塊312、314傳輸方塊316查表0318查表1/2324FMAD單元326正規(guī)化(1)方塊328格式器(2)方塊330格式器(3)方塊342、344多路復(fù)用器902執(zhí)行第一查表以提供基底函數(shù)對(duì)應(yīng)的全精度格式化基底值904執(zhí)行第二查表求得對(duì)應(yīng)的一階壓縮值和二階壓縮化約值,其中,一階壓縮值對(duì)應(yīng)于基底函數(shù)的一階導(dǎo)函數(shù),而二階壓縮化約值對(duì)應(yīng)于基底函數(shù)的化約二階導(dǎo)函數(shù)906解壓縮一階值和二階化約值,并以全精度格式化該解壓縮的一階值和二次化約值908正規(guī)化最低有效位來(lái)源操作數(shù)且以全精度格式化此正規(guī)化最低有效位來(lái)源操作數(shù)910執(zhí)行全精度格式化一階值及二次化約值和全精度格式化最低有效位來(lái)源操作數(shù)的第一組合以形成第一結(jié)果912執(zhí)行此第一結(jié)果及全精度格式化最低有效位來(lái)源操作數(shù)和全精度格式化基底值的第二組合,以計(jì)算對(duì)數(shù)函數(shù)1002執(zhí)行第一查表以提供基底函數(shù)對(duì)應(yīng)的全精度格式化基底值1004執(zhí)行第二查表求得對(duì)應(yīng)的一階壓縮值,該一階壓縮值對(duì)應(yīng)于基底函數(shù)的一階導(dǎo)函數(shù)1006解壓縮一階值且全精度格式化該解壓縮一階值1008正規(guī)化最低有效位來(lái)源操作數(shù)且以全精度格式化該正規(guī)化最低有效位來(lái)源操作數(shù)1010組合全精度格式化基底值、全精度格式化一階值及全精度格式化最低有效位來(lái)源操作數(shù),以計(jì)算對(duì)數(shù)函數(shù)具體實(shí)施方式本發(fā)明揭示對(duì)數(shù)處理系統(tǒng)和方法(本發(fā)明稱作對(duì)數(shù)處理系統(tǒng))的各種實(shí)施例。此類對(duì)數(shù)處理系統(tǒng)可減少計(jì)算對(duì)數(shù)(例如為log2(x))所使用的專用邏輯的數(shù)量,并且此對(duì)數(shù)處理系統(tǒng)可善用現(xiàn)有具標(biāo)準(zhǔn)浮點(diǎn)混合乘加(fusedmu1tiply-add,F(xiàn)MAD)硬件的可程序處理單元。為達(dá)到此目標(biāo),可執(zhí)行一個(gè)或一個(gè)以上的對(duì)數(shù)指令集或方法,此類指令集或方法包含標(biāo)準(zhǔn)FMAD硬件中可支持的“基本”運(yùn)算。此外,為滿足現(xiàn)有處理管線的時(shí)程目標(biāo)亦使用一最小指令集。FMAD硬件的用途為將輸入正規(guī)化與全精度格式化,及轉(zhuǎn)換浮點(diǎn)數(shù)值至標(biāo)準(zhǔn)格式,如IEEE-754格式。請(qǐng)注意,本發(fā)明中對(duì)于全精度格式化值,應(yīng)理解成包括正規(guī)化單精度、雙精度或更高精度的IEEE-754格式。盡管全精度格式化在本發(fā)明中揭示于正規(guī)化單精度IEEE-754格式的背景下,但熟知本發(fā)明所屬
技術(shù)領(lǐng)域:
的人員應(yīng)可了解,雙精度或更高精度的格式亦可包括在較佳實(shí)施例的范疇內(nèi),如通過(guò)延長(zhǎng)表(table)和/或字段(field)的大小。對(duì)數(shù)處理系統(tǒng)的某些實(shí)施例包含兩個(gè)用于計(jì)算對(duì)數(shù)的基底函數(shù)和導(dǎo)函數(shù)的函數(shù)表,亦包含多種邏輯單元(如硬件,諸如計(jì)數(shù)器、線或(wire-OR)電路、前導(dǎo)零(CLZ)計(jì)數(shù)電路和/或緩存器等)來(lái)處理查德表輸出(例如為格式化和/或正規(guī)化的值)并把處理好的輸出供予計(jì)算對(duì)數(shù)所用的標(biāo)準(zhǔn)FMAD硬件。與現(xiàn)有系統(tǒng)相比,該類實(shí)施例使用一簡(jiǎn)化的指令集(例如,相較于傳統(tǒng)系統(tǒng)中約7條指令僅需使用3或4條指令)來(lái)運(yùn)算且可避免或緩和專用硬件的使用率。以下揭示內(nèi)容描述一處理環(huán)境實(shí)施例,該環(huán)境可實(shí)現(xiàn)一個(gè)或數(shù)個(gè)的對(duì)數(shù)處理系統(tǒng),隨后描述一實(shí)現(xiàn)泰勒級(jí)數(shù)近似法的實(shí)施例(亦即,對(duì)數(shù)處理系統(tǒng)的實(shí)施例)。盡管本發(fā)明的內(nèi)容以圖形處理的計(jì)算核心為背景,但所揭示的實(shí)施例基本上可并入到任何執(zhí)行泰勒級(jí)數(shù)近似法以計(jì)算對(duì)數(shù)函數(shù)的處理環(huán)境中。例如,本發(fā)明所述的實(shí)施例可結(jié)合或內(nèi)置于中央處理器,數(shù)字信號(hào)處理器與其它各類功能的計(jì)算單元。圖2繪示一圖形處理單元(graphicsprocessingunit,GPU)計(jì)算核心205的方塊圖。盡管未完全繪示所有圖形處理的組件,但圖2所示的組件足以讓熟知所屬
技術(shù)領(lǐng)域:
的人員能夠了解該類圖形處理器和對(duì)數(shù)處理系統(tǒng)的實(shí)施例其相關(guān)的一般函數(shù)和結(jié)構(gòu)。如圖2所示,計(jì)算核心205包含一耦接于二級(jí)(L2)高速緩存210的內(nèi)存存取單元(memoryaccessunit)207。該內(nèi)存存取單元207接收來(lái)自例如內(nèi)存接口單元(未繪示)的L2預(yù)取和溢出。L2高速緩存210從輸入緩沖器(未繪示)接收預(yù)轉(zhuǎn)換頂點(diǎn)(pre-transformvertices)(輸入J),并將后轉(zhuǎn)換頂點(diǎn)(post-transformvertices)(輸出H)提供至三角屬性單元(triangleattributeunit)(未繪示)。計(jì)算核心205亦包含一執(zhí)行單元(EU)槽230,其包括多個(gè)執(zhí)行單元(EU)240和一個(gè)EU控制和區(qū)域內(nèi)存245。在實(shí)施例中,每個(gè)EU240包含一對(duì)數(shù)處理系統(tǒng)300(將進(jìn)一步敘述于下文),且每個(gè)EU240能在單個(gè)時(shí)鐘周期內(nèi)處理多條指令。盡管圖2中繪示8個(gè)EU(標(biāo)記為EU0到EU7),但知悉本發(fā)明的
技術(shù)領(lǐng)域:
者應(yīng)能了解,EU數(shù)目無(wú)需限制為8個(gè),在某些實(shí)施例中可以具有更多或更少的EU。計(jì)算核心205更包含一EU輸入單元235和一EU輸出單元220,分別提供輸入至EU槽230和從EU槽230接收輸出。EU輸入單元235和EU輸出單元220可為縱橫交換結(jié)構(gòu)(crossbar)或總線或其它已知輸入機(jī)制。EU輸入單元235從一輸入緩沖器接收預(yù)變換頂點(diǎn)(輸入B),且將該信息提供給EU槽230以供各EU240處理。此外,EU輸入單元235接收像素封包(輸入C)和紋理封包(輸入D)且將這些封包傳遞至EU槽230以供各EU240處理。EU輸入單元235亦可從L2高速緩存210接收信息,且必要時(shí)將該信息提供給EU槽230。該信息可由高速緩存210、縱橫交換結(jié)構(gòu)235提供以及/或從先前運(yùn)算中產(chǎn)生。在一較佳實(shí)施例中,執(zhí)行l(wèi)og2計(jì)算所產(chǎn)生的值可置放在各EU240的區(qū)域緩存器中。EU輸出單元220接收EU槽230的輸出,諸如UVRQ和RGBA。這些輸出,相異于他者,可被指引回L2高速緩存210,或者可從計(jì)算核心205輸出(E)至一個(gè)寫(xiě)回單元(write-backunit,未繪示),或者可輸出(F)到各紋理單元(未繪示)。計(jì)算核心205也包含任務(wù)分配器和仲裁器225,其自封包組裝器(未繪示)接收標(biāo)簽(tag)/同步信號(hào)(synchro)。藉由此輸入,任務(wù)分配器和仲裁器225可控制EU輸入單元235和EU輸出單元220。換句話說(shuō),任務(wù)分配器和仲裁器225可分別控制經(jīng)過(guò)EU輸入單元235和EU輸出單元220其相對(duì)的流入和流出。至于指令的執(zhí)行可藉由位于每一對(duì)數(shù)處理系統(tǒng)300(各自相對(duì)于EU0至EU7)中的硬件來(lái)實(shí)施。圖3至圖6分別繪示一對(duì)數(shù)處理系統(tǒng)300(例如300a、300b等)實(shí)施例的各類功能方塊圖,其中系統(tǒng)300提供泰勒級(jí)數(shù)近似法的改良處理以計(jì)算函數(shù)f(x)的對(duì)數(shù)值。請(qǐng)注意,本發(fā)明中使用的變量“z”應(yīng)理解為存儲(chǔ)在一個(gè)或一個(gè)以上的表中的一個(gè)“x”(例如為函數(shù)f(x)的“x”)值。另外請(qǐng)注意,圖3至圖6(和圖7至圖8)所繪示及敘述的功能方塊或組件可包含硬件裝置,諸如算術(shù)邏輯單元(ALU)或其它電路、互連組件(例如為線路、總線)等。由對(duì)數(shù)處理系統(tǒng)300可觀察導(dǎo)出以下各項(xiàng)(a)f(x)∈(0,1),f′(x)∈(0.722,1.443)和f″(x)/2∈(-0.181,-0.722)亦即,各函數(shù)和其對(duì)數(shù)函數(shù)的導(dǎo)函數(shù)值皆落在一可知范圍內(nèi)。例如,log2函數(shù)的一階導(dǎo)函數(shù)落在log2(e)(1.443)與log2(e)/2(0.722)之間。同理,二階導(dǎo)函數(shù)的計(jì)算值落在可知范圍(0.181至0.722)內(nèi)。(b)z1小于2-8(1/256或0.00391)。意即z12小于2-16(1/65536or0.0000153)。由此可知,僅需存儲(chǔ)f″(z0)/2表的7個(gè)最高有效位和f′(z0)表的15個(gè)最高有效位,二者將在下文中解釋。亦即,f′和f″(一階和二階導(dǎo)函數(shù))都界定在上文所述的可定義范圍內(nèi)。再者,z0具有8個(gè)前導(dǎo)零而z1具有15個(gè)前導(dǎo)零。因此,為達(dá)到一24位的尾數(shù),僅需存儲(chǔ)與f″對(duì)應(yīng)的7位和與f′對(duì)應(yīng)的15位,另以兩位存儲(chǔ)f″(x)/2的指數(shù),1位存儲(chǔ)f′(x)的指數(shù)。假定f′(x)和f″(x)/2的查表都共享相同地址,那么因?yàn)閮蓚€(gè)查表皆符合一般32位字故可相互組合以存儲(chǔ)。更深入解釋,若CPU或DSP的浮點(diǎn)單元(FPU)符合IEEE-754規(guī)范,則輸入為正規(guī)化數(shù)值。若有一表符合該格式,則須以整數(shù)或布爾運(yùn)算來(lái)執(zhí)行解封包和正規(guī)化,而導(dǎo)致運(yùn)算減慢。在此情況下對(duì)CPU或DSP的FPU而言,多項(xiàng)式法較適宜,因其僅需存儲(chǔ)多項(xiàng)式系數(shù)。如此,本實(shí)施例毋須如標(biāo)準(zhǔn)協(xié)議中使用三次的查表(在先前技術(shù)中所描述),僅需執(zhí)行兩次的查表第一查表(本發(fā)明稱作LOGTL1)用以查找f(x),而第二查表(本發(fā)明稱作LOGTL2)用于f′(x)和f″(x)/2的組合查找(本發(fā)明將后者稱作化約二階導(dǎo)函數(shù))。由方程式(2)可得以下方程序(3)和(4)T=f′(z0)+(z1×f′′(z0)2)]]>方程式(3)y=f(z0+(z1×T))方程式(4)如方程式3和4所示,本實(shí)施例包含兩次FMAD運(yùn)算。因此,指令集的一實(shí)施例(本發(fā)明亦稱作算法1)可描述如下(1)LOGTL1R1=TableLookup1[R0&0x007F8000];(2)LOGTL2R2=TableLookup2[R0&0x007F8000];(3)CFMAD1R3=-NORM(R2[21:10])+(NORM(R0[14:01])*NORM(R2[9:0]));(4)CFMAD2R4=R1+(NORM(R0[14:01])*R3)。此指令集的描述參照對(duì)數(shù)處理系統(tǒng)300的實(shí)施例及圖3至6敘述中相關(guān)的各部分(300a-1至300a-4)。圖3是對(duì)數(shù)處理系統(tǒng)300a-1中執(zhí)行LOGTL1運(yùn)算部分的方塊圖。請(qǐng)注意,本發(fā)明所述的緩存器(例如為R0-R4)為一般緩存器,可用作各運(yùn)算的來(lái)源緩存器與目的緩存器。如圖3所示,對(duì)數(shù)處理系統(tǒng)300a-1包含緩存器302(輸入緩存器R0)和310(R1)、減法方塊304、中斷方塊306、傳輸方塊312(x)和314(xp)以及查表0316(其功能與f(z0)表的功能對(duì)應(yīng))。緩存器302中的數(shù)據(jù)具有一符號(hào)位、指數(shù)位和尾數(shù)。在實(shí)施例中,尾數(shù)包含23位,其中最高8位[22:15]與查表中f(x)各函數(shù)(例如為基底函數(shù)和導(dǎo)函數(shù))的地址所在相對(duì)應(yīng),諸如查表0316對(duì)應(yīng)至f(x)的基底函數(shù)z0。傳輸方塊314傳遞與z1函數(shù)對(duì)應(yīng)的尾數(shù)的最低15位(最低有效位來(lái)源操作數(shù))。z0函數(shù)經(jīng)計(jì)算提供給緩存器310,其對(duì)應(yīng)值以單精度正規(guī)化IEEE-754格式存儲(chǔ)。緩存器302中指數(shù)部分提供至減法方塊304,此減法方塊304執(zhí)行指數(shù)值與偏差值127的減法運(yùn)算,并將所得差值提供至中斷方塊306。中斷方塊306從緩存器302接收一符號(hào)位,且根據(jù)此符號(hào)位來(lái)設(shè)置緩存器310中的符號(hào)位和指數(shù)位。例如,在下文的偽代碼中所示事件的一發(fā)生時(shí)發(fā)送中斷信號(hào)(“mant”表示尾數(shù)而“inf”表示無(wú)窮(infinite))If(sandexp?。?)resultisNaNIf(exp==255&mant!=0)resultisNaNIf(exp==0)resultisinfIf(s?。?andexp==255andmant==0)resultis+inf圖4為對(duì)數(shù)處理系統(tǒng)300a-2中執(zhí)行LOGTL2運(yùn)算部分的方塊圖,其繪示包含輸入緩存器302(R0)、目的緩存器322(R2)和傳輸方塊312和314以及查表1/2318(其功能與f′(z0)表和f″(z0)/2表對(duì)應(yīng))。該除以2運(yùn)算是內(nèi)建于查表1/2318的f″(z0)功能中,盡管在某些實(shí)施例中該運(yùn)算可與查表318分離。根據(jù)一階與二階導(dǎo)函數(shù)給定一數(shù)值范圍,查表1/2318和緩存器322以壓縮化非單精度(非IEEE-754)格式存儲(chǔ)其值,詳情如下文。如上文所指,傳輸方塊312所傳遞的最高8位用于尋址查表。一26位的數(shù)值回傳至緩存器322(如為一32位緩存器),用以響應(yīng)此查表及計(jì)算一階導(dǎo)函數(shù)(f′)與二階導(dǎo)函數(shù)(f″),緩存器322包含查表312傳遞的位。緩存器322的位配置為較低10位用以保存f″運(yùn)算的輸出而其余16位用以保存f′運(yùn)算的輸出。如上文所述,f′(x)∈(0.722,1.443),因此,查表1/2318所對(duì)應(yīng)的函數(shù)可以正規(guī)化格式、非單精度格式(非IEEE-754)來(lái)存儲(chǔ),其中位[22]被設(shè)置成1或0,以表示指數(shù)中何處需減去1。例如,0.722大于0.5但小于1,因此0.722可以表示成1.xxxx*2^-1,而1和更大的數(shù)可以表示成1.xxx*2^0。因此,位[22]可作為指數(shù)偏差量,且指數(shù)是127(經(jīng)正規(guī)化)且無(wú)需存儲(chǔ)(僅需存儲(chǔ)1位)。這些值可用壓縮格式來(lái)存儲(chǔ),其中所謂的壓縮乃指存儲(chǔ)狀態(tài),是依正規(guī)化格式僅存儲(chǔ)與導(dǎo)函數(shù)的值對(duì)應(yīng)的某部分尾數(shù)(例如為一階導(dǎo)函數(shù)的15位)和表示指數(shù)為1或0的1個(gè)位。因此,無(wú)需以全(例如為單)精度IEEE-754格式存儲(chǔ)該一階導(dǎo)函數(shù)值。類似于上文所述的原因,查表1/2318中所計(jì)算的化約二階導(dǎo)函數(shù)f″(x)/2∈(0.181,-0.722)亦可以壓縮格式存儲(chǔ)。意即,當(dāng)藉由改變指數(shù)來(lái)正規(guī)化浮點(diǎn)數(shù)時(shí),浮點(diǎn)數(shù)呈1.xxxx*2^n的形式。因此,對(duì)于IEEE浮點(diǎn)格式而言,指數(shù)具有隱含的1,因此無(wú)需進(jìn)行存儲(chǔ)(亦即,無(wú)需存儲(chǔ)前導(dǎo)1)。位[9:7]表示從指數(shù)中減去的值。如前所論的f′(x),f″(x)/2處在可定義范圍(0.181,-0.722)內(nèi)。請(qǐng)注意,0.181等于1.0111001*2^-3,0.733等于1.0111000*2^-1。因此,所存儲(chǔ)者為指數(shù)與127的偏差量(亦即,存儲(chǔ)于位[9:7]中落于[1..3]其間的一值)。因此,在實(shí)施例中,指數(shù)必為127(帶偏差)且無(wú)需存儲(chǔ)到查表1/2318中。同樣地,因?yàn)樵趯?shí)施例中f″(x)/2必為負(fù),所以符號(hào)位無(wú)需存儲(chǔ)到查表1/2318中。如同一階導(dǎo)函數(shù)所對(duì)應(yīng)的值,二階化約導(dǎo)函數(shù)所對(duì)應(yīng)的值可以壓縮格式而非全單精度IEEE-754格式存儲(chǔ)。在某些實(shí)施例中,與FMAD型運(yùn)算相比LOG2的利用率相對(duì)較低,故可藉由限制發(fā)行率(issuerate)以最小化所需的查表數(shù)。舉例如算法1中所示,可使用4條指令。若LOGTL1和LOGTL2的發(fā)行率限制在每N周期1條時(shí),那么單一LOGTL1和LOGTL2單元可由N個(gè)單指令多數(shù)據(jù)(single-instruction,multipledata,SIMD)單元共享。圖5繪示對(duì)數(shù)處理系統(tǒng)300a-3中執(zhí)行CFMAD1(修改的FMAD)運(yùn)算部分的方塊圖。對(duì)數(shù)處理系統(tǒng)300a-3包含緩存器322(R2,保存從查表1/2318所得的壓縮值)、緩存器302(R0)、傳輸方塊312和314、FMAD單元324、格式器(2)方塊328、格式器(3)方塊330和正規(guī)化(1)方塊326。在一個(gè)實(shí)施例中,格式器(2)方塊328與格式器(3)方塊330大體上相同,但與正規(guī)化(1)方塊326不同。正規(guī)化(1)方塊326正規(guī)化和格式化(為單精度IEEE-754格式)來(lái)自緩存器R0302(經(jīng)由傳輸方塊314)的最低有效位來(lái)源操作數(shù)。正規(guī)化(1)方塊326可包含一前導(dǎo)零計(jì)數(shù)(CLZ)電路(例如為15位的前導(dǎo)零計(jì)數(shù))用以找出緩存器中前導(dǎo)1和一移位電路(例如為用來(lái)執(zhí)行15位左移的多路復(fù)用電路)用以將值左移至前導(dǎo)1出現(xiàn)。正規(guī)化(1)方塊326亦可包含一個(gè)計(jì)數(shù)器(例如用以調(diào)整指數(shù)值,諸如減去所執(zhí)行的左移的數(shù)目)和一線或(wire-OR)電路(例如用以重建32位浮點(diǎn)值)。因此,在實(shí)施例中,正規(guī)化(1)方塊326包含邏輯,例如為前導(dǎo)零計(jì)數(shù)電路、移位電路、計(jì)數(shù)器和線或電路。就CLZ而言,如果CLZ回傳值N,那么待正規(guī)化的值將移位N+1位且指數(shù)減少N+1。請(qǐng)注意,如上文所述,前導(dǎo)1無(wú)須存儲(chǔ),因?yàn)樗央[含在IEEE-754中。格式器(2)方塊328和格式器(3)方塊330解壓縮存儲(chǔ)在緩存器322(R2)的值,并將解壓縮后的值轉(zhuǎn)換成單精度IEEE-754格式。在該數(shù)的余數(shù)已為前導(dǎo)1格式的情況下,格式器(2)方塊328和格式器(3)方塊330保存指數(shù)偏差量,因而減除提供移位功能的需要。然而,格式器(2)方塊328和格式器(3)方塊330都需要各自將尾數(shù)轉(zhuǎn)換成單精度IEEE-754格式,且最低有效位為0。格式器(2)方塊328將符號(hào)位設(shè)為0,格式器(3)方塊330將符號(hào)位設(shè)為1。因此,在實(shí)施例中,格式器方塊328和330可分別包含邏輯電路,諸如線或電路和計(jì)數(shù)器(例如為用來(lái)減去或加上指數(shù)偏差量,其例如為127)。請(qǐng)注意,正規(guī)化(1)方塊326可包含格式器方塊328、330。視結(jié)構(gòu)和系統(tǒng)需要而定,正規(guī)化(1)方塊326及格式器方塊328和330可在各處理級(jí)中實(shí)施。例如,在目的執(zhí)行管線中,一管線階段(pipelinestage)存在于修改來(lái)源的FMAD運(yùn)算與操作數(shù)提取操作之間。因此,此一管線階段也可用于正規(guī)化及格式化處理,且無(wú)需修改FMAD單元324。換言之,對(duì)數(shù)處理系統(tǒng)300-3可藉于一標(biāo)準(zhǔn)FMAD管線中添加正規(guī)化(1)方塊326與格式器方塊328與330而實(shí)現(xiàn)。除緩存器322(R2,其保存LOGTL1運(yùn)算的輸出值(查表1/2318))外,CFMAD1運(yùn)算也使用緩存器R0302(經(jīng)由傳輸方塊314)和緩存器R3340。緩存器R0302保存原始來(lái)源操作數(shù),而乘法/加法運(yùn)算結(jié)果則存儲(chǔ)在緩存器R3340內(nèi)。正規(guī)化(1)方塊326以及格式器方塊328和330各自可采用兩個(gè)輸入。其中一輸入是待正規(guī)化/格式化的值,而另一輸入是指數(shù)調(diào)整值。正規(guī)化(1)方塊326接收8位格式的值127。正規(guī)化(1)方塊326所實(shí)施的15位左移可與指數(shù)更新平行處理。緩存器322中查表1/2的值為正規(guī)化格式(例如,總有一個(gè)未被存儲(chǔ)的外顯前導(dǎo)1),而此偏差指數(shù)為127且未被存儲(chǔ)。因此,對(duì)等于格式器(2)方塊328和格式器(3)方塊330操作的函數(shù)可實(shí)施如下Formatter2/Formatter3(Input1,Input2)BEGINOutput[31]=1;Output[30:23]=127-Input2;Output[22:0]={Input1,0*};//將0填入最低有效位END正規(guī)化(1)方塊326的輸入并未正規(guī)化,而是呈現(xiàn)一0.00000000x14x13..x0格式,與格式器(2)方塊328和格式器(3)方塊330的輸入不同。換言之,正規(guī)化(1)方塊326的輸入是以非正規(guī)化形式處理(例如非1而為0),且此輸入包含在二進(jìn)制為0其后的前導(dǎo)8位,故最低有效15位(亦即,x14x13..x0)需正規(guī)化。因此,一前導(dǎo)1設(shè)置機(jī)制可實(shí)施如下Normalizel(Inputl,Input2)BEGINCLZ=CountLeadingZeros(Input1)+1;Sign=0;EXP=127-Input2-CLZ;MANT=ShiftLeft(Input1,CLZ);Output[31]=Sign;Output[22:0]={MANT,o*};//將0填入最低有效位END格式器和正規(guī)化(326、328和330)的輸出乃是提供給標(biāo)準(zhǔn)FMAD單元324,該單元把正規(guī)化(1)方塊326輸出值與格式器(2)方塊328輸出值相乘,而后將所得結(jié)果與格式器(3)方塊330輸出值相加,最后的總和存儲(chǔ)在R3340中。圖6為對(duì)數(shù)處理系統(tǒng)300a-4中一執(zhí)行CFMAD2運(yùn)算區(qū)塊的方塊圖。對(duì)數(shù)處理系統(tǒng)300a-4包括緩存器302(R0)、310(R1)、340(R3,其保存FMAD單元324對(duì)應(yīng)的CFMAD1運(yùn)算的輸出值)和350(R4,其保存FMAD單元324對(duì)應(yīng)的CFMAD2運(yùn)算的輸出值)。對(duì)數(shù)處理系統(tǒng)300a-4也包括傳輸方塊312和314、FMAD單元324和正規(guī)化(1)方塊326。CFMAD2運(yùn)算為一三來(lái)源操作數(shù)混合浮點(diǎn)乘加運(yùn)算。CFMAD2運(yùn)算包含于正規(guī)化(1)方塊326正規(guī)化緩存器302(R0)的內(nèi)容來(lái)源輸入,其中正規(guī)化方塊326提供FMAD單元324一輸出以供與緩存器340(R0)的內(nèi)容相乘。其相乘的結(jié)果加入至來(lái)源輸入緩存器310(R1)的內(nèi)容中,并將相加所得結(jié)果存儲(chǔ)到緩存器350(R4)中。較低精度的log2(x)運(yùn)算可以相同的查表和線性內(nèi)插法(一階泰勒級(jí)數(shù))實(shí)現(xiàn),如以下方程序(5)所示y=f(z0)+z1×f′(z0)方程式(5)該方程式可以圖7所示方法實(shí)施。圖7為對(duì)數(shù)處理系統(tǒng)300b中一CFMAD3運(yùn)算部分實(shí)施例的方塊圖。對(duì)數(shù)處理系統(tǒng)300b包含與圖3至圖6所示對(duì)數(shù)處理系統(tǒng)300a(300a-1到300a-3)相同或類似的硬件組件。對(duì)數(shù)處理系統(tǒng)300b包含緩存器302、322、340和310、傳輸方塊312和314、正規(guī)化(1)方塊326和格式器(3)方塊330以及FMAD單元324。控制對(duì)數(shù)處理系統(tǒng)300b操作的指令集(本實(shí)施例也稱作算法2)實(shí)施例如下(1)LOGTL1R1=TableLookup1[R0&0x007F8000];(2)LOGTL2R2=TableLookup2[R0&0x007F8000];(3)CFMAD3R3=R1+(NORM(R0[14:01])*-NORM(R2[21:10]))因此,對(duì)數(shù)處理系統(tǒng)300b的另一個(gè)實(shí)施例包含兩次查表和單次FMAD運(yùn)算。運(yùn)算格式近似于上文所述的CFMAD2指令,但其中兩個(gè)來(lái)源操作數(shù)并未IEEE-754正規(guī)化且其結(jié)果存儲(chǔ)在緩存器R3340中。因此,定義出一額外指令CFMAD3。圖8繪示對(duì)數(shù)處理系統(tǒng)300c的部分實(shí)施例,此對(duì)數(shù)系統(tǒng)結(jié)合前述實(shí)施例(300a和300b)二者的功能。尤其,CFMAD1,CFMAD2和/或CFMAD3運(yùn)算對(duì)應(yīng)的邏輯基礎(chǔ)為圖3與圖4相關(guān)敘述中的LOGTL1與LOGTL2,其操作與各組件亦視為對(duì)數(shù)系統(tǒng)300c的一部份。對(duì)數(shù)處理系統(tǒng)300c包括緩存器322(R2,其保存查表1/2318所得的壓縮值)、緩存器340(R3,其保存CFMAD1運(yùn)算第一結(jié)果對(duì)應(yīng)的單精度IEEE-754值)、緩存器310(R1,其保存自查表0316所得的單精度IEEE-754值)、緩存器302(R0,未繪示,但用于提供傳輸方塊314原始來(lái)源操作數(shù))和用于存儲(chǔ)CFMAD2運(yùn)算(或CFMAD3運(yùn)算)最終結(jié)果的緩存器350(R4)。對(duì)數(shù)處理系統(tǒng)300c也包括轉(zhuǎn)移方塊314、FMAD單元324、正規(guī)化(1)方塊326、格式器(2)方塊328與格式器(3)方塊330和多路復(fù)用器342和344(說(shuō)明如下)。在操作過(guò)程中,格式器方塊328和330的輸出值提供至多路復(fù)用器342和344,其一實(shí)施例中可分別把兩個(gè)多路復(fù)用器建構(gòu)成2:1和3:1的多路復(fù)用器。特別的是,多路復(fù)用器342自格式器(3)方塊330和緩存器310接收輸入,且依據(jù)為下文所述的控制輸入MADop1與MADop2,提供一輸出至FMAD單元324的輸入c。多路復(fù)用器344自格式器方塊(2)328和格式器(3)方塊330以及緩存器340接收輸入。根據(jù)控制輸入MADop1和MADop2,多路復(fù)用器344提供一輸出值至FMAD單元324的輸入端b。最后,正規(guī)化(1)方塊326提供一輸出值至FMAD單元324的輸入端a。就CFMAD1運(yùn)算(如上所述的算法1中)而言且根據(jù)提供至多路復(fù)用器342和344的控制輸入MADop1和MADop2,正規(guī)化(1)方塊326和格式器方塊328和330提供輸出值至標(biāo)準(zhǔn)FMAD單元324,該標(biāo)準(zhǔn)FMAD單元324將正規(guī)化(1)方塊326的輸出值與格式器(2)方塊328的輸出值相乘,再將所得結(jié)果和格式器(3)方塊330的輸出相加。至于CFMAD1運(yùn)算的結(jié)果則暫時(shí)存儲(chǔ)在緩存器340(R3)中。CFMAD2運(yùn)算是一個(gè)三來(lái)源操作數(shù)浮點(diǎn)混合乘加運(yùn)算。CFMAD2運(yùn)算于正規(guī)化方塊326內(nèi)正規(guī)化內(nèi)容來(lái)源輸入緩存器302,該正規(guī)化(1)方塊326提供一輸出值至FMAD單元324的輸入端a,以與緩存器340(R3)的內(nèi)容相乘。該相乘的結(jié)果與緩存器310(R1)的內(nèi)容相加,并將相加結(jié)果存儲(chǔ)至緩存器350(R4)中。CFMAD3相對(duì)的運(yùn)算是通過(guò)自多路復(fù)用器342和344與控制輸入MADop1與MADop2間選擇輸入組合而啟動(dòng)。CFMAD1,CFMAD2與CFMAD3三者的多路復(fù)用器組合如下表所述請(qǐng)注意,值0-2相對(duì)于圖8中所示多路復(fù)用器342和344所示的輸入端選擇0-2。由上述可得,一對(duì)數(shù)處理方法300d實(shí)施例包含(如圖9中所示)執(zhí)行第一查表求得對(duì)應(yīng)的一正規(guī)化全精度IEEE-754格式化的基底函數(shù)(902);執(zhí)行第二查表求得對(duì)應(yīng)的一階壓縮值與二階壓縮化約值,其中,此一階壓縮值與基底函數(shù)的一階導(dǎo)函數(shù)相對(duì)應(yīng),而此二階壓縮化約值則與基底函數(shù)的化約二階導(dǎo)函數(shù)(904)相對(duì)應(yīng);解壓縮該一階值與二階化約值,并以全精度(IEEE-754)格式化該解壓縮的一階值和二次化約值(906);正規(guī)化一最低有效位來(lái)源操作數(shù)并以全精度(IEEE-754)格式化此正規(guī)化最低有效位來(lái)源操作數(shù)(908);由執(zhí)行全精度格式化一階值與二階化約值與全精度格式化最低有效位來(lái)源操作數(shù)的第一組合求得第一結(jié)果(910);由執(zhí)行此第一結(jié)果與全精度格式化最低有效位來(lái)源操作數(shù)和全精度格式化基底值的第二組合以計(jì)算對(duì)數(shù)函數(shù)(912)。由上述可得,一對(duì)數(shù)處理方法300e的實(shí)施例包含(如圖10中所示)執(zhí)行第一查表求得與基底函數(shù)對(duì)應(yīng)的正規(guī)化全精度IEEE-754格式化基底值(1002);執(zhí)行第二查表求得對(duì)應(yīng)的一階壓縮值,此一階壓縮值乃與基底函數(shù)的一階導(dǎo)函數(shù)相對(duì)應(yīng)(1004);解壓縮該一階值且全精度格式化此解壓縮的一階值(1006);正規(guī)化最低有效位來(lái)源操作數(shù)且全精度格式化此正規(guī)化最低有效位來(lái)源操作數(shù)(1008);以及組合全精度格式化基底值、全精度格式化一階值與全精度格式化最低有效位來(lái)源操作數(shù)以計(jì)算對(duì)數(shù)函數(shù)(1010)。圖9和圖10的流程圖中的任何步驟的描述或方塊應(yīng)視為表示代碼模塊、代碼區(qū)段或代碼的某些部分,而這些代碼包括一條或一條以上的可執(zhí)行指令以實(shí)現(xiàn)流程中特定邏輯功能或步驟。本發(fā)明所屬
技術(shù)領(lǐng)域:
的人員皆可了解,其它替代性的實(shí)施例也包括在本說(shuō)明書(shū)所揭示內(nèi)容的較佳實(shí)施例的范疇內(nèi),而在此范疇內(nèi)的所繪示或所討論的操作與步驟可根據(jù)功能的不同而以不同的順序來(lái)執(zhí)行,其中這些順序包括同時(shí)發(fā)生或相反的次序。雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其用并非限定于本發(fā)明,任何熟習(xí)此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的申請(qǐng)專利范圍所界定者為準(zhǔn)。權(quán)利要求1.一種用于計(jì)算對(duì)數(shù)函數(shù)的方法,包括執(zhí)行第一查表,求得一基底函數(shù)對(duì)應(yīng)的全精度格式化基底值;執(zhí)行第二查表,求得對(duì)應(yīng)的一階壓縮值,而該一階壓縮值對(duì)應(yīng)于該基底函數(shù)的一階導(dǎo)函數(shù);解壓縮該一階壓縮值;全精度格式化該解壓縮一階值,以提供一全精度格式化的一階值;正規(guī)化一最低有效位來(lái)源操作數(shù),且以全精度格式化該正規(guī)化最低有效位來(lái)源操作數(shù)以提供一全精度格式化最低有效位來(lái)源操作數(shù);以及執(zhí)行一組合步驟,組合該全精度格式化基底值、該全精度格式化一階值與該全精度格式化最低有效位來(lái)源操作數(shù),以計(jì)算該對(duì)數(shù)函數(shù)。2.根據(jù)權(quán)利要求1所述的方法,其中,該組合的步驟包括計(jì)算一個(gè)一階泰勒級(jí)數(shù)。3.根據(jù)權(quán)利要求1所述的方法,其中,該組合的步驟包括將該全精度格式化一階值與該全精度格式化最低有效位來(lái)源操作數(shù)相乘,而得一乘積,且該組合的步驟更進(jìn)一步包括將該乘積與該全精度格式化基底值相加。4.根據(jù)權(quán)利要求1所述的方法,其中,該基底函數(shù)包括一個(gè)與該對(duì)數(shù)函數(shù)log2(x)對(duì)應(yīng)的一階泰勒級(jí)數(shù)y=f(z0)+z1×f′(z0),其中,x等于z0+z1。5.根據(jù)權(quán)利要求4所述的方法,其中,該最低有效位來(lái)源操作數(shù)對(duì)應(yīng)于z1,該全精度格式化基底值對(duì)應(yīng)于f(z0),該基底函數(shù)的一階導(dǎo)函數(shù)對(duì)應(yīng)于f’(z0)。6.根據(jù)權(quán)利要求1所述的方法,其中,以全精度格式化該解壓縮一階值以提供一全精度格式化的一階值,其步驟包括將該解壓縮一階值轉(zhuǎn)換為正規(guī)化IEEE754格式。7.根據(jù)權(quán)利要求1所述的方法,其中,該組合的步驟乃藉由標(biāo)準(zhǔn)混合浮點(diǎn)乘加軟件來(lái)實(shí)施。8.一種用于計(jì)算對(duì)數(shù)函數(shù)的方法,包括執(zhí)行一第一查表,以提供一基底函數(shù)對(duì)應(yīng)的一全精度格式化基底值;執(zhí)行一第二查表,求得對(duì)應(yīng)的一階壓縮值與二階壓縮化約值,該一階壓縮值對(duì)應(yīng)于該基底函數(shù)的一階導(dǎo)函數(shù),而該二階壓縮化約值對(duì)應(yīng)于該基底函數(shù)化約二階導(dǎo)函數(shù);解壓縮該一階壓縮值與二階壓縮化約值;全精度格式化該解壓縮一階值和二階化約值,以提供全精度格式化的一階值和二階化約值;正規(guī)化一最低有效位來(lái)源操作數(shù)并以全精度格式化該正規(guī)化最低有效位來(lái)源操作數(shù),以提供一全精度格式化最低有效位來(lái)源操作數(shù);執(zhí)行一第一組合的步驟,組合該全精度格式化一階值及二階化約值與該全精度格式化最低有效位來(lái)源操作數(shù),以形成一第一結(jié)果;以及執(zhí)行一第二組合的步驟,組合該第一結(jié)果及該全精度格式化最低有效位來(lái)源操作數(shù)與該全精度格式化的基值,以計(jì)算該對(duì)數(shù)函數(shù)。9.根據(jù)權(quán)利要求8所述的方法,其中,該第一組合和該第二組合的步驟包括計(jì)算一個(gè)二階泰勒級(jí)數(shù)。10.根據(jù)權(quán)利要求8所述的方法,其中,該第一組合的步驟包括將該全精度格式化二階化約值與該全精度格式化最低有效位來(lái)源操作數(shù)相乘,且該第一組合的步驟更包括加上該全精度格式化一階值以形成該第一結(jié)果。11.根據(jù)權(quán)利要求8所述的方法,其中,該第二組合的步驟包括將該第一結(jié)果與該全精度格式化最低有效位來(lái)源操作數(shù)相乘,且該第二組合的步驟更包括加上該全精度格式化的基值。12.根據(jù)權(quán)利要求8所述的方法,其中該基底函數(shù)的化約二階導(dǎo)函數(shù)包括該基底函數(shù)的一個(gè)二階導(dǎo)函數(shù)除以2。13.根據(jù)權(quán)利要求8所述的方法,其中,該基底函數(shù)包括一個(gè)y=f(z0+(z1×T))二階泰勒級(jí)數(shù),其中T=f′(z0)+(z1×f′′(z0)2),]]>且該二階泰勒級(jí)數(shù)對(duì)等至對(duì)數(shù)函數(shù)log2(x),其中,x等于z0+z1。14.根據(jù)權(quán)利要求13所述的方法,其中,該最低有效位來(lái)源操作數(shù)對(duì)應(yīng)于z1,該全精度格式化基底值對(duì)應(yīng)于f(z0),該基底函數(shù)的一階導(dǎo)函數(shù)對(duì)應(yīng)于f’(z0),該化約二階導(dǎo)函數(shù)對(duì)應(yīng)于f”(z0)/2。15.根據(jù)權(quán)利要求8所述的方法,其中,以全精度格式化該解壓縮一階值和二階化約值提供全精度格式化一階值和二階化約值的步驟包括將該解壓縮的一階值和二階化約值轉(zhuǎn)換成一正規(guī)化IEEE754格式。16.根據(jù)權(quán)利要求8所述的方法,其中,該第一組合和該第二組合的步驟乃是藉由標(biāo)準(zhǔn)浮點(diǎn)混合乘加硬件來(lái)實(shí)施。17.一種對(duì)數(shù)處理系統(tǒng),包括一第一查表內(nèi)存,用以提供與一基底函數(shù)對(duì)應(yīng)的一全精度格式化基值;一第二查表內(nèi)存,用以提供與該基底函數(shù)的一個(gè)一階導(dǎo)函數(shù)對(duì)應(yīng)的一個(gè)一階壓縮值;一第一邏輯電路,用以解壓縮和全精度格式化該一階壓縮值;一第二邏輯電路,用以正規(guī)化一最低有效位來(lái)源操作數(shù)和全精度格式化該正規(guī)化的最低有效位來(lái)源操作數(shù);以及一混合浮點(diǎn)乘加邏輯電路,用以組合該全精度格式化的基值、該全精度格式化的一階值與該全精度格式化的最低有效位來(lái)源操作數(shù),以計(jì)算該對(duì)數(shù)函數(shù)。18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,該混合浮點(diǎn)乘加邏輯電路用以將該全精度格式化的一階值與該全精度格式化的最低有效位來(lái)源操作數(shù)相乘而得到一個(gè)乘積,且該混合浮點(diǎn)乘加邏輯電路亦用以相加該乘積與該全精度格式化基底值。19.根據(jù)權(quán)利要求18所述的系統(tǒng),還包括一多路復(fù)用邏輯,用以選擇正規(guī)化、全精度IEEE-754格式化輸入至該混合浮點(diǎn)乘加邏輯電路。20.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,該用以解壓縮和全精度格式化該一階壓縮值的第一邏輯電路包括計(jì)數(shù)器硬件與線或電路。21.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,該第二邏輯電路用以正規(guī)化一最低有效位來(lái)源操作數(shù)及以全精度格式化該正規(guī)化最低有效位來(lái)源操作數(shù)乃包括計(jì)數(shù)器硬件、線或電路、前導(dǎo)零電路和移位電路。22.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,該第一查表內(nèi)存和該第二查表內(nèi)存用來(lái)分別實(shí)施與一第一指令和一第二指令對(duì)應(yīng)的查表。23.根據(jù)權(quán)利要求22所述的系統(tǒng),其中,該正規(guī)化用途的第二邏輯電路和該解壓縮和全精度格式化用途的第一邏輯電路可與該混合浮點(diǎn)乘加邏輯電路合作,實(shí)施一第三指令以響應(yīng)該查表,來(lái)計(jì)算該對(duì)數(shù)函數(shù)。24.根據(jù)權(quán)利要求23所述的系統(tǒng),更包括一第一多路復(fù)用器和一第二多路復(fù)用器,耦接于該正規(guī)化用途的第二邏輯電路、該解壓縮及全精度格式化用途的第一邏輯電路、存儲(chǔ)緩存器與該混合浮點(diǎn)乘加邏輯電路之間,其中,該第一多路復(fù)用器和該第二多路復(fù)用器可切換開(kāi)關(guān)來(lái)選擇啟動(dòng)多個(gè)指令。25.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,該基底函數(shù)包括一與該對(duì)數(shù)函數(shù)log2(x)對(duì)應(yīng)的一階泰勒級(jí)數(shù)y=f(z0)+z1×f′(z0),其中x等于z0+z1。26.根據(jù)權(quán)利要求25所述的系統(tǒng),其中,該最低有效位來(lái)源操作數(shù)對(duì)應(yīng)于z1,該全精度格式化基底值對(duì)應(yīng)于f(z0),該基底函數(shù)的一階導(dǎo)函數(shù)對(duì)應(yīng)于f’(z0)。27.一種對(duì)數(shù)處理系統(tǒng),其包括一第一查表內(nèi)存,以提供與一基底函數(shù)對(duì)應(yīng)的一全精度格式化基底值;一第二查表內(nèi)存,以提供與該基底函數(shù)的一個(gè)一階導(dǎo)函數(shù)對(duì)應(yīng)的一個(gè)一階壓縮值和與該基底函數(shù)的一個(gè)化約二階導(dǎo)函數(shù)對(duì)應(yīng)的一個(gè)二階壓縮化約值;一第一邏輯電路,用以解壓縮該一階壓縮值和該二階壓縮化約值,以全精度格式化該解壓縮一階值和二階化約值;一第二邏輯電路,用以正規(guī)化一最低有效位來(lái)源操作數(shù),以全精度格式化該正規(guī)化最低有效位來(lái)源操作數(shù);以及一混合浮點(diǎn)乘加邏輯電路,用以組合該全精度格式化一階值及二階化約值和該全精度格式化最低有效位來(lái)源操作數(shù)以形成一第一結(jié)果,其中,該混合浮點(diǎn)乘加邏輯電路更用來(lái)組合該第一結(jié)果及該全精度格式化最低有效位來(lái)源操作數(shù)和該全精度格式化基底值,以計(jì)算該對(duì)數(shù)函數(shù)。28.根據(jù)權(quán)利要求27所述的系統(tǒng),其中,該混合浮點(diǎn)乘加邏輯電路用以相乘該全精度格式化二階化約值與該全精度格式化最低有效位來(lái)源操作數(shù),且該混合浮點(diǎn)乘加邏輯電路更可用于加上該全精度格式化一階值以形成該第一結(jié)果。29.根據(jù)權(quán)利要求27所述的系統(tǒng),其中,該混合浮點(diǎn)乘加邏輯電路用以相乘該第一結(jié)果與該全精度格式化最低有效位來(lái)源操作數(shù),且該混合浮點(diǎn)乘加邏輯電路更用以加上該全精度格式化基底值。30.根據(jù)權(quán)利要求27所述的系統(tǒng),其中該基底函數(shù)的該化約二階導(dǎo)函數(shù)包括該基底函數(shù)的一個(gè)二階導(dǎo)函數(shù)除以2。31.根據(jù)權(quán)利要求27所述的系統(tǒng),其中,該第一查表內(nèi)存和該第二查表內(nèi)存用來(lái)分別實(shí)施與一第一指令和一第二指令對(duì)應(yīng)的查表。32.根據(jù)權(quán)利要求31所述的系統(tǒng),其中,該正規(guī)化用途的第二邏輯電路和該解壓縮和全精度格式化用途的第一邏輯電路與該混合浮點(diǎn)乘加邏輯電路合作,實(shí)施一第三指令以響應(yīng)該查表,且將所得到結(jié)果存儲(chǔ)至一第一緩存器中。33.根據(jù)權(quán)利要求32所述的系統(tǒng),其中,該正規(guī)化用途的第二邏輯電路和該解壓縮和全精度格式化用途的第一邏輯電路可與該混合浮點(diǎn)乘加邏輯電路和該第一緩存器合作,實(shí)施一第四指令,以計(jì)算該對(duì)數(shù)函數(shù)。34.根據(jù)權(quán)利要求33所述的系統(tǒng),更包括一第一多路復(fù)用器和一第二多路復(fù)用器,耦接于該正規(guī)化用途的第二邏輯電路、該解壓縮和全精度格式化用途的第一邏輯電路、該第一緩存器、存儲(chǔ)緩存器與該混合浮點(diǎn)乘加邏輯電路之間,其中,該第一多路復(fù)用器和該第二多路復(fù)用器可切換開(kāi)關(guān)以選擇多個(gè)指令。35.根據(jù)權(quán)利要求27所述的系統(tǒng),其中,該基底函數(shù)包括一個(gè)y=f(z0+(z1×T))二階泰勒級(jí)數(shù),其中T=f′(z0)+(z1×f′′(z0)2)]]>且該二階泰勒級(jí)數(shù)對(duì)應(yīng)至該對(duì)數(shù)函數(shù)log2(x),其中,x等于z0+z1。36.根據(jù)權(quán)利要求35所述的系統(tǒng),其中,該最低有效位來(lái)源操作數(shù)對(duì)應(yīng)于z1,該全精度格式化基底值對(duì)應(yīng)于f(z0),該基底函數(shù)的一階導(dǎo)函數(shù)對(duì)應(yīng)于f’(z0),該化約二階導(dǎo)函數(shù)對(duì)應(yīng)于f”(z0)/2。全文摘要本發(fā)明揭示對(duì)數(shù)處理系統(tǒng)和方法。本發(fā)明的對(duì)數(shù)處理系統(tǒng)包含與一對(duì)數(shù)的各基底函數(shù)和導(dǎo)函數(shù)對(duì)應(yīng)的兩個(gè)查表內(nèi)存,并具有一邏輯電路,用以存取這些查表內(nèi)存的內(nèi)容且使用一標(biāo)準(zhǔn)FMAD單元以格式化及正規(guī)化被存取的值,以計(jì)算此對(duì)數(shù)。文檔編號(hào)G06F1/03GK1838024SQ200610075340公開(kāi)日2006年9月27日申請(qǐng)日期2006年4月10日優(yōu)先權(quán)日2005年9月9日發(fā)明者扎席德·修森申請(qǐng)人:威盛電子股份有限公司