TWI301578B - Logarithm processing systems and methods - Google Patents

Logarithm processing systems and methods Download PDF

Info

Publication number
TWI301578B
TWI301578B TW095110243A TW95110243A TWI301578B TW I301578 B TWI301578 B TW I301578B TW 095110243 A TW095110243 A TW 095110243A TW 95110243 A TW95110243 A TW 95110243A TW I301578 B TWI301578 B TW I301578B
Authority
TW
Taiwan
Prior art keywords
value
precision
full
order
function
Prior art date
Application number
TW095110243A
Other languages
English (en)
Other versions
TW200710682A (en
Inventor
Hussain Zahid
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200710682A publication Critical patent/TW200710682A/zh
Application granted granted Critical
Publication of TWI301578B publication Critical patent/TWI301578B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0307Logarithmic or exponential functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Complex Calculations (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)

Description

13015/S&f.d〇c/g 九、發明說明.: 【發明所屬之技術領域】 且特別為關於對數處理系統 本發明係關於處理系統 和方法。 【先前技術】 在圖形及科學應用中經常出現對數計算, 數可定義爲丨。右χ β=I〇g〇c) +丨。§(Ί ㈡數之對 m —自騎練可藉由方程 浮點Γ:為:2^ 私),其中㈣)=二^ ^ '糸、、先中’諸如中央處理器(CPU),其對數運 异(例? log,UX))實現之機制乃透過多項式計算。例 如,-最佳計算值可藉由以下7階極小極大多項式來實現 -3. 245537847+(7.133969564+(-7.494129806+(5.7814387 31+(-2.985020854+(0.9780947497+(-0.1839396192+0.15 12535671e-l*x)*x)*x)*x)*x)*x)*x,其最大誤差為 2.919206449e-7。常見於CPU之多項式法乃由7次乘加法 運异(multiply and accumulate,MAC)來實現,其中此 計算之中間結果要求高精準度。 另一對數運算(例如log 2 (X),X等於zO+zl)之機 制可藉由泰勒級數近似法來實現,諸如方程式(1)中所示 之二階級數: I3015,m wf.doc/g 前導1,移除前導0 或尾數位元(如23位元H至f9指數縮放值)之小數位元 ;二Γ階導函數對應,而表c 2咖之階 導函數除以2對應。 化方2二、,;了所不處理機制10其複雜度之其-方法為簡 ^壬式,f 。例如,方程式(1)可改寫為嵌套形式 (Horner s form) : Λ
>-/(z〇)+z//tz〇)+r} 方程式(2) 改寫方程式(1)為方程式(2)可排除對平方功能方塊 32之需求。因此二階泰勒級數之嵌套形式可藉由執行三次 查表和兩次乘加運算而實現。圖一所示架構之一範例指令 集可用於實現泰勒級數,該指令集如下敘述: (1) FRAC R4:=Normalize((R0 & 0x7FFF) | ((((R〇 & 0x7F800000)»23)-9)«23)); (2) L0GTL1 R1 :=TableLooklipl[RO & 0x007F8000];
/Μ) 2 (3) L0GTL2 R2:=TableLookUp2[R0 & 0x007F8000]; (4) L0GTL3 R3:=TableLookUp3[R0 & 0x007F8000]; (5) FMAD R5:-R2+(R4 * R3); (6) FMAD R6:二R1 + (R4 * R5); (7) EXPADD R7:=((R0 & 0x7F800000)»23)+R6。 指令行(1)提供一指令用以正規化輸入。換言之,上 述之硬體結合圖1乃根據IEEE-754浮點格式以執行運算。 因此在指令(1)中,尾數之15位最低有效位元轉換成一正 規化浮點數值。在指令(2) - (4)中,R0之一數值則截 7 :wf.doc/g 位(f化)至8位元。接著,執行3次查表(/(z。)、7 口 ’其結果分職存至對應之暫存器 中。在指令⑸和⑹+,方程式⑵相對2 R3 執㈣次浮職合乘加運算(fusedmultiply== 零加麵,_)。在指令⑺中,加上該指數之對數。
上述之架構和指令集明顯存在一些問題。舉 (1)和(7)在大多數架構中為非標準化。甚者,所2 觀(如,令)。亦同上文所述,這些操作 由t用處理早70貫現,若此對數函數較罕用將導致 低投貧報酬率。有鑑於此,縮減指令集且於—可提供常用硬 體設施之架構中實現該操作乃所期望者。 【發明内容】 本發明提供對數處理系統及方法之實施例,其中一對 數處理方法之實關包含:執行第—絲賭供其對應之 一基底函數全精度格式化基底值;執行第二查表,求得其 對應之卩自壓縮值(compressed first value)和二階壓縮化約
值(compressed factored second value ),其中一階壓縮值 與基底函數之n函數制,而二階壓齡約值與基底 函數之化約二階導函數(factored sec〇nd value)對應;解 壓鈿一階壓縮值和二階壓縮化約值;全精度格式化解壓縮 之一階值和二階化約值而得全精度格式化之一階值和二階 化約值;正規化一最低有效位元來源運算元並全精度格式 化,正規化之最低有效位元來源運算元而得全精度格式化 之最低有效位元來源運异元;執行全精度格式化一階值與 一階化約值和全精度格式化之最低有效位元來源運算元之 8 130151 f.doc/g 第:二執行該第-結果與全精度格式化 ===一精度格式化之基底值之第 懂,所特徵和優點更明顯易 戶' J亚配合所附圖式,作詳細說明 如下。 【實施方式】
/本!X月揭示對數處理系統和方法(本發明稱作對數處 種實施例。此類對數處理系統可減少計算對 L = (x))所使用之專用邏輯的數量,並且此 對f處理线可善用現有具標準浮點混合乘加(fused FMAD)硬體之可程式處理單元。爲達到此 =隹可執彳m個以上之對射旨令钱方法,此類 才曰二木或方法包含標準FMAD硬體中可支援之“基本” 運算。此外,為滿足财處理;I;線之時程目標亦使用一最 =指令集°FMAD硬體之用途為將輸人正規化與全精度格 ,化,及轉換浮點數值至標準格式,如IEEE_754格式。請 注意,本發明中對於全精度格式化值,應理解成包括正規 化早精度、雙精度歧高精款IEEE_754料。儘管全精 度!化在本發明中揭示於正規化單精度ieee-754格式 月’?、下仁热知本發明所屬技術領域的人員應可睁解, 雙精度或更高精度之格式料包括在触實U之^鳴 内’如透過延長表(tab⑹和/或欄位伽⑹之大小。 對數處理系統之某些實施例包含兩個用於計算對數之 基底函數和導函數的函數表,亦包含多種邏輯單元(如硬 9 13015¾ wf.doc/g 體’《者如ό十數器、線或(w + 數電路和/或暫存器等)來處理查:出=零(= 十 之指八隹ίΓ/、自知糸統相比’該類實施例使用一簡化 3或曰4:指」運相較曰於傳統系統中約7條指令僅需使用 rm/- 3 可避免或緩和專用硬體之使用率。
-個式谷描述:處理環境實施例,該環境可實現 似“數處理系統,隨後描述-實現泰勒級數近 =^ΐ亦即’對數處理系統之實施例)。儘管本 ’:月2谷以圖形處理之計算核心為背景,但所揭示之實 把,土 ±可併入到任何執行泰勒級數近似法以計算對數 函文之處理%^巾。例如,本發明所述之實施例可結合或 =置於中央處理器,數健號處理輯其他各類功能之計 鼻单元。
Θ 2、,、日示圖形處理單元(㊁—⑴以以此, GPU)計算核々2G5之方塊圖。儘f未完全繪示所有圖形 處理=件,但圖2所示之組件足以讓熟知所屬技術領域 的人員能夠瞭解該類圖形處理器和對數處理系統之實施例 其相關之一般函數和架構。如圖2所示,計算核心2〇5包 含一耦接於二級(L2)快取記憶體21〇之記憶體存取單元 (memory access unit) 207。該記憶體存取單元207接收來 自例如^>丨思體介面單元(未繪示)之L2預取和溢出。L2快 取記憶體210從輸入緩衝器(未繪示)接收預轉換頂點 (pre-transform vertices)(輪入j ),並將後轉換頂點 (post-transform vertices)(輸出H)提供至三角屬性單元 twf.doc/g (triangle attribute unit)(未繞示)。 計算核心205亦包含-執行單元(EU)槽23(),盆包 括多個執行單元(EU) 240和-個EU控制和區域 245。在實_中,每個EU 24〇 &含一對數處理系統‘ς (將進-步敘述於下文),且每個EU24〇能在單個時鐘 周期内處理多條指令。儘管圖2中繪示8個Eu (標記爲 EU0到EU7),但知悉本糾之技術賴者應能瞭解,即 數目無需限制爲8個’於某些實施例中可以具有更多 少的EU。 。。計算核心205更包含一 EU輸入單元235和一 Eu輸 出單兀220,分別提供輸入至Ευ槽23〇和從Ευ槽接 收輸出。EU輸入單元235和EU輸出單元22〇可^縱橫交 換結構(crossbar)或匯流排或其它已知輸入機制。 EU輸入單元235從-輸入緩衝器接收預變換頂點(輸 入B ),且將該信息提供給EU槽23〇以供各EU 24〇處理。 此外,EU輸入單元235接收像素封包(輸入c)和紋理封 包(輸入D)且將這些封包傳遞至£1;槽23〇以供各eu24〇 處理。EU輸入單元235亦可從L2快取記憶體21〇接收信 息,且必要時將該信息提供給Eu槽23〇。該信息可由快 取兄憶體210、縱橫交換結構235提供以及/或從先前運算 中産生。在一較佳實施例中,執行1〇g2計算所產生之值 置放於各EU 240之區域暫存器中。 EU輸出單元220接收EU槽230之輸出,諸如UVRQ 和RGBA。這些輸出,相異於他者,可被指引回l2快取 記憶體210,或者可從計算核心2〇5輸出(E)至一個寫回 f.doc/g 單元(write-back unit,未繪示),或者可輪
理單元(未繪示)。 X 計算核心205也包含任務分配器和仲裁哭2乃,其 巧=器(未,接收標籤(tag)/同步信;;抑,。 元220。換句話說,任== ί 220 235 ^ EU It ^
每-對數處理系:3〇〇7各自4=旨令的執行可藉由位於 體來實施。 相對於EU0至EU7)中之硬 圖3至圖6分別繪示一對金 3_等)實施例之各類功能 f 2 勒級數近似法之改良處理以曾二八中糸統300提供泰 意,本發明中使用之變量“z” ^㈡數f(x)之對數值。請注 以上之表中的一個“ ” r …理知為儲存在一個或一個
另外請注意,圖3至圖6((:^函數_、”)值。 功能方塊或組件可包含辟辨^至圖8 )所繪示及敘述之 (ALU)或其它電路、互連=置,諸如算術邏輯單元 等。由對數處理系統·可齒(例如為線路、匯流排) U) /(+(04尸咖(().722,=導出以下各項: 亦即,各函數和其對數函^=)/2e(—0.Γ·722) 範圍内。例如,log 2 $ 歎之導函數值皆落在一可知 (⑽)與1〇g2(e)/2『〇 〜階導函數落在log 2⑷ 之計算值落在可知範 之間。同理’二階導函數 (匕)21小於2-8( 1/256 = 〇至4.722)内。 或0.00391 )。意即zl2小於 12 twf.doc/g 2-16 ( 1/65536 0r 0.0000153)。由
之7個最高有效位元和/,(z。)表之^可知曰’ $需儲存,W2表 將於下文中解釋。亦即,/'和尸5個取尚有效位元,二者 界定在上文所述之可定義範圍—階和二階導函數)都 零而zl具有15個前導零。因此1再者,Z〇具有8個前導 僅需儲存與對應的7位元和與二24位元之尾數, 位元儲存尸W/2之指數,i位元儲以了、位兀,另以兩 假定/'(知增2的查表都2 ^指數。 個查表皆符合一般32位元字妗、。予相同位址,那麼因爲兩 解釋,若CPU或DSP之洋可相互組合以儲存。更深入 規範,則輸入為正規化數值:以,人符合鹏754 以整數或布林運算來執行解封包和付二=運= 慢。在此情況下對CPU或D u而=,^咸 適宜,因其僅需儲存多項式之=而:—夕項式法杈 #藥+&$+佔田-1貝^係數。如此,本貫施例毋須如 二執;人之查表(在先前技術中所描述),僅
第—查表(本發明稱作L〇GTL1)用 在’而乐二查表(本發明稱作L0GTL2)用於尸W 去\ X之組合查找(本發明將後者稱作化約二階導函 數)。 由方程式(2)可得以下方程式⑴和⑷: 方程式( ^/(ζ〇 + (^Γ))方程式(4) ^如方魟式3和4所示,本實施例包含兩次FMAD 异°因此’指令集的―實施例(本發明亦稱作演算法1) 13015¾¾ wf.doc/g 可描述如下: (1) LOGTLl Rl:=TableLookupl[RO & 0x007F8000]; (2) L0GTL2 R2:-TableLookup2[R0 & 0x007F8000]; (3) CFMADl R3:=-_M(R2[21:1G]H⑽_G|;14:〇1;]) * NORM(R2[9:0])); 」; (4) CFMAD2 R4:=R1+⑽RM(RO[14:〇1]) *R3)。 此指令集之描述參照對數處理系統300之實施例及圖 3至6敘述中相關之各部分(300a-l至30〇a-4)。圖3是對 數處理系統聽·1中執行LOGTL1運算部分之方塊圖。 請注意,本發明所述的暫存器(例如為RG_R4)為-般斜 存器,可㈣各運算之來源暫存器與目的暫存器。如圖曰3 所不,對數處理系、統3〇ΟΜ包含暫存器3〇2 (輸入 R0)和310 (R1)、減法方塊3〇4、中斷方塊3〇6、傳^ 方塊312 (X)和314 (χρ)以及查表G 316 (其功能與 表之功能對應)。暫存器3G2中之資料具有一符號位元、 ,數位元和尾數。在實施例中,尾數包含23位元,其中最 高8位元[22:15]與查表巾f(x)各函數(例如為基底函數和 導函數)之位址所在相對應,諸如查表〇 316對應至f(x) 之,底函數z0。傳輸方塊314傳遞與zi函數對應之尾數 的^低15位元(最低有效位元來源運算元)。忒函數經 計算提供給暫存器310,其對應值以單精度正= IEEE-754格式儲存。 暫存為302中指數部分提供至減法方塊3〇4,此減法 方塊304執行指數值與偏差值127之減法運算,並將所得 差值提供至中斷方塊306。中斷方塊306從暫存器3〇2接 14 13015¾ 丨 twf.doc/g tr付號位凡’且根據此符號位元來設置暫存器310中之 符號位70和指數位it。例如,於下文之僞代碼中所示事件 之:發生時發运中斷信號(“mant,,表示尾數而“ inf,表 示無窮(infinite)):
If (s and exp !-0) result is NaN
If (exp = = 255 & mant 卜 〇) result is NaN
If (exp - = 〇) result is ^-inf
If (s ! = 0 and exp ^ 255 and mant = = 〇) result is +inf 圖4為對數處理系統3〇〇心2中執行⑴⑽^運算部 =方塊圖,其繪示包含輸入暫存器3Q2(RG)、目的暫 和傳輸方塊312和314以及查表1/2318(其 ^月匕與/( 〇)表和鄭2表對應)。言亥除以2運算乃内建於杳 表1/2 318之八2。)功能中垂 6^川狀一 力此中偟官於某些貫施例中該運算可與 1/2 W根據—階與二階導函數給定—數值範圍, Ι^Ϊ_75^\和暫存器322以壓縮化非單精度(非 '"式儲存其值,詳情如下文。如上文所指,傳 之數值用於定址查表。—26位元 應!存器322(如為一32位元暫存器),用以回 322包含階導函數(/,)與二階導函數(r),暫存器 較低難元遞^位^。暫存器322之位就置為 存尸運算之輪出呆存運异之輸出而其餘16位元用以保 如上文所述,/,We (0.722,1.443),闵 + 太 * , 。〇 對應之函數可以。口此,查表1/2 318所 規化格式、非單精度格式(非ΙΕΕΕ_754) 15 130151 f.doc/g $存,其中位元间被設置成i或〇,以表示指 0.722大於〇.5但小於卜 3
以表不成1.χχχχ*2Μ,而i和 T h咖2八0。因此,位元[22]可作為指數偏差量可= 匕示f 127 (經正規化)且無需儲存(僅需儲 S數是 可用壓縮格式來儲存,豆中所袖 兀)。這些值 依正規化格式__導^^^加日儲存狀態,係
元。因此,以入=,不指數為1或0之1個位 該-階^數;:全⑽w精度赃·754格式料 約二=上數==’上表所計算之化 即,當藉由改變指數心 :.χΧχχ*2、之形式。因此 于數主 數具有隱含的1,因此臟子點格式而言,指
增2處在可定義^ 中減n去之值。如前所論之尸W, 等於1.011_*2M,G ^22)内。請注意’咖 所儲存者為指數與127之川―·1。因此, 中落於[1..3]其間之差!(亦即,儲存於位元[9:7] 叫帶偏差;且無需V存到因=^^ 爲在實施例中場2必爲t 、 318中。同钕地,因 !/2318中。如同 ^負=以符號位元無需儲存到查表 所對應之值可以壓應之值,二階化約導函數 存。 •私式而非全單精度IEEE-754格式儲 在某些實施例中,與FMAD型運算相比L〇G2之利用 率相對較低,故可藉由限制發行率(issue rate)以最小化 所品之查表數。舉例如〉貝异法1中所示,可使用4條指令。 若LOGTL1和LOGTL2之發行率限制在每N周期丨條^寺, 那麼單一 LOGTL1和LOGTL2單元可由n個單指令多資 料(single-instruction,multiple data,SIMD)單元共享。 圖5繪示對數處理系統3〇〇a-3中執行CFMAD1 (修 改的FMAD)運算部分之方塊圖。對數處理系統3〇〇&_3包 δ暫存态322 (R2,保存從查表1/2 318所得之壓縮值)、 暫存态302 (R0)、傳輸方塊312和314、FMAD單元324、 格式為(2)方塊328、格式器(3)方塊330和正規化⑴ =塊326。在一個實施例中,格式器(2)方塊328與格式 态(3 )方塊330大體上相同,但與正規化(丨)方塊326 不同。正規化(1)方塊326正規化和格式化(為單精度 IEEE-754格式)來自暫存器R03〇2 (經由傳輸方塊314) 之最低有效位元來源運算元。正規化(丨)方塊326可包含 一前導零計數(CLZ)電路(例如為15位元之前導零計數) 用以找出暫存器中前導1和一移位電路(例如為用來執行 15位元左移的多工電路)用以將值左移至前導丨出現。正 規化(1)方塊326亦可包含一個計數器(例如用以調整指 數值,諸如減去所執行之左移的數目)和一線或(wire_〇R) 電路(例如用以重建32位元浮點值)。因此,在實施例中, 正規化(1)方塊326包含邏輯,例如為前導零計數電路、 移位電路、計數器和線或電路。就CLZ而言,如果clz 回傳值N ’那麼待正規化之值將移位N+i位元且指數減 17 I301578itwf.d〇c/g 少N+l。請注意,如上文所述,前導丨無須儲存,因爲它 已隱含在IEEE-754中。 格式器(2)方塊328和格式器(3)方塊330解壓縮 儲存在暫存器322 (R2)的值,並將解壓縮後的值轉換成 單精度IEEE-754格式。在該數之餘數已為前導1格式之情 況下’格式器(2)方塊328和格式器(3)方塊330保存
指數偏差量,因而減除提供移位功能之需要。然而,格式 裔(2)方塊328和格式器(3)方塊330都需要各自將尾 數轉換成單精度IEEE-754格式,且最低有效位元為〇。格 式器(2)方塊328將符號位元設為〇,格式器(3)方塊 330將符號位元設為1。因此,在實施例中,格式器方塊 328和330可分別包含邏輯電路,諸如線或電路和計數器 (例如為用來減去或加上指數偏差量,其例如為127)。 睛注意,正規化(1)方塊326可包含格式器方塊328、330。 視架構和系統需要而定,正規化(1)方塊326及格式 态方塊328和330可在各處理級中實施。例如,在目的執 行管線中’一管線階段(pipeline stage)存在於修改來源 之FMAD運算與運算元提取操作之間。因此,此一管線階 段也可用於正規化及格式化處理,且無需修改FMAD單元 324。換δ之,對數處理系統3〇〇-3可藉於一標準FMAD 官線中添加正規化(1)方塊326與格式器方塊328與330而 貫現。除暫存器322 (R2,其保存l〇GTL1運算之輸出值 (查表1/2 318))外,CFMAD1運算也使用暫存器r〇 302 (經由傳輸方塊314)和暫存器r3 34〇。暫存器r〇 3〇2保 18
I3015i78twf.d〇c/g 存原始來源運算元,而乘法/加法運算結果則儲存於暫存器 R3 340 内。 正規化(1)方塊326以及格式器方塊328和330各自 可採用兩個輸入。其中一輸入是待正規化/格式化之值,而 另一輸入是指數調整值。正規化(1)方塊326接收8位元 格式之值127。正規化(1 )方塊326所實施之15位元左 移可與指數更新平行處理。暫存器322中查表1/2的值為 正規化格式(例如,總有一個未被儲存之外顯前導1), 而此偏差指數為127且未被儲存。因此,對等於格式哭(2 ) 方塊328和格式器(3)方塊330操作之函數可實施如
Formatter2/Formatter3 (Inputl, Input2) 、 ·
BEGIN
Output[;31] :=1;
Output[30:23]:-127-Input2;
Output[22:0] :-{Inputl50*}; //將0填入最低有效位元 END 正規化(1)方塊326之輸入並未正規化,而是呈現一 〇.〇〇〇〇〇〇〇〇响3.為格式,與格式器⑺方塊η8和格式 器(3)方塊330之輸入不同。換言之,正規化⑴^塊 326的輪人乃以非正規化形式處理(例如非}而為〇),且 此輸入包含在二進制為〇其後之前導8位元,故最低有效 15位元(亦即,Xl4Xl3..x〇) f正規化。因此,一前導^設 19 13015798 twf.doc/g 置機制可實施如下:
Normalizel(Inputl9Input2)
BEGIN CLZ :=CountLeadingZeros(Inputl)+l; Sign :=〇; EXP ~127-Input2-CLZ;
MANT :=ShiftLeft(Inputl,CLZ); Output[31] :=Sign; 〇utput[22:0] :={MANT,o*}; //將0填入最低有效位元
END 格式器和正規化(326、328和330)之輸出乃是提供 給標準FMAD單元324,該單元把正規化(丨)方塊326 輸出值與格式器(2)方塊328輸出值相乘,而後將所得結 果與格式器(3)方塊330輸出值相加,最後之總和儲存在 R3 340 中。
園〇馮對數處理系統 .......〜一 -Γ T —机订丄逐异 曾 區塊之方塊圖。對數處理系統3〇〇a_4包括暫存哭3〇2fR〇)、 3哪)、遍⑻,其保存F_單元 運异之輸出值)和350 (R4,其保存FMAD單元324對應 之CFMAD2運鼻之輸出值;)。對數處理系、統鳥也包 括傳輸方塊312和314、FMAD單元324和正規化 塊326。C™AD2運算為—三來賴算元混合浮 。⑽細運算包含於正規化⑴方塊创正規化暫存器 20 13 015^Swfd〇c/g 單』3^4 來源輸人,其中正規化方塊326提 乘之纟士 雨出以供與暫存器340(R0)之内容相乘。其相 將相Γί至來源輸入暫存器310 (R1)之内容中,並 、I件'、、°果儲存到暫存器350 (R4)中。 ,、又之l〇g 2 (X)運异可以相同之查表和線性内插 (一階泰勒級數)實現,如以下方程式(5)所示: y^f(z0) + Z]xf(z〇)方程式⑸ 该方程式可以圖7所示方法實施。圖7為對數處理系 、、先jOOb中一 CFMAD3運算部分實施例之方塊圖。對數處 理系統3_包含與圖3至圖6所示對數處理系統3〇〇a (300a-l到300a-3 )相同或類似之硬體組件。對數處理系 統300b包含暫存器3〇2、、34〇和310、傳輸方塊312 和314、正規化(1)方塊326和格式器(3)方塊33〇以 及FMAD單元324。控制對數處理系統3〇〇b操作之指令 集(本實施例也稱作算法2)實施例如下: (1) LOGTLl Rl:=TableLookupl[R〇 & 0x007F8000]; (2) L0GTL2 R2:=TableLookup2[R〇 & 0x007F8000]; (3) CFMAD3 R3:=R1+(NORM(RO[14:01]) * -NORM(R2[21:1〇])) 因此,對數處理系統300b的另—個實施例包含兩次查 表和單次FMAD運算。運算格式近似於上文所述之 CFMAD2指令,但其中兩個來源運算元並未IEEE-754正 規化且其結果儲存在暫存器R3 340中。因此,定義出一額 21 twf.doc/g 外指令CFMAD3。 圖8繪示對數處理系統3〇〇c之部分實施例,此對數系 統結合前述實施例(3〇〇a和3〇〇b)二者之功能。尤其, CFMAD1,CFMAD2和/或CFMAD3運算對應之邏輯基礎 為圖3與圖4相關敘述中之LOGTL1與L0GTL2,其操作 與各組件亦視為對數系統3〇〇c之一部份。對數處理系統
300c包括暫存器322 (R2,其保存查表1/2 318所得之壓 縮值)、暫存器340 (R3,其保存CFMAD1運算第一結果 對應之單精度IEEE_754值)、暫存器310 (R1,其保存自 查表0 316所得之單精度IEEE-754值)、暫存器3〇2(R〇, 未繪示,但用於提供傳輸方塊314原始來源運算元)和用 於儲存CFMAD2運算(或CFMAD3運算)最終結果之暫 存器350(R4)。對數處理系統3〇〇c也包括轉移方塊314、 FMAD單元324、正規化(1)方塊326、格式器(2)方 塊328與格式器(3)方塊330和多工器342和344 (說明 如下)。
在操作過程中,格式器方塊328和33〇之輸出值提供 至多工器342和344,其一實施例中可分別把兩個多工器 建構成2:1和3:1之多工器。特別的是,多工器342自格 式阳(3 )方塊330和暫存器310接收輸入,且依據為下文 所述之控制輸入MADopl與MADop2,提供一輸出至 FMAD單元324之輸入c。多工器344自格式器方塊(2) 328和格式器(3)方塊330以及暫存器340接收輸入。根 據控制輸入MADopl和MADop2,多工器344提供一輸出 值至FMAD單元324之輸入端b。最後,正規化(丨)方 22 13015.¾ 丨 twf.doc/g 塊326提供一輸出值至FMAD單元324之輸入端a。 就CFMAD1運算(如上所述的演算法1中)而言且根 據提供至多工器342和344之控制輸入MAD〇°pl ^ MADop2 ’正規化(1)方塊326和格式器方塊328和330 提供輸出值至樣準FMAD單元324,該標準FMAD單元 324將正規化(1)方塊326之輸出值與格式器(2)方塊 328之輸出值相乘,再將所得結果和格式器(3)方塊33〇
之輸出相加。至於CFMAD1運算之結果則暫時儲存在暫存 器 340 ( R3 )中。 CFMAD2運算是一個三來源運算元浮點混合乘加運 算。CFMAD2運算於正規化方塊326内正規化内容來源輸 入暫存器302,該正規化(1)方塊326提供一輸出值至 FMAD單元324之輸入端a,以與暫存器34〇 (R3)之内 容相乘。該相乘之結果與暫存器310 (R1)之内容相加, 並將相加結果儲存至暫存器350 (R4)中。
CFMAD3相對之運算乃透過自多工器342和344與控 制輸入MADopl與MADop2間選擇輸入組合而啟動。 CFMAD1,CFMAD2與CFMAD3三者之多工器組合 如下表所述: MADopl MADop2 CFMAD1 0 —____± 0 CFMAD2 1 1 ~~~ CFMAD3 1 2 — 請注意’值0-2相對於圖8中所示多工器342和344 所示之輸入端選擇0-2。 由上述可得,一對數處理方法300d實施例包含(如圖 23 I301578itwf.d〇c/g
9中所示)··執行第一查表求得對應之一正規化全精度 IEEE-754格式化之基底函數(902);執行第二查表求^ 對應之一階壓縮值與二階壓縮化約值,其中此一階壓縮值 與基底函數之一階導函數相對應,而此二階壓縮化約值則 與基底函數之化約二階導函數(904)相對應;解壓縮該一 ,值與一階化約值,並以全精度乃4)格式化該解 壓縮之一階值和二次化約值(9〇6);正規化一最低有效位 元來源運算元並以全精度(IEEE-754)格式化此正規化最 低有效位元來源運算元(908);由執行全精度格式化一階 值卩皆化約值與全精度格式化最低有效位元來源運算元 之第-組合求得第-結果(910);由執行此第—結果與全 精度格式化最低有效位元來源運算元和全精度格式化^底 值之第二組合以計算對數函數(912)。 土一 由上述可得,一對數處理方法3〇〇e之實施例包含(如 圖10中所示):執行第-查表求得與基底函數對應之正規 化全精度IEEE-754格式化基底值(1〇〇2);執行第二查 求得對應之-P鍵縮值,此—階壓縮值乃與基底函數= 階導函數㈣應⑽4) ; —階值且全 格式化最低有效位元來源運算元二ϊ對 圖9和圖10的流程圖中的任何 為表示代碼模組、代碼區段或代碼的某些部;= 24 13 015 孕 碼包括-條或-條以上之可執行指令以實現流程 ro 輯功能或步驟。本發明所屬技術領域的人員皆可=疋避 他替代性的實施例也包括在本說明書所揭示内^ ,土其 施例的範轉内,而在此範缚内之所緣示或所气二只 步驟可根據功能之不同而以不同的順序來執行‘作與 順序包括同時發生或相反的次序。 〃、中上 雖然本發明已以較佳實施例揭露如上,然其 定於本發明,任何熟纽技藝者,在领離;^明 和範圍内,當可作些許之更動與潤飾,因此本發 = 範圍當視後附之申請專利範圍所界定者為準。X 保嗖 【圖式簡單說明】 參照圖式可以更清楚地瞭解本發明,其 並未按比例繪製,而是用以清楚地說明本i明^ 統和方法的原理。此外,在圖式中,相乃=糸 之元件符縣示。 u件乃以相同 圖1為執行泰勒級數近似法相關之功能方塊圖。 =是本發明之對數處理系統—施例之方塊圖。 認7 對數處理,一實施例之功能方塊圖。 e j 处理系統一實施例之功能方塊圖。 圖8為對數處理系統一實施例之功能方塊圖。 之流=騎數4理方法料於二階軸級數之—實施例 施 例之、=為對數處理方法對等於-階泰勒級數之-實 【主要元件符號說明】 25 :wf.doc/g 316 :查表〇 318 :查表 1/2 324 : FMAD 單元 326 :正規化(1)方塊 328:格式器(2)方塊 格式器(3)方塊 342、344 :多工器
9〇2·執行第一查表以提供基底函數對應之全精度格式 化基底值 9〇4·執行第二查表求得對應之一階壓縮值和二階壓縮 化、、々值二其中一階壓縮值對應於基底函數之一階導函數, 階壓縮化約值對應於基底函數之化約二階導函數9〇6: 解壓縮-階值和二階化約值,並以全精度格式化該解壓縮 之一階值和二次化約值
、908:正規化最低有效位元來源運算元且以全精度格 式化此正規化最低有效位元來源運算元 91〇·執行全精度格式化一階值及二次化約值和全精 ^格式化最低有效位元來源運算元之第一組合以形成第一 、结果 來诉行此第—結果及全精度格式化最低有效位元 木源運开疋和全精度格式化基底值之第二組合, 數函數 對 1002··執行 式化基底值 第一查表以提供基底函數對應之全精度柊 27 13015¾ wf.doc/g 賴:執料二查表求得對叙1_值,該-階 壓縮值對應於基底函數之一階導函數 】〇〇6:解㈣1值且全精度格式化該解壓縮一階值 麵:正規化最低有效位元來源運算元且以全精度格 式化该正規化最低有效位元來源運算元 .〜· 010…、且s王精度格式化基底值、全精度格式化一階 v 餘*精度格式化最财效位絲料算it,以計算對數 28

