TWI879627B - 自然指數函數計算裝置及其計算方法 - Google Patents
自然指數函數計算裝置及其計算方法 Download PDFInfo
- Publication number
- TWI879627B TWI879627B TW113125366A TW113125366A TWI879627B TW I879627 B TWI879627 B TW I879627B TW 113125366 A TW113125366 A TW 113125366A TW 113125366 A TW113125366 A TW 113125366A TW I879627 B TWI879627 B TW I879627B
- Authority
- TW
- Taiwan
- Prior art keywords
- exponent
- natural
- value
- output
- input
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本發明提供一種自然指數函數計算裝置以及用於自然指數函數計算裝置的計算方法。自然指數函數計算裝置包括第一查找表、第二查找表以及運算電路。第一查找表依據對符合浮點數格式的輸入值的輸入指數(exponent)部分從所述多個第一自然指數數值中選擇出選中第一自然指數數值。第二查找表依據輸入值的輸入指數部分以及輸入尾數(mantissa)部分從多個第二自然指數數值中選擇出至少一選中第二自然指數數值。運算電路對選中第一自然指數數值以及所述至少一選中第二自然指數數值進行運算以產生符合浮點數格式的輸出指數部分以及輸出尾數部分。
Description
本發明是有關於一種計算裝置以及用於計算裝置的計算方法,且特別是有關於一種對符合浮點數格式的輸入值進行自然指數函數運算的自然指數函數計算裝置以及計算方法。
自然指數函數(被表示為e
x或EXP(X))常用於各種數學模型,例如AI模型中的激勵(Activation)函數。自然指數函數運算的複雜度比加法、減法等運算高出許多。因此,在執行自然指數函數運算時,現行的硬體都會花費較長的運算時間以及較大的電路設計成本。因此,如何降低在執行自然指數函數運算所需的運算時間以及電路設計成本,是本領域技術人員的研究重點之一。
本發明提供一種自然指數函數計算裝置以及用於自然指數函數計算裝置的計算方法,能夠降低在執行自然指數函數運算所需的運算時間以及電路設計成本。
在本發明的一實施例中,自然指數函數計算裝置對符合浮點數格式的輸入值進行自然指數函數運算。自然指數函數計算裝置包括第一查找表、第二查找表以及運算電路。第一查找表儲存多個第一自然指數數值,並依據輸入值的輸入指數(exponent)部分從所述多個第一自然指數數值中選擇出選中第一自然指數數值。第二查找表儲存多個第二自然指數數值,並依據輸入值的輸入指數部分以及輸入尾數(mantissa)部分從所述多個第二自然指數數值中選擇出至少一選中第二自然指數數值。所述多個第二自然指數數值依據自然常數的不同的多個冪次方來產生。所述多個冪次方分別為2的n冪次方。n為整數。運算電路耦接於第一查找表以及第二查找表。運算電路對選中第一自然指數數值以及所述至少一選中第二自然指數數值進行運算以產生符合浮點數格式的輸出指數部分以及輸出尾數部分。
在本發明的一實施例中,計算方法用於自然指數函數計算裝置。自然指數函數計算裝置對符合浮點數格式的輸入值進行自然指數函數運算。自然指數函數計算裝置包括第一查找表、第二查找表以及運算電路。計算方法包括:由第一查找表儲存多個第一自然指數數值,並由第二查找表儲存多個第二自然指數數值;由第一查找表依據輸入值的輸入指數(exponent)部分從所述多個第一自然指數數值中選擇出選中第一自然指數數值;由第二查找表依據輸入值的輸入指數部分以及輸入尾數(mantissa)部分從所述多個第二自然指數數值中選擇出至少一選中第二自然指數數值,其中所述多個第二自然指數數值依據自然常數的不同的多個冪次方來產生,其中所述多個冪次方分別為2的n冪次方,其中n為整數;以及由運算電路對選中第一自然指數數值以及所述至少一選中第二自然指數數值進行運算以產生符合浮點數格式的輸出指數部分以及輸出尾數部分。
基於上述,第一查找表儲存多個第一自然指數數值。第二查找表儲存多個第二自然指數數值。第一自然指數數值的數量可基於浮點數格式而降低。第二自然指數數值的數量也可基於浮點數格式而降低。因此,第一查找表以及第二查找表的儲存空間的需求能夠被降低。如此一來,自然指數函數計算裝置能夠降低在執行自然指數函數運算所需的運算時間以及電路設計成本。
本發明的部份實施例接下來將會配合附圖來詳細描述,以下的描述所引用的元件符號,當不同附圖出現相同的元件符號將視為相同或相似的元件。這些實施例只是本發明的一部份,並未揭示所有本發明的可實施方式。更確切的說,這些實施例只是本發明的專利申請範圍中的範例。
請參考圖1,圖1是依據本發明一實施例所繪示的自然指數函數計算裝置的示意圖。在本實施例中,自然指數函數計算裝置100能夠對符合浮點數格式的輸入值F進行自然指數函數運算。基於浮點數格式,輸入值F包括輸入符號(sign)部分PI1、輸入指數(exponent)部分PI2以及輸入尾數(mantissa)部分PI3。
自然指數函數計算裝置100包括第一查找表110、第二查找表120以及運算電路130。第一查找表110儲存第一自然指數數值V1_1~V1_a。第一查找表110依據輸入值F的輸入指數部分PI2從第一自然指數數值V1_1~V1_a中選擇出選中第一自然指數數值VT1。第二查找表120儲存第二自然指數數值V2_1~V2_b。第二查找表120依據輸入值F的輸入指數部分PI2以及輸入尾數部分PI3從第二自然指數數值V2_1~V2_b中選擇出選中第二自然指數數值VT2_1、VT2_2、VT2_3。選中第一自然指數數值VT1是第一自然指數數值V1_1~V1_a的其中之一。選中第二自然指數數值VT2_1、VT2_2、VT2_3分別是第二自然指數數值V2_1~V2_b的其中之一。
在本實施例中,第二自然指數數值V2_1~V2_b依據自然常數的不同的多個冪次方來產生。所述多個冪次方分別為2的n冪次方(即,EXP(2
n))。n為整數。第二自然指數數值V2_1~V2_b的n彼此不同。
在本實施例中,運算電路130耦接於第一查找表110以及第二查找表120。運算電路130對選中第一自然指數數值VT1以及選中第二自然指數數值VT2_1、VT2_2、VT2_3進行運算以產生符合浮點數格式的輸出指數部分PO1以及輸出尾數部分PO2。
在此值得一提的是,第一查找表110儲存第一自然指數數值V1_1~V1_a。第二查找表120儲存第二自然指數數值V2_1~V2_b。第一自然指數數值V1_1~V1_a的數量可基於浮點數格式而降低。第二自然指數數值V2_1~V2_b的數量也可基於浮點數格式而降低。因此,第一查找表110以及第二查找表120的儲存空間的需求能夠被降低。如此一來,自然指數函數計算裝置100能夠降低在執行自然指數函數運算所需的運算時間以及電路設計成本。
舉例來說,以正的FP32浮點數格式為例(本發明並不以此為限),第一查找表110儲存256個第一自然指數數值V1_1~V1_a。換言之,a等於“256”。第二查找表120針對每一個FP32的指數值儲存23個第二自然指數數值V2_1~V2_b。換言之,b等於“256×23 = 5888”。舉例來說,第一查找表110的第一自然指數數值V1_1~V1_a可以由公式(1)來表示。
…公式(1)
“EB”是輸入指數部分PI2。“BS”等於“127”。
舉例來說,第二自然指數數值V2_1可以由公式(2)來表示。第二自然指數數值V2_2可以由公式(3)來表示。第二自然指數數值V2_3可以由公式(4)來表示,依此類推。
…公式(2)
…公式(3)
…公式(4)
“EB”是輸入指數部分PI2的數值。“BS”等於“127”。
舉例來說,以FP16的浮點數格式為例(本發明並不以此為限),第一查找表110儲存32個第一自然指數數值V1_1~V1_a。換言之,a等於“32”。第一查找表110的第一自然指數數值V1_1~V1_a可以由公式(1)來表示。基於FP16的浮點數格式,“BS”等於“15”。
第二查找表120針對每一個FP16的指數值儲存10個第二自然指數數值V2_1~V2_b。換言之,b等於“32×10 = 320”。舉例來說,第二自然指數數值V2_1可以由公式(5)來表示。第二自然指數數值V2_2可以由公式(6)來表示。第二自然指數數值V2_3可以由公式(7)來表示,依此類推。
…公式(5)
…公式(6)
…公式(7)
在本實施例中,運算電路130可對選中第一自然指數數值VT1以及選中第二自然指數數值VT2_1、VT2_2、VT2_3進行乘法運算以產生符合浮點數格式的輸出指數部分PO1以及輸出尾數部分PO2。
舉例來說,運算電路130例如以迭代方式對選中第一自然指數數值VT1以及選中第二自然指數數值VT2_1、VT2_2、VT2_3的其中之一進行乘法運算以產生符合浮點數格式的輸出指數部分PO1以及輸出尾數部分PO2。進一步舉例來說,運算電路130對選中第一自然指數數值VT1以及選中第二自然指數數值VT2_1進行乘法運算以產生第一乘積。運算電路130對第一乘積以及選中第二自然指數數值VT2_2進行乘法運算以產生第二乘積。運算電路130對第二乘積以及選中第二自然指數數值VT2_3進行乘法運算以產生第三乘積,並依據第三乘積產生輸出指數部分PO1以及輸出尾數部分PO2。
本發明的選中第二自然指數數值的數量是依據輸入值F的輸入指數部分PI2以及輸入尾數部分PI3被決定,並不以本實施例的選中第二自然指數數值VT2_1、VT2_2、VT2_3為限。
請參考圖1以及圖2,圖2是依據本發明一實施例所繪示的輸入值的示意圖。在本實施例中,基於浮點數格式,輸入值F包括輸入符號部分PI1、輸入指數部分PI2以及輸入尾數部分PI3。符號部分PI1被表示為“-1”的“SGN”冪次方。“SGN”可以是“0”或“1”。輸入指數部分PI2被表示為“2”的(EB-BS)冪次方。輸入尾數部分PI3被表示為“2”的“k”冪次方加上“x”所產生的和除以“2”的“k”冪次方的運算結果。“x”等於輸入尾數部分PI3的數值。
以FP32的浮點數格式為例(本發明並不以此為限),“BS”等於“127”。“k”等於“23”。以FP16的浮點數格式為例(本發明並不以此為限),“BS”等於“15”。“k”等於“10”。
輸入值F被進行自然指數函數運算如公式(8)所示。
…公式(8)
公式(8)被展開公式(9)。
…公式(9)
自然指數函數的運算結果並沒有負值。因此,公式(9)可以被簡化為公式(10)。
…公式(10)
應注意的是,公式(10)中的“B”等於第一自然指數數值V1_1~V1_a當中的選中第一自然指數數值VT1。
舉例來說,輸入值F等於“0.251373828125”。以FP16的浮點數格式為例(本發明並不以此為限),輸入值F被表示為“0-01101-0000001101”。第15位元的“0”是輸入符號部分PI1。第10位元至第14位元的“01101”是輸入指數部分PI2。第0位元至第9位元的“0000001101”是輸入尾數部分PI3。輸入指數部分PI2的數值等於“13”。輸入尾數部分PI3的數值等於“13”。因此,公式(10)可以被表示為公式(11)。
…公式(11)
第一查找表110可以依據輸入指數部分PI2來提供選中第一自然指數數值VT1,並將選中第一自然指數數值VT1作為公式(11)中的部分“B”。
輸入尾數部分PI3的數值等於“13”。“13”可以被表示為“1+4+8”。因此,部分“P”可以由為公式(12)來表示。
...公式(12)
應注意的是,公式(12)中的“P”等於第二自然指數數值V2_1~V2_b中的選中第二自然指數數值VT2_1、VT2_3、VT2_4的乘積。選中第二自然指數數值VT2_1對應第0位元。選中第二自然指數數值VT2_3對應第2位元。選中第二自然指數數值VT2_4對應第3位元。換言之,第二查找表120可依據輸入尾數部分PI3的多個位元的高邏輯值來從第二自然指數數值V2_1~V2_b中選擇出對應的選中第二自然指數數值。
此外,“x”、“k”、“EB”都是整數值。換言之,第一查找表110依據整數變數來從第一自然指數數值V1_1~V1_a中選擇出選中第一自然指數數值VT1。第二查找表120依據整數變數來從第二自然指數數值V2_1~V2_b中選擇出至少一選中第二自然指數數值。因此,第一查找表110以及第二查找表120的複雜度可以被降低。
因此,在此例中,第二查找表120可依據輸入指數部分PI2以及輸入尾數部分PI3來提供用於實現公式(12)中的部分“P”的選中第二自然指數數值VT2_1、VT2_3、VT2_4(VT2_4未示出)。第二查找表120僅儲存第二自然指數數值V2_1~V2_b。第二自然指數數值V2_1~V2_b依據自然常數的不同的多個冪次方來產生。所述多個冪次方分別為2的n次方。第二查找表120並不需要儲存其它的自然指數數值。如此一來,第二查找表120的電路設計成本以及空間成本能夠被降低。
請參考圖1、圖2以及圖3,圖3是依據本發明一實施例所繪示的第二自然指數數值的示意圖。圖3示例出多個第二自然指數數值的陣列。以FP16的浮點數格式為例(本發明並不以此為限),“BS”等於“15”。在陣列中的第一列R1中,“EB”等於“19”。在陣列中的第二列R2中,“EB”等於“20”。在陣列中的第三列R3中,“EB”等於“21”。應注意的是,在第一列R1中的第二自然指數數值“EXP(16*2/1024)”等於在第二列R2中的第二自然指數數值“EXP(32*1/1024)”。在第一列R1中的第二自然指數數值“EXP(16*4/1024)”等於在第二列R2中的第二自然指數數值“EXP(32*2/1024)”以及在第三列R3中的第二自然指數數值“EXP(64*1/1024)”。在第二列R2中的第二自然指數數值“EXP(32*4/1024)”等於在第三列R3中的第二自然指數數值“EXP(64*2/1024)”。換言之,在第一列R1、第二列R2以及第三列R3中的多個第二自然指數數值是部分重覆的。因此,圖3所示的陣列能夠被簡化。舉例來說,第二列R2可以被省略。第三列R3僅保留“EXP(64)”,然本發明並不以此為限。實質上,第二自然指數數值被進一步地減少。因此,第二查找表120的電路設計成本以及空間成本能夠被降低。
請參考圖4,圖4是依據本發明一實施例所繪示的自然指數函數計算裝置的示意圖。在本實施例中,自然指數函數計算裝置200包括第一查找表110、第二查找表120以及運算電路230。第一查找表110以及第二查找表120的實施細節已經在圖1至圖3的實施例中清楚說明,故不在此重述。在本實施例中,運算電路230包括緩衝器231以及乘加器232。乘加器232耦接於緩衝器231、第一查找表110以及第二查找表120。乘加器232以迭代(iteration)方式將選中第一自然指數數值VT1乘以至少一選中第二自然指數數值(統稱VT2)當中的其中之一以產生輸出指數部分PO1以及輸出尾數部分PO2,並將輸出指數部分PO1以及輸出尾數部分PO2提供至緩衝器231。
在本實施例中,緩衝器231可以是由任意型式的暫存器或記憶體電路來實施。
舉例來說,在第一運算迴圈,乘加器232對將選中第一自然指數數值VT1乘以至少一選中第二自然指數數值VT2當中的第一選中第二自然指數數值以產生第一乘積,並將第一乘積提供至緩衝器231。第一乘積包括輸出指數部分PO1以及輸出尾數部分PO2。在第二運算迴圈,乘加器232將儲存於緩衝器231的第一乘積乘以至少一選中第二自然指數數值VT2當中的第二選中第二自然指數數值以產生第二乘積,並且將第二乘積提供至緩衝器231。第二乘積包括新的輸出指數部分PO1以及新的輸出尾數部分PO2,依此類推。
在本實施例中,基於浮點數格式,乘加器232可對當前的輸出指數部分PO1的冪次方值加上選中第二自然指數數值VT2的指數部分的冪次方值以產生新的輸出指數部分PO1的冪次方值。乘加器232可對當前的輸出尾數部分PO2的數值乘以選中第二自然指數數值VT2的尾數部分的數值以產生新的輸出尾數部分PO2的數值。基於每一次的運算迴圈,乘加器232可對輸出指數部分PO1進行選中第二自然指數數值VT2的指數部分的冪次方值的位元移位以產生新的輸出指數部分PO1的數值。
此外,運算電路230可判斷輸出尾數部分PO2的數值。當輸出尾數部分PO2的數值大於或等於2時,運算電路230對輸出尾數部分PO2的數值除以2的m冪次方以使輸出尾數部分PO2的數值小於2並大於或等於1,並將輸出指數部分PO1的冪次方值加m,其中m是正整數。
舉例來說,基於浮點數格式,選中第一自然指數數值VT1例如等於“1.847264025*2
2”。選中第二自然指數數值VT2例如等於“1.706192189*2
5”。因此,新的輸出尾數部分PO2的數值等於“3.151787449”。輸出指數部分PO1的冪次方值等於“7”(即,2+5)。應注意的是,承上例,輸出尾數部分PO2的數值等於“3.151787449”。上述的輸出尾數部分PO2的數值大於2。上述的輸出尾數部分PO2並不符合浮點數格式。因此,運算電路230對輸出尾數部分PO2的數值除以2的1冪次方(即,“m”=1)以使輸出尾數部分PO2的數值小於2並大於或等於1。因此,輸出尾數部分PO2的數值等於“1.575893725”。運算電路230將輸出指數部分PO1的冪次方值加1。輸出指數部分PO1的冪次方值等於“8”。因此,選中第一自然指數數值VT1乘以選中第二自然指數數值VT2的乘積等於“1.575893725*2
8”。輸出指數部分PO1是符合浮點數格式(如,FP16或FP32)的多個指數位元值結果。輸出尾數部分PO2是符合浮點數格式的多個尾數位元值結果。以FP16的浮點數格式為例(本發明並不以此為限),第15位元是輸出符號部分。第10位元至第14位元是輸出指數部分PO1。第0位元至第9位元”是輸出尾數部分PO2。
在本實施例中,運算電路230還包括尾數調整電路233以及指數調整電路234。尾數調整電路233耦接於緩衝器231。尾數調整電路233接收輸出尾數部分PO2,並調整輸出尾數部分PO2。指數調整電路234耦接於尾數調整電路233以及乘加器232。指數調整電路234接收輸出指數部分PO1,並調整輸出指數部分PO1。
在本實施例中,尾數調整電路233判斷輸出尾數部分PO2的數值是否大於或等於2時,當輸出尾數部分PO2的數值大於或等於2時,該尾數調整電路233對輸出尾數部分PO2的數值除以2的m冪次方以使輸出尾數部分PO2的數值小於2並大於或等於1,並提供通知訊號SN。指數調整電路234依據通知訊號SN將輸出指數部分PO1的冪次方值加m。
此外,當輸入值F為負值時,運算結果可能會產生非正規化的(denormalized)數值。因此,尾數調整電路233可對輸出尾數部分PO2進行正規化數值相乘後變成非正規化數值(denormalized number)的處理。
請參考圖1以及圖5,圖5是依據本發明一實施例所繪示的計算方法的流程圖。在本實施例中,計算方法S100可適用於自然指數函數計算裝置100。計算方法S100包括步驟S110~S140。在步驟S110中,第一查找表110儲存第一自然指數數值V1_1~V1_a。第二查找表120儲存第二自然指數數值V2_1~V2_b。
在步驟S120中,第一查找表110依據輸入值F的輸入指數部分PI2從第一自然指數數值V1_1~V1_a中選擇出選中第一自然指數數值VT1。在步驟S130中,第二查找表120依據輸入值F的輸入指數部分PI2以及輸入尾數部分PI3從第二自然指數數值V2_1~V2_b中選擇出至少一選中第二自然指數數值(如,選中第二自然指數數值VT2_1、VT2_2、VT2_3)。在一些實施例中,步驟S120、S130可同時進行。在一些實施例中,步驟S130可早於步驟S120。
在步驟S140中,運算電路130對選中第一自然指數數值VT1以及至少一選中第二自然指數數值進行運算以產生符合浮點數格式的輸出指數部分PO1以及輸出尾數部分PO2。
步驟S110~S140的實施細節已經在圖1至圖3的實施例中清楚說明,故不在此重述。
此外,計算方法S100可適用於圖4中的自然指數函數計算裝置200。
綜上所述,第一查找表儲存多個第一自然指數數值。第二查找表儲存多個第二自然指數數值。第一自然指數數值的數量可基於浮點數格式而降低。第二自然指數數值的數量也可基於浮點數格式而降低。因此,第一查找表以及第二查找表的儲存空間的需求能夠被降低。如此一來,自然指數函數計算裝置能夠降低在執行自然指數函數運算所需的運算時間以及電路設計成本。此外,第一查找表依據整數變數來提供選中第一自然指數數值。第二查找表依據整數變數來提供至少一選中第二自然指數數值。因此,第一查找表以及第二查找表的複雜度可以被降低。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100、200:自然指數函數計算裝置
110、210:第一查找表
120、220:第二查找表
130、230:運算電路
231:緩衝器
232:乘加器
233:尾數調整電路
234:指數調整電路
F:輸入值
PI1:輸入符號部分
PI2:輸入指數部分
PI3:輸入尾數部分
PO1:輸出指數部分
PO2:輸出尾數部分
R1:第一列
R2:第二列
R3:第三列
S100:計算方法
S110~S140:步驟
SN:通知訊號
V1_1~V1_a:第一自然指數數值
V2_1~V2_b:第二自然指數數值
VT1:選中第一自然指數數值
VT2、VT2_1、VT2_2、VT2_3:選中第二自然指數數值
圖1是依據本發明一實施例所繪示的自然指數函數計算裝置的示意圖。
圖2是依據本發明一實施例所繪示的輸入值的示意圖。
圖3是依據本發明一實施例所繪示的第二自然指數數值的示意圖。
圖4是依據本發明一實施例所繪示的自然指數函數計算裝置的示意圖。
圖5是依據本發明一實施例所繪示的計算方法的流程圖。
100:自然指數函數計算裝置
110:第一查找表
120:第二查找表
130:運算電路
F:輸入值
PI1:輸入符號部分
PI2:輸入指數部分
PI3:輸入尾數部分
PO1:輸出指數部分
PO2:輸出尾數部分
V1_1~V1_a:第一自然指數數值
V2_1~V2_b:第二自然指數數值
VT1:選中第一自然指數數值
VT2_1、VT2_2、VT2_3:選中第二自然指數數值
Claims (11)
- 一種自然指數函數計算裝置,其中該自然指數函數計算裝置對符合浮點數格式的一輸入值進行自然指數函數運算,其中該自然指數函數計算裝置包括: 一第一查找表,經配置以儲存多個第一自然指數數值,並依據該輸入值的一輸入指數(exponent)部分從該些第一自然指數數值中選擇出一選中第一自然指數數值; 一第二查找表,經配置以儲存多個第二自然指數數值,並依據該輸入值的該輸入指數部分以及一輸入尾數(mantissa)部分從該些第二自然指數數值中選擇出至少一選中第二自然指數數值,其中該些第二自然指數數值依據一自然常數的不同的多個冪次方來產生,其中該些冪次方分別為2的n冪次方,其中n為整數;以及 一運算電路,耦接於該第一查找表以及該第二查找表,經配置以對該選中第一自然指數數值以及該至少一選中第二自然指數數值進行運算以產生符合浮點數格式的一輸出指數部分以及一輸出尾數部分, 其中該運算電路包括: 一緩衝器;以及 一乘加器,耦接於該緩衝器、該第一查找表以及該第二查找表,經配置以以迭代方式將該選中第一自然指數數值乘以該至少一選中第二自然指數數值當中的其中之一以產生該輸出指數部分以及該輸出尾數部分,並將該輸出指數部分以及該輸出尾數部分提供至該緩衝器。
- 如請求項1所述的自然指數函數計算裝置,其中該第二查找表依據該輸入尾數部分的多個位元的高邏輯值來從該些第二自然指數數值中選擇出該至少一選中第二自然指數數值。
- 如請求項1所述的自然指數函數計算裝置,其中當該輸出尾數部分的數值大於或等於2時,該運算電路對該輸出尾數部分的數值除以2的m冪次方以使該輸出尾數部分的數值小於2並大於或等於1,並將該輸出指數部分的冪次方值加m,其中m是正整數。
- 如請求項1所述的自然指數函數計算裝置,其中該運算電路對該選中第一自然指數數值該至少一選中第二自然指數數值進行乘法運算以產生該輸出指數部分以及該輸出尾數部分。
- 如請求項1所述的自然指數函數計算裝置,其中該乘加器對將該選中第一自然指數數值乘以該至少一選中第二自然指數數值當中的一第一選中第二自然指數數值以產生一第一乘積,將該第一乘積提供至該緩衝器,將儲存於該緩衝器的該第一乘積乘以該至少一選中第二自然指數數值當中的一第二選中第二自然指數數值以產生一第二乘積,並且將該第二乘積提供至該緩衝器。
- 如請求項1所述的自然指數函數計算裝置,其中該運算電路還包括: 一尾數調整電路,耦接於該緩衝器,經配置以接收該輸出尾數部分,並調整該輸出尾數部分;以及 一指數調整電路,耦接於該尾數調整電路以及乘加器,經配置以接收該輸出指數部分,並調整該輸出指數部分。
- 如請求項6所述的自然指數函數計算裝置,其中: 該尾數調整電路判斷該輸出尾數部分的數值是否大於或等於2時, 當該輸出尾數部分的數值大於或等於2時,該尾數調整電路對該輸出尾數部分的數值除以2的m冪次方以使該輸出尾數部分的數值小於2並大於或等於1,並提供一通知訊號,並且 該指數調整電路依據該通知訊號將該輸出指數部分的冪次方值加m,其中m是正整數。
- 一種用於一自然指數函數計算裝置的計算方法,其中該自然指數函數計算裝置對符合浮點數格式的一輸入值進行自然指數函數運算,其中該自然指數函數計算裝置包括一第一查找表、一第二查找表以及一運算電路,其中該計算方法包括: 由該第一查找表儲存多個第一自然指數數值,並由該第二查找表儲存多個第二自然指數數值; 由第一查找表依據該輸入值的一輸入指數(exponent)部分從該些第一自然指數數值中選擇出一選中第一自然指數數值; 由該第二查找表依據該輸入值的該輸入指數部分以及一輸入尾數(mantissa)部分從該些第二自然指數數值中選擇出至少一選中第二自然指數數值,其中該些第二自然指數數值依據一自然常數的不同的多個冪次方來產生,其中該些冪次方分別為2的n冪次方,其中n為整數;以及 由該運算電路對該選中第一自然指數數值以及該至少一選中第二自然指數數值進行運算以產生符合浮點數格式的一輸出指數部分以及一輸出尾數部分, 其中將該選中第一自然指數數值乘以該至少一選中第二自然指數數值以產生該輸出指數部分以及該輸出尾數部分的步驟包括: 以迭代方式將該選中第一自然指數數值乘以該至少一選中第二自然指數數值的其中之一以產生該輸出指數部分以及該輸出尾數部分。
- 如請求項8所述的計算方法,由該第二查找表依據該輸入值的該輸入指數部分以及該輸入尾數部分從該些第二自然指數數值中選擇出該至少一選中第二自然指數數值的步驟包括: 依據該輸入尾數部分的多個位元的高邏輯值來從該些第二自然指數數值中選擇出該至少一選中第二自然指數數值。
- 如請求項8所述的計算方法,還包括: 當該輸出尾數部分大於或等於2時,由該運算電路對該輸出尾數部分除以2的m冪次方以使該輸出尾數部分小於2並大於或等於1,並將該輸出指數部分的冪次方值加m,其中m是正整數。
- 如請求項8所述的計算方法,其中由該運算電路依據該選中第一自然指數數值以及該至少一選中第二自然指數數值進行運算以產生符合浮點數格式的該輸出指數部分以及該輸出尾數部分的步驟包括: 對該選中第一自然指數數值該至少一選中第二自然指數數值進行乘法運算以產生該輸出指數部分以及該輸出尾數部分。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113125366A TWI879627B (zh) | 2024-07-05 | 2024-07-05 | 自然指數函數計算裝置及其計算方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113125366A TWI879627B (zh) | 2024-07-05 | 2024-07-05 | 自然指數函數計算裝置及其計算方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TWI879627B true TWI879627B (zh) | 2025-04-01 |
Family
ID=96142301
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW113125366A TWI879627B (zh) | 2024-07-05 | 2024-07-05 | 自然指數函數計算裝置及其計算方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI879627B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201322118A (zh) * | 2011-06-30 | 2013-06-01 | Samplify Systems Inc | 浮點資料之壓縮 |
| CN111796795A (zh) * | 2019-04-04 | 2020-10-20 | 英特尔公司 | 用于执行单精度浮点扩展数学运算的机制 |
| TW202121163A (zh) * | 2019-10-01 | 2021-06-01 | 美商聖巴諾瓦系統公司 | 基於查詢表的函數的計算單元 |
| CN117472323A (zh) * | 2022-07-29 | 2024-01-30 | 安华高科技股份有限公司 | 用于浮点运算的硬件加速器 |
-
2024
- 2024-07-05 TW TW113125366A patent/TWI879627B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201322118A (zh) * | 2011-06-30 | 2013-06-01 | Samplify Systems Inc | 浮點資料之壓縮 |
| CN111796795A (zh) * | 2019-04-04 | 2020-10-20 | 英特尔公司 | 用于执行单精度浮点扩展数学运算的机制 |
| TW202121163A (zh) * | 2019-10-01 | 2021-06-01 | 美商聖巴諾瓦系統公司 | 基於查詢表的函數的計算單元 |
| CN117472323A (zh) * | 2022-07-29 | 2024-01-30 | 安华高科技股份有限公司 | 用于浮点运算的硬件加速器 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10491239B1 (en) | Large-scale computations using an adaptive numerical format | |
| KR20190051755A (ko) | 저 정밀도 뉴럴 네트워크 학습을 위한 방법 및 장치 | |
| US9032006B2 (en) | Processing of linear systems of equations | |
| CN110036384B (zh) | 信息处理设备和信息处理方法 | |
| JP2004326112A (ja) | マルチプルモジュラス選択器、累算器、モンゴメリー掛け算器、マルチプルモジュラス発生方法、部分掛け発生方法、累算方法、掛け算方法、モジュラス選択器、およびブースレコーダ | |
| US9928037B2 (en) | Modulo calculation using polynomials | |
| TWI825935B (zh) | 用於記憶體中計算的系統、電腦實施過程以及解碼器 | |
| US20060106905A1 (en) | Method for reducing memory size in logarithmic number system arithmetic units | |
| TWI879627B (zh) | 自然指數函數計算裝置及其計算方法 | |
| JP4273071B2 (ja) | 除算・開平演算器 | |
| CN114860193A (zh) | 一种用于计算Power函数的硬件运算电路及数据处理方法 | |
| JP2020098469A (ja) | 演算処理装置および演算処理装置の制御方法 | |
| US9612800B2 (en) | Implementing a square root operation in a computer system | |
| CN117992122A (zh) | 特殊函数单元sfu计算装置及数据计算方法 | |
| CN113761822B (zh) | 采用迭代计算的模数运算电路 | |
| TW202333041A (zh) | 執行浮點運算的系統及方法 | |
| CN111610955B (zh) | 一种数据饱和加打包处理部件、芯片及设备 | |
| CN118519685A (zh) | 一种基于SIMD指令实现快速求解sigmoid函数的方法 | |
| TW202217551A (zh) | 處理模數乘法的裝置及方法 | |
| CN115079997A (zh) | 对数执行硬件高效无偏舍入的方法 | |
| CN113590081A (zh) | 一种带窗口的三进制标量乘的方法 | |
| CN114217764A (zh) | 一种基于国产异构众核平台的高精度浮点数模拟方法 | |
| Brisebarre et al. | A high throughput polynomial and rational function approximations evaluator | |
| KR101626743B1 (ko) | 유한체상의 몽고메리 알고리즘을 이용한 곱셉기 및 곱셈 방법 | |
| JP3332270B2 (ja) | べき乗演算装置 |