Claims (1)

13015¾ fd〇c/g 十、申請專利範圍: 種用於計算對數函數的方法,包括: 執行第一查表,求得一基底函數對應之全精度格式化 基底值; 執行第二查表,求得對應之一階壓縮值,而該一階壓 縮值對應於該基底函數之一階導函數; 土 解壓縮該一階壓縮值;
全精度格式化該解壓縮一階值,以提供一全精度格式 化之一階值; 上正規化一最低有效位元來源運算元,且以全精度格式 化^正規化最低有效位元來源運算元以提供一全精度格式 化最低有效位元來源運算元;以及 / 執行一組合步驟,組合該全精度格式化基底值、該全 ,度秸式化一階值與該全精度格式化最低有效位元來源運 异兀,以計算該對數函數。 2·根據申請專利範圍第丨項所述之方法,其中該組人 之步驟包括計算一個一階泰勒級數。 、口 之據巾請專利範圍第1項所述之方法,其中該組合 低括^全,度格式化—階值與該全精度格式化最 驟源運异70相乘,而得—乘積,且該組合之步 A 4 ;二Ϊ將該乘積與該全精度格式化基底值相加。 .根據巾4專利範圍第丨項所述之方法,1㈣某底 其中X等於zO+z卜 .根據申。月專利乾圍第4項所述之方法,其中該最低 29
執行一第一查表,以提供一基底函數對應之一全精度 格式化基底值; I3015i^Stwf.d〇c/g 2位元⑽運算元職於zl,該全精錢基底值對 心;f(zG) ’該基底函數之_階導函數對應於广㈣。 6.根據中請專利範圍第!項所述之方法,其中以全精 J格式化賴壓縮-階值以提供—全精度格式化之一階 其步称包括將该解壓縮一階值轉換為正規化iEEE-754 格式。 7·根據中請專利範圍第丨項所述之方法,其中該組合 之步驟乃藉由標準混合浮點乘加軟體來實施。 8· —種用於計算對數函數之方法,包括: 執行一第二查表,求得對應之一階壓縮值與二階壓縮 化j值,該一階壓縮值對應於該基底函數之一階導函數, 而忒一階壓縮化約值對應於該基底函數化約二階導函數; 解壓縮該一階壓縮值與二階壓縮化約值; 八吐全精度格式化該解壓縮一階值和二階化約值,以提供 王知度格式化之一階值和二階化約值; ^ 正規化一最低有效位元來源運算元並以全精度格式化 規化最低有效位元來源運算元,以提供一全精度格式 化最低有效位元來源運算元; 及一^行一第一組合之步驟,組合該全精度格式化一階值 一一階化約值與該全精度格式化最低有效位元來源運算 兀,以形成一第一結果;以及 格執=一第二組合之步驟,組合該第一結果及該全精度 σ二、化最低有效位元來源運算元與該全精度格式化的基 30 13015¾ f.doc/g 至该混合浮點乘加邏輯電路。 2〇·根據申請專利範圚 以解壓縮和全精度格式化該,述之土統,其中該用 括計數器硬體與線或電路。'自I縮值之第—邏輯電路包 21·根據申請專利範圍 二邏輯電路用以正規化=17項所述之系統,其中該第 精度格式化該正規化最=低有效位元來源運算元及以全 器硬體、線或電路、前來源運算元乃包括計數 22.根據申請專利範圍U:位電路。一 一查表記憶體和該第_ 項斤述之系統,其中該第 指令和一第二指令芯=憶體用來分別實施與一第一 規化用途項所述之祕,其中該正 之第-邏輯電路可崎二== 一第三指令以回庫_杏汙點乘加邂輯電路合作,實施 24.㈣由It 4表,來計算該對數函數。 第-多工乂器豕和_Γ第圍第23項所述之系統,更包括- 邏輯電路、卿壓二’制途,第二 路、儲存暫存器與該n&i之弟一邂輯電 第一多工器和兮Μ_夕 點采加輯電路之間,其中該 指令。σ Μ弟—夕工器可切換開關來選擇啟動複數個 底函销叙纽,其令該基 户爪hx厂⑷、°甘i數函數㈣2⑻對應之一階泰勒級數 _ ,其中X等於zO+zl。 ._申請專利範圍第25項所述之系統,其中該最 33 2效位絲料算元職於21,該全精度料化基底值 ί應於f(z〇) ’該基底函數之—階導函數對應於f(z〇)。 27·—種對數處理系統,其包括: 一第—查表記憶體,以提供與一基底函數對應之一 知度格式化基底值; 、一第二查表記憶體,以提供與該基底函數之一個一階 導函數對應之一個一階壓縮值和與該基底函數之一個化約 〜階導函數對應之一個二階壓縮化約值; ”—一第一邏輯電路,用以解壓縮該一階壓縮值和該二階 壓縮化約值,以全精度格式化該解壓縮一階值和二階化約 值, μ 第一邏輯電路,用以正規化一最低有效位元來源運 异兀,以全精度格式化該正規化最低有效位元來源運算 元;以及 一混合浮點乘加邏輯電路,用以組合該全精度格式化 一^值及工階化約值和該全精度格式化最低有效位元來源 運异元以形成一第一結果,其中該混合浮點乘加邏輯電路 更用,組合該第一結果及該全精度格式化最低有效位元來 源運算元和該全精度格式化基底值,以計算該對數函數。 一 “28·根據,請專利範圍第27項所述之系統,其中該混 合序點乘加邏輯電路用以減該全精度格式化二階化約值 與該全精度格式化最低有效位元來源運算元 ,且該混合浮 點乘加邏輯電路更可麟加上該全精度格式化-階值以形 成該第一結果。 29.根據申請專利範圍第27項所述之系統,其中該混 34 13015^Btwf-d〇c/g 合浮點乘加邏輯雷 化最低有效位元來诉=乘該第—結果與該全精度格式 更用以知μ 連异兀,且該混合浮點乘加邏輯電路 3〇相=王精度格式化基底值。 底函數之^^專利範圍第27項所述之系統,其中該基 函數除以2。'卩自‘函數包括該基底函數之一個二階導 -查表^範圍第27項所述之系統,其中該第 指令和一^ _ ^ ~罘二查表記憶體用來分別實施與一第一 3弟二指令對應之查表。 規化用利範圍第31項所述之系統,其中該正 之第1輯ϊ:=ί路和該解壓縮和全精度格式化用途 第三指八 合浮點乘加邏輯電路合作,實施一 存器Ϊ令明應該查表,且將所得到結果儲存至-;-暫 規化用圍第32項所述之系統,其中該正 二第〜邏輯電:全精度格式化用途 存器合作,每# 一…吧口汙點乘加逛輯電路和該第一暫 34:/φΓ/吨令,以計算該對數函數。 第1工=4,圍第33項所述之系統,更包括-邏輯電路、兮解獻:夕工器,耦接於該正規化用途之第二 路、請第一暫存哭=全精度格式化用途之第-邏輯電 路之間,並㈣存暫存⑤與該混合浮點乘加邏輯電 選擇複數個指^。—夕工器和該第二多1器可切換開關以 35.根據申請專利範圍第27項所述之系統,其中該基 35 13 015i798twfd〇c/g 底函數包括一個二階泰勒級數,其中 τ=Γ^)ΑΖχΧί^ ‘ ° ^ 2 )且該二階泰勒級數對應至該對數函數log 2 (X),其中X等於zO+zl。
36.根據申請專利範圍第35項所述之系統,其中該最 低有效位元來源運算元對應於zl,該全精度格式化基底值 對應於f(zO),該基底函數之一階導函數對應於f(zO),該 化約二階導函數對應於f’(z0)/2。 36
TW095110243A 2005-09-09 2006-03-24 Logarithm processing systems and methods TWI301578B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/223,289 US7539717B2 (en) 2005-09-09 2005-09-09 Logarithm processing systems and methods

Publications (2)

Publication Number Publication Date
TW200710682A TW200710682A (en) 2007-03-16
TWI301578B true TWI301578B (en) 2008-10-01

Family

ID=37015439

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095110243A TWI301578B (en) 2005-09-09 2006-03-24 Logarithm processing systems and methods

Country Status (3)

Country Link
US (1) US7539717B2 (zh)
CN (1) CN100472392C (zh)
TW (1) TWI301578B (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177605A1 (en) * 2004-02-10 2005-08-11 Intel Corporation Computation of logarithmic and exponential functions
US8161090B2 (en) * 2008-12-05 2012-04-17 Crossfield Technology LLC Floating-point fused add-subtract unit
US9170776B2 (en) * 2009-01-30 2015-10-27 Intel Corporation Digital signal processor having instruction set with a logarithm function using reduced look-up table
US8676871B2 (en) * 2010-09-24 2014-03-18 Intel Corporation Functional unit capable of executing approximations of functions
US10089278B2 (en) * 2011-01-21 2018-10-02 Nxp Usa, Inc. Device and method for computing a function value of a function
KR20140084294A (ko) * 2011-10-27 2014-07-04 엘에스아이 코포레이션 복소 지수 비선형 함수와 함께 명령어를 갖는 디지털 처리
US9753695B2 (en) 2012-09-04 2017-09-05 Analog Devices Global Datapath circuit for digital signal processors
US9372692B2 (en) 2012-12-29 2016-06-21 Intel Corporation Methods, apparatus, instructions, and logic to provide permute controls with leading zero count functionality
US20140324936A1 (en) * 2013-04-30 2014-10-30 Texas Instruments Incorporated Processor for solving mathematical operations
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US9606796B2 (en) 2013-10-30 2017-03-28 Texas Instruments Incorporated Computer and methods for solving math functions
DE102014200465A1 (de) * 2014-01-14 2015-07-16 Robert Bosch Gmbh Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße
WO2016016726A2 (en) * 2014-07-30 2016-02-04 Linear Algebra Technologies Limited Vector processor
CN105701055B (zh) * 2014-11-26 2018-08-28 英业达科技有限公司 电子装置及其数据传输方法
US9772975B2 (en) * 2015-07-02 2017-09-26 Oracle International Corporation Hybrid table-lookup algorithm for functions
JP6497250B2 (ja) * 2015-07-16 2019-04-10 富士通株式会社 演算処理装置および演算処理装置の制御方法
TWI583140B (zh) * 2016-01-29 2017-05-11 晨星半導體股份有限公司 具對數計算功能的解碼模組
US10303439B2 (en) * 2016-04-26 2019-05-28 International Business Machines Corporation Logarithm and power (exponentiation) computations using modern computer architectures
US20180081634A1 (en) * 2016-09-22 2018-03-22 Qualcomm Incorporated Piecewise polynomial evaluation instruction
US20180217814A1 (en) * 2017-02-02 2018-08-02 Vivante Corporation Systems And Methods For Computing Mathematical Functions
WO2019005165A1 (en) 2017-06-30 2019-01-03 Intel Corporation METHOD AND APPARATUS FOR VECTORIZING INDIRECT UPDATING BUCKLES
US10949766B2 (en) * 2017-10-15 2021-03-16 Gsi Technology Inc. Precise exponent and exact softmax computation
US20200293280A1 (en) * 2017-12-01 2020-09-17 Intel Corporation Logarithmic computation technology that uses derivatives to reduce error
CN108228136B (zh) * 2017-12-08 2021-06-15 上海集成电路研发中心有限公司 基于优化查找表法的对数函数计算的方法及装置
US10970080B2 (en) 2018-02-08 2021-04-06 Marvell Asia Pte, Ltd. Systems and methods for programmable hardware architecture for machine learning
US10929779B1 (en) 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Architecture to support synchronization between core and inference engine for machine learning
US11016801B1 (en) 2018-05-22 2021-05-25 Marvell Asia Pte, Ltd. Architecture to support color scheme-based synchronization for machine learning
US10929778B1 (en) 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Address interleaving for machine learning
US10891136B1 (en) 2018-05-22 2021-01-12 Marvell Asia Pte, Ltd. Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction
US10997510B1 (en) 2018-05-22 2021-05-04 Marvell Asia Pte, Ltd. Architecture to support tanh and sigmoid operations for inference acceleration in machine learning
US10929760B1 (en) * 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Architecture for table-based mathematical operations for inference acceleration in machine learning
GB2582146B (en) 2019-03-11 2021-08-18 Graphcore Ltd Execution Unit for Evaluating Functions Using Newton Raphson Iterations
GB2582144B (en) 2019-03-11 2021-03-10 Graphcore Ltd Execution Unit Comprising Processing Pipeline for Evaluating a Plurality of Types of Functions
GB2582143B (en) * 2019-03-11 2021-03-10 Graphcore Ltd Execution unit
CN111814107B (zh) * 2020-07-10 2021-03-12 上海擎昆信息科技有限公司 一种高精度实现平方根倒数的计算系统及其计算方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5184347A (en) * 1991-07-09 1993-02-02 At&T Bell Laboratories Adaptive synchronization arrangement
US5604691A (en) * 1995-01-31 1997-02-18 Motorola, Inc. Logarithm/inverse-logarithm converter utilizing a truncated Taylor series and method of use thereof
US5933360A (en) * 1996-09-18 1999-08-03 Texas Instruments Incorporated Method and apparatus for signal compression and processing using logarithmic differential compression
US6711596B1 (en) * 1999-05-14 2004-03-23 University Of Newcastle Upon Tyne Method and apparatus for determining the approximate valve of a logarithmic function
US7171435B2 (en) * 2002-05-17 2007-01-30 Texas Instruments Incorporated Circuits, systems, and methods implementing approximations for logarithm, inverse logarithm, and reciprocal
US7606850B2 (en) * 2005-03-30 2009-10-20 Lockheed Martin Corporation Method and apparatus for providing a base-2 logarithm approximation to a binary number

Also Published As

Publication number Publication date
US7539717B2 (en) 2009-05-26
CN1838024A (zh) 2006-09-27
US20070061389A1 (en) 2007-03-15
CN100472392C (zh) 2009-03-25
TW200710682A (en) 2007-03-16

Similar Documents

Publication Publication Date Title
TWI301578B (en) Logarithm processing systems and methods
Oberman et al. AMD 3DNow! technology: Architecture and implementations
US6697832B1 (en) Floating-point processor with improved intermediate result handling
US5631859A (en) Floating point arithmetic unit having logic for quad precision arithmetic
TWI402766B (zh) 繪圖處理器
US8037119B1 (en) Multipurpose functional unit with single-precision and double-precision operations
JP2557190B2 (ja) 引き数簡約の最適化システム
US20120079251A1 (en) Multiply add functional unit capable of executing scale, round, getexp, round, getmant, reduce, range and class instructions
JPH11288411A (ja) 基本関数の高精度推定
US8639737B2 (en) Method to compute an approximation to the reciprocal of the square root of a floating point number in IEEE format
US10416962B2 (en) Decimal and binary floating point arithmetic calculations
Oberman et al. A high-performance area-efficient multifunction interpolator
KR100911786B1 (ko) 다목적 승산-가산 기능 유닛
Sunesh et al. Design and implementation of fast floating point multiplier unit
US7640285B1 (en) Multipurpose arithmetic functional unit
US5943249A (en) Method and apparatus to perform pipelined denormalization of floating-point results
JP3600026B2 (ja) 浮動小数点演算器
JP2504102B2 (ja) 逆三角関数演算装置
US6912559B1 (en) System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
Gerwig et al. High performance floating-point unit with 116 bit wide divider
US8190669B1 (en) Multipurpose arithmetic functional unit
US5805489A (en) Digital microprocessor device having variable-delay division hardware
Sasidharan et al. VHDL Implementation of IEEE 754 floating point unit
San et al. Hardware implementation of floating-point operating devices by using IEEE-754 binary arithmetic standard
Lang et al. Division unit for binary integer decimals