TWI514169B - 一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品 - Google Patents

一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品 Download PDF

Info

Publication number
TWI514169B
TWI514169B TW103135148A TW103135148A TWI514169B TW I514169 B TWI514169 B TW I514169B TW 103135148 A TW103135148 A TW 103135148A TW 103135148 A TW103135148 A TW 103135148A TW I514169 B TWI514169 B TW I514169B
Authority
TW
Taiwan
Prior art keywords
approximation
value
linear approximation
precision
computer program
Prior art date
Application number
TW103135148A
Other languages
English (en)
Other versions
TW201516710A (zh
Inventor
Shin Kai Chen
Ting Yao Hsu
Tsung Ching Lin
Chih Wei Liu
Jenq Kuen Lee
Original Assignee
Nat Univ Tsing Hua
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 Nat Univ Tsing Hua filed Critical Nat Univ Tsing Hua
Publication of TW201516710A publication Critical patent/TW201516710A/zh
Application granted granted Critical
Publication of TWI514169B publication Critical patent/TWI514169B/zh

Links

Classifications

    • 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
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/5235Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
    • 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/52Multiplying; Dividing
    • G06F7/535Dividing only

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Complex Calculations (AREA)
  • Nonlinear Science (AREA)

Description

一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品
本發明是有關於一種決定對數函數單元的硬體實現方法。
即時三維圖像(Real-time three-dimensional graphics)應用常應用於計算世界。為了處理三維圖像應用,計算裝置需要三維圖像處理器。三維圖像處理器被設計為執行沈重的算數運算,像是除法、倒數、開根號、平方以及次方的運算。研究顯示這些沈重的計算可能消耗高達總處理時間的83%。此外,即時三維圖像應用不只需要處理時間,還需要消耗更多的電力。
即時三維圖像應用也被引入至移動裝置,像是智慧型手機或平板個人電腦。然而,移動裝置的計算能力比較差以及電力供給受到限制。為了順利地將即時三維圖像應用應用至移動裝置上,必須為了移動裝置將沈重的計算最佳化,以需求較小的電力來產生可接受的結果。然而,現存的最佳化結果並非完美。
在本發明的一實施例中,一種決定對數函數單元的硬體實現方法包括提供一段數;使用該段數對複數個對應的區間決定一片段線性近似法以近似轉換一分數的一函數;提供一位元精度;轉換分隔該等區間的端點至對應二位元端點,其在該位元精度中分隔複數個額外間隔;決定一調整片段線性近似法,其具有小於一臨界值的近似誤差值且在該等額外間隔上;編碼該調整片段線性近似法的係數;從該調整片段線性近似法中決定一較差精度近似法作為一候選線性近似法,其中當該較差精度近似法仍能夠具有小於該臨界值之近似誤差值時,使用具有一最小位元寬度的一爭議值;以及實現該較差精度近似法以獲得一實現電路。
在本發明的一實施例中,一種包括攜有電腦程式碼儲存於其中的非暫態電腦可讀取媒介的電腦程式產品使一硬體電腦系統執行上述步驟。
上文已相當廣泛地概述本揭露之技術特徵及優點,俾使下文之本揭露詳細描述得以獲得較佳瞭解。構成本揭露之申請專利範圍標的之其它技術特徵及優點將描述於下文。本揭露所屬技術領域中具有通常知識者應瞭解,可相當容易地利用下文揭示之概念與特定實施例可作為修改或設計其它結構或製程而實現與本揭露相同之目的。本揭露所屬技術領域中具有通常知識者亦應瞭解,這類等效建構無法脫離後附之申請專利範圍所界定之本揭露的精神和範圍。
1‧‧‧對數函數單元
11‧‧‧絕對值電路
12‧‧‧對數轉換器
13‧‧‧簡單算數邏輯單元
14‧‧‧二位元反對數轉換器
15‧‧‧控制單元
S51-S56‧‧‧步驟
S61-S66‧‧‧步驟
S71-S77‧‧‧步驟
S81-S91‧‧‧步驟
9‧‧‧硬體電腦系統
91‧‧‧處理器
92‧‧‧記憶體
藉由參照前述說明及下列圖式,本揭露之技術特徵及優點得以獲得完全瞭解。
圖1顯示根據本發明一實施例所述之對數函數單元(logarithmic function unit,LFU)之示意圖。
圖2顯示根據本發明一實施例所述之對數轉換器之架構示意圖。
圖3顯示根據本發明一實施例所述之對數近似之架構示意圖。
圖4顯示根據本發明一實施例所述之加法及移位之架構示意圖。
圖5顯示根據本發明一實施例所述之決定對數函數單元之方法的流程圖。
圖6顯示根據本發明一實施例所述之決定最小段數之方法的流程圖。
圖7顯示根據本發明一實施例所述之決定硬體及預估來源之方法的流程圖。
圖8顯示根據本發明一實施例所述之決定加法及移位架構之加法器位元寬度及加法器數量之方法的流程圖。
圖9顯示根據本發明一實施例所述之硬體電腦系統之示意圖。
為了使具有通常知識者能徹底地瞭解本發明,將在下列的描述中提出詳盡的步驟及結構。顯然地,本發明的實現並未限定於相關領域之具有通常知識者所熟習的特殊細節。另一方面,眾所周知的結構或步驟並未描述於細節中,以避免造成本發明不必要之限制。本發明的較佳實施例會詳細描述如下,然而除了這些詳細描述之外,本發明還可以廣泛地施行在其他實施例中,且本發明的範圍不受限定,其以後附的申請專利範圍為準。
在下文中本揭露的實施例係配合所附圖式以闡述細節。說明書所提及的「實施例」、「此實施例」、「其他實施例」等等,意指包含在本發明之該實施例所述有關之特殊特性、構造、或特徵。說明書中各處出現之「在此實施例中」的片語,並不必然全部指相同的實施例。
下列記載詳細說明本揭露之實施步驟及結構以使本揭露得以被完整地瞭解。本揭露之實現並不限於具有特定知識之具有通常知識者。此外,習知之結構及步驟並未記載於下文,以免本揭露受到不必要之限制。本揭露之較佳實施例將於下文中描述,然而本揭露除了下文之外,亦可廣泛地實現於其它實施例中。本揭露之範圍不應限制於下文之記載,而應由申請專利範圍予以定義。
圖1顯示根據本發明一實施例所述之對數函數單元(logarithmic function unit,LFU)之示意圖。參照圖1,對數函數單元1在第一階包括兩個絕對值電路11以及兩個二位元對數轉換器12(binary logarithmic converter,LOG)。對數函數單元1在第二階包括簡單算數邏輯單元13、二位元反對數轉換器14以及補數電路。簡單算數邏輯單元包括反向器、加法器/減法器以及桶移位器(barrel shifter,BSH)。為了快速操作,將對數函數單元1予以管線化。
對數函數單元1另包括控制單元15,其用以保證結果z 具有正確的數學符號(sign)。控制單元的操作如下方表I所示。
圖2顯示根據本發明一實施例所述之對數轉換器的架構示意圖。參照圖2,對數轉換器12包括前導1檢測(leading one detector,LOD)電路以及桶移位器(BSH)。假設N 為二位元數(binary number)以及表示為:N =z k ...z 2 z 1 z 0z -1 z -2 z -3 ...z j , (1)其中z i =0或1及z k =1
透過對數轉換,N 可被列式為:log2 N =k +log2 (1+f ) (2)
其中k 為整數以及0 f <1。
N 可為固定點混合數(fixed point hybrid number)格式Q(m,n) ,其中m為指定數N 的兩個補數整數部分的位元的數量,及n 為指定數N 的分數部分的位元的數量。
前導1檢測電路用以決定數字k 。當維持前導位元的位置時,前導1檢測電路僅讓前導位元通過至輸出端。K.H.Abed及R.E.Sifred於IEEE Trans.On Computers ,2003所發表的論文「CMOS VLSI implementation of a low power logarithmic converter」揭露典型的前導1檢測電路,相關的揭露於此合併參照。
參照圖2,接著讓輸入值N 通過桶移位器以獲得(1+f )。
圖3顯示根據本發明一實施例所述之對數近似的架構示意圖。log2 (1+f )能被實現為如圖3所示之對數近似架構(或對數函數單元)。log2 (1+f )能夠被進一步表示為a i ×f +b i ,並且應用比較器及查找表來決定a i b i
藉由片段線性近似法來近似函數log2 (1+f ),能夠使用加法及移位方法來實現片段線性近似法的線性方程式。舉例來說,若藉由f +(f >>sh 1)+(f >>sh 2)+…+(f >>shn )近似log2 (1+f ),log2 (1+f )能夠被實現為加法及移位架構或如圖4所示之加法器樹。
圖5顯示根據本發明一實施例所述之決定對數函數單元之方法的流程圖。圖6顯示根據本發明一實施例所述之決定最小段數之方法的流程圖。參照圖5,在步驟S51,提供誤差需求或臨界值。
在步驟S52,決定最小段數(segment number)。參照圖6,在步驟S61,提供誤差需求或臨界值。臨界值能非常小,舉例來說,2-16 。本案之決定線性近似法可採用M.Zhu et al.於in Proc.ICM ,2012所發表的論文「Error Flatten Logarithm Approximation for Graphics Processing Unit」,相關的揭露於此合併參照。計算最小段數能使用高精準模擬軟體,像是MATLAB。
在步驟S62,提供一個初始段數。
在步驟S63,決定測試片段線性近似法並計算對應的近似誤差值。
在步驟S64,接著將近似誤差值與臨界值比較。
在步驟S65,若近似誤差值大於臨界值,增加段數並將程序回溯至步驟S63。一直重複步驟S63至步驟S65,直到取得具有近似誤差值小於臨界值的測試線性誤差法且對應的段數被用為最小段數。
藉由以下方程式之一者決定誤差值或近似誤差值。
其中,P signal 為訊號的功率以及P noise 是雜訊的功率。
關於計算誤差值或近似誤差值的細節,可參照K.H.Abed與R.E.Sifred於IEEE Trans.On Computers ,2003發表的論文「CMOS VLSI implementation of a low power logarithmic converter,」、S.L.SanGregory et al.於Proc.MWSCAS,1999發表的論文「A fast,low power logarithm approximation with CMOS VLSI implementation,」in、T.B.Juang et al.於IEEE Trans.on Circuits and System-II:Express Briefs ,2009發表的論文「A Lower Error and ROM-Free Logarithmic Converter for Digital Signal Processing Applications」以及M.Zhu et al.於Proc.ICM ,2012發表的論文「Error Flatten Logarithm Approximation for Graphics Processing Unit」,相關的揭露於此合併參照。
復參圖5,在步驟S53,改變爭議值f 的精度及表示方程式log2 (1+f )分數部分之展開項的項數,以決定代表具有近似誤差值小於臨界值的log2 (1+f )之較差精度近似法(less precise approximation)。之後,較差精度近似法被實現為一實現電路並預估實現電路的面積。
在步驟S54,將新決定的實現電路的面積的尺寸與前者實現電路的面積的尺寸比較。若新決定的實現電路的面積的尺寸較小,程序進行步驟S55。假如新決定的實現電路的面積的尺寸較大,則程序進行到步驟S56。在步驟S55,段數例如被增加一,並接著程序進行到步驟S53。在步驟S56,輸出新決定的實現電路。
圖7顯示根據本發明一實施例所述之決定硬體及預估來源之方法的流程圖。參照圖7,在步驟S71,在決定了線性段數以後,因而決定了用於近似轉換方程式log2 (1+f )的分數部分的方程式的片段線性近似法。片段線性近似法在對應線性段數的複數個間隔上。在一實施例中,該等間隔可相同(uniform)。在一實施例中,該等間隔並非相同。
在一實施例中,使用M.Zhu et al.之論文揭露的方法所決定的片 段線性近似法近似方程式log2 (1+f )具有對應該等間隔的統一輸出值範圍。若段數為二,則片段線性近似法能夠被列式為:
接著,決定適合的較差精度二位元數以分別近似該等間隔的端點(endpoint)。最後,初始決定位元精度。在一實施例中,能使用方程式ceil (log2 (段號))決定位元精度。
在步驟S72,在決定了二進位數或間隔的端點的點以後,在由二進制小數點(binary point)所分隔的新間隔上決定的調整片段線性近似法。
在步驟S73,決定調整片段線性近似法的近似誤差值,並將近似誤差值與臨界值比較。能使用上述方程式(3)至(7)之一者決定近似誤差值。若近似誤差值大於臨界值,程序進行到步驟S72。若近似誤差值小於臨界值,程序進行到步驟S75。
在一實施例中,本案發明可根據先前公開的對數近似方法的誤差值,例如T.B.Juang et al於IEEE Trans.on Circuits and System-II:Express Briefs ,2009發表的論文「A Lower Error and ROM-Free Logarithmic Converter for Digital Signal Processing Applications」,決定與調整片段線性近似法之近似誤差值比較的臨界值。
在一實施例中,若藉由相同的二位元數近似該等間隔的兩個端點,則將位元精度增加一位元並接著重新計算新的調整片段線性近似法。重複該等步驟直到沒有藉由相同的二位元數近似的該等間隔的兩個端點。
在一實施例中,段數為二,且調整片段線性近似法列式為:
在步驟S75,調整片段線性近似法實現為加法及移位之架構。
在步驟S76,具有近似誤差值小於臨界值之調整片段線性近似法被簡化為具有近似誤差值也小於臨界值之較差精度近似法。較差精度近似法可使用較差精度的爭議值f ,以及相較於調整片段線性近似法,具有近似方程式log2 (1+f )之分數之較少的展開式。因此,較差精度近似法實現的加法及移位之架構小於於調整片段線性近似法所實現的加法及移位之架構。
在步驟S77,較差精度近似法被視作為候選線性近似法,而程序接著進行到步驟S74。重複步驟S72至S77,直到二位元端點(binary endpoint)的精度或段點(segment point)超過一既定值。
圖8顯示根據本發明一實施例所述之決定加法及移位架構之加法器位元寬度及加法器數量之方法的流程圖。參照圖8,在決定調整片段線性近似法以後,對調整片段線性近似法的係數進行編碼以轉換該等係數至二位元格式。在一實施例中,將調整片段線性近似法的係數編碼為正則有號數格式(canonical signed digit,CSD)。
包括實現的加法及移位架構的系統能具有輸入精度。若輸入精度為m +n ,則加法及移位結構的加法器能具有m +n -1 的位元寬度。m +n -1 的最大位元寬度能決定既定位元數或調整片段線性近似法之爭議值的初始位元寬度。
在步驟S81,初始化位元寬度w 。根據m +n -1 的位元寬度決定位元寬度w
在步驟S82,初始化項或加法器數n。在一實施例中,項數n 具有為一的初始值。項或加法器數n決定用於近似調整片段線性近似法之分數係數的調整片段線性近似法之展開式的數量。
在步驟S83,根據項或加法器數n選擇非零項,並根據項號n 及爭議值的精度決定暫時較差精度近似法。
舉例來說,初始位元寬度為17位元且將方程式(8b)及(9b)編碼,而因此藉由以下關係近似方程式log2 (1+f ):
在方程式(10)中,若項或加法器數n為一,因為第一最重要位元為零,選擇或保留f 的分數係數的第二最重要位元。在方程式(11)中,因為第一及第二最重要位元為零,選擇或保留第三最重要位元。因此,能取得暫時較差精度近似法為:
其中f 15MSBbit f 14MSBbit 分別代表f 的15MSB位元及f 的14MSB位元。
在步驟S84,決定暫時較差精度近似法的近似誤差值並與臨界值比較。在一實施例中,能根據先前公開演算近似方法之誤差值決定用於調整片段線性近似法的近似誤差值之臨界值。若暫時較差精度近似法之近似誤差值大於臨界值時,程序進行到步驟S85。若暫時較差精度近似法之近似誤差值小於臨界值時,程序進行到步驟S87。
在步驟S85,將項或加法器數n,舉例來說,增加一。
在步驟S86,將增加的項數與極限值n _Max 比較。若項數小於極限值n _Max ,程序進行到步驟S83,並且將會保留下一個非零項。舉例來說,若項數增加到二,保留第五最重要位元,並且下一個暫時較差精度近似法將具有兩個展開式。
若項數大於極限值n _Max ,即使採用了所有的展開項,爭議值不具有足夠的位元數或精度以准許對應的暫時較差精度近似法具有小於 臨界值之誤差近似。在這種情況下,程序進行到步驟S90以及最後位元寬度為最小位元寬度,並且在計算中的暫時較差精度近似法被視為候選線性近似法。
在步驟S87,暫時較差精度近似法被視為候選線性近似法。若有候選線性近似法,新決定的暫時較差精度近似法將會取代前一個。
在步驟S88,將位元寬度與零比較。若位元寬度大於零,程序進行到步驟S89。若位元寬度小於零,程序進行到步驟S90。
在步驟S89,位元寬度,舉例來說,被減小一,且程序進行到步驟S82。
在步驟S90,候選線性近似法被實現為實現電路。
在步驟S91,逐漸增加段數,決定對應候選線性近似法,並且比較對應候選線性近似法之加法及移位架構的面積。持續這樣的程序,直到取得具有最小面積的加法及移位架構。
圖9顯示根據本發明一實施例所述之硬體電腦系統之示意圖。參照圖9,硬體電腦系統9包括處理器91及記憶體92。記憶體包括電腦程式碼。記憶體92及電腦程式碼與處理器91一起被配置以使硬體電腦系統9執行至少上述方法之該等步驟的一部份。
在至少一些實施例中,本揭露的方法改變了片段線性近似法之爭議值的位元寬度以及片段線性近似法之展開式的數量,以取得具有誤差值小於臨界值之較差精度近似法並且能實現消耗小面積的電路。在至少一些實施例中,該方法改變了斷點之精度以取得消耗少面積及產生更精準結果的電路。在至少一實施例中,該方法增加片段的數量
在此詳細描述的資料結構及代碼通常儲存在非暫態電腦可讀取儲存媒介上,其可為能夠儲存電腦系統使用的代碼及/或資料的任何裝置或媒介。非暫態電腦可讀取儲存媒介包括,但不限定於此,揮發性記憶體、非揮發性記憶體、磁及光儲存裝置像是磁碟機、磁帶、 CD(光碟片)、DVD(數位化多功能光碟)或其他已知或以後所發展能夠儲存代碼及/或資料的媒介。
於詳細敘述段落所描述的方法及程序能被包含為代碼及/或資料,其可儲存於像是以上所述的非暫態電腦可讀取儲存媒介中。當電腦系統讀取及執行儲存在非暫態電腦可讀取儲存媒介上的代碼及/或資料時,電腦執行包含儲存在非暫態電腦可讀取儲存媒介中的資料結構或代碼的方法及程序。此外,以下所描述的方法及程序能被包含在硬體模組中。舉例來說硬體模組能包含,但不限定於,其他已知或以後發展之可程式化邏輯裝置。當硬體模組被啟動時,硬體模組執行包含於硬體模組中的方法及程序。
本揭露之技術內容及技術特點已揭示如上,然而本揭露所屬技術領域中具有通常知識者應瞭解,在不背離後附申請專利範圍所界定之本揭露精神和範圍內,本揭露之教示及揭示可作種種之替換及修飾。例如,上文揭示之許多製程可以不同之方法實施或以其它製程予以取代,或者採用上述二種方式之組合。
此外,本案之權利範圍並不侷限於上文揭示之特定實施例的裝置、方法或步驟。本揭露所屬技術領域中具有通常知識者應瞭解,基於本揭露教示及揭示裝置、方法或步驟,無論現在已存在或日後開發者,其與本案實施例揭示者係以實質相同的方式執行實質相同的功能,而達到實質相同的結果,亦可使用於本揭露。因此,以下之申請專利範圍係用以涵蓋用以此類裝置、方法或步驟。
S51-S56‧‧‧步驟

Claims (16)

  1. 一種決定對數函數單元的硬體實現方法,包括:(A)提供一段數;(B)使用該段數對複數個對應的區間決定一片段線性近似法以近似轉換一分數的一函數;(C)提供一位元精度;(D)轉換分隔該等區間的端點至對應二位元端點,其在該位元精度中分隔複數個額外間隔;(E)決定一調整片段線性近似法,其具有小於一臨界值的近似誤差值且在該等額外間隔上;(F)編碼該調整片段線性近似法的係數;(G)從該調整片段線性近似法中決定一較差精度近似法作為一候選線性近似法,其中當該較差精度近似法仍能夠具有小於該臨界值之近似誤差值時,使用具有一最小位元寬度的一爭議值;以及(H)實現該較差精度近似法以獲得一實現電路。
  2. 如申請專利範圍第1項所述之決定對數函數單元的硬體實現方法,其中步驟(G)包括:(I)將該調整精度線性誤差法的該爭議值設定為一預設位元數的一精度;(J)提供一項數;(K)根據該項數及該設定的爭議值決定一暫時較差精度近似法;(L)若該暫時較差精度近似法具有大於該臨界值的近似誤差值時,增加該項數; (M)重複該等步驟(K)及(L)直到取得具有近似誤差值小於該臨界值的一暫時較差精度近似法,或者該項數大於一極限值;(N)使用具有該近似誤差值小於該臨界值的該暫時較差精度近似法作為該較差精度近似法;(O)減少該爭議值的該精度;以及(P)重複該等步驟(J)至(O)直到該爭議值的該精度為零。
  3. 如申請專利範圍第1項所述之決定對數函數單元的硬體實現方法,更包括:(Q)將該段數增加一;(R)執行該等步驟(B)至(H);以及(S)重複該等步驟(Q)及(R)直到獲得具有一最小面積的一實現電路。
  4. 如申請專利範圍第1項所述之決定對數函數單元的硬體實現方法,更包括增加該位元精度以及執行該等步驟(D)至(G)之步驟,以決定另一個近似法作為該候選線性近似法。
  5. 如申請專利範圍第1項所述之決定對數函數單元的硬體實現方法,更包括若該等端點之兩個係藉由一相同二位元端點來近似,則增加該位元精度之步驟。
  6. 如申請專利範圍第1項所述之決定對數函數單元的硬體實現方法,其中該步驟(A)包括:將該段數設定為一;使用該段數決定一測試片段線性近似法;若該測試片段線性近似法具有大於另一臨界值之近似誤差值 時,增加該段數;以及重複決定一測試片段線性近似法以及增加該段數之該等步驟,直到該測試片段線性近似法具有小於該臨界值之該近似誤差值。
  7. 如申請專利範圍第1項所述之決定對數函數單元的硬體實現方法,其中該片段線性近似法具有對應該等區間的統一輸出值範圍。
  8. 如申請專利範圍第1項所述之決定對數函數單元的硬體實現方法,其中步驟(F)包括將該調整片段線性近似法的係數編碼為一正則有號數格式。
  9. 一種電腦程式產品,包含儲存一電腦程式碼之非暫態電腦可讀取媒介,其中該電腦程式碼使得一硬體電腦系統:(A)提供一段數;(B)使用該段數對複數個對應的區間決定一片段線性近似法以近似轉換一分數的一函數;(C)提供一位元精度;(D)轉換分隔該等區間的端點至在該位元精度中分隔複數個額外間隔的對應二位元端點;(E)決定具有小於一臨界值的近似誤差值以及於該等額外間隔上的一調整片段線性近似法;(F)編碼該調整片段線性近似法的係數;(G)從該調整片段線性近似法中決定一較差精度近似法作為一候選線性近似法,其中當該較差精度近似法仍能夠具有小於該臨界值之近似誤差值時,使用具有一最小位元寬度的一爭議值;以及 (H)實現該較差精度近似法以獲得一實現電路。
  10. 如申請專利範圍第9項所述之電腦程式產品,其中步驟(G)之電腦程式碼使得該硬體電腦系統:(I)將該調整精度線性誤差法的該爭議值設定為一預設位元數的一精度;(J)提供一項數;(K)根據該項數及該設定的爭議值決定一暫時較差精度近似法;(L)若該暫時較差精度近似法具有大於該臨界值的近似誤差值時,增加該項數;(M)重複該等步驟(K)及(L)直到取得具有近似誤差值小於該臨界值的一暫時較差精度近似法,或者該項數大於一極限值;(N)使用具有該近似誤差值小於該臨界值的該暫時較差精度近似法作為該較差精度近似法;(O)減少該爭議值的該精度;以及(P)重複該等步驟(J)至(O)直到該爭議值的該精度為零。
  11. 如申請專利範圍第9項所述之電腦程式產品,其中該電腦程式碼更使得該硬體電腦系統:(Q)將該段數增加一;(R)執行該等步驟(B)至(H);以及(S)重複該等步驟(Q)及(R)直到獲得具有一最小面積的一實現電路。
  12. 如申請專利範圍第9項所述之電腦程式產品,其中該電腦程式碼 更使得該硬體電腦系統增加該位元精度以及執行該等步驟(D)至(G)以決定另一個近似法作為該候選線性近似法。
  13. 如申請專利範圍第9項所述之電腦程式產品,其中若該等端點之兩個係藉由一相同二位元端點來近似,該電腦程式碼更使得該硬體電腦系統增加該位元精度。
  14. 如申請專利範圍第9項所述之電腦程式產品,其中步驟(A)之電腦程式碼使得該硬體電腦系統:將該段數設定為一;使用該段數決定一測試片段線性近似法;若該測試片段線性近似法具有大於另一臨界值之近似誤差值時,增加該段數;以及重複決定一測試片段線性近似法以及增加該段數之該等步驟,直到該測試片段線性近似法具有小於該臨界值之該近似誤差值。
  15. 如申請專利範圍第9項所述之電腦程式產品,其中該片段線性近似法具有對應該等區間的統一輸出值範圍。
  16. 如申請專利範圍第9項所述之電腦程式產品,其中步驟(F)之電腦程式碼使得該硬體電腦系統將該調整片段線性近似法的係數編碼為一正則有號數格式之該電腦程式碼。
TW103135148A 2013-10-22 2014-10-09 一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品 TWI514169B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/060,330 US20150113027A1 (en) 2013-10-22 2013-10-22 Method for determining a logarithmic functional unit

Publications (2)

Publication Number Publication Date
TW201516710A TW201516710A (zh) 2015-05-01
TWI514169B true TWI514169B (zh) 2015-12-21

Family

ID=52827147

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103135148A TWI514169B (zh) 2013-10-22 2014-10-09 一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品

Country Status (2)

Country Link
US (1) US20150113027A1 (zh)
TW (1) TWI514169B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI583140B (zh) * 2016-01-29 2017-05-11 晨星半導體股份有限公司 具對數計算功能的解碼模組
US9990196B2 (en) * 2016-04-01 2018-06-05 Intel Corporation Instruction, circuits, and logic for piecewise linear approximation
CN108228136B (zh) * 2017-12-08 2021-06-15 上海集成电路研发中心有限公司 基于优化查找表法的对数函数计算的方法及装置
US10528322B2 (en) * 2017-12-29 2020-01-07 Intel IP Corporation Unified multifunction circuitry
US20200125991A1 (en) * 2018-10-18 2020-04-23 Facebook, Inc. Optimization of neural networks using hardware calculation efficiency
US20220044386A1 (en) * 2020-08-05 2022-02-10 Facebook, Inc. Hardware friendly fixed-point approximations of video quality metrics
CN112685002A (zh) * 2021-01-07 2021-04-20 南京晓庄学院 基于pwl的浮点数对数计算架构

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243513B2 (en) * 2003-01-14 2007-07-17 Milliken & Company Patterned textile product
TW201145262A (en) * 2010-01-12 2011-12-16 Fraunhofer Ges Forschung Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
TW201303482A (zh) * 2011-03-23 2013-01-16 Asml Netherlands Bv 用於計算結構之電磁散射特性及用於近似結構之重建之方法及裝置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408918B1 (en) * 2002-10-07 2008-08-05 Cisco Technology, Inc. Methods and apparatus for lossless compression of delay sensitive signals
US8849883B2 (en) * 2011-03-23 2014-09-30 Analog Devices, Inc. Method and apparatus for adaptive control of the decimation ratio in asynchronous sample rate converters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243513B2 (en) * 2003-01-14 2007-07-17 Milliken & Company Patterned textile product
TW201145262A (en) * 2010-01-12 2011-12-16 Fraunhofer Ges Forschung Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
TW201303482A (zh) * 2011-03-23 2013-01-16 Asml Netherlands Bv 用於計算結構之電磁散射特性及用於近似結構之重建之方法及裝置

Also Published As

Publication number Publication date
TW201516710A (zh) 2015-05-01
US20150113027A1 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
TWI514169B (zh) 一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品
JP7244186B2 (ja) 改良された低精度の2進浮動小数点形式設定
US20200218509A1 (en) Multiplication Circuit, System on Chip, and Electronic Device
US10540142B2 (en) Accuracy-conserving floating-point value aggregation
CN107305485B (zh) 一种用于执行多个浮点数相加的装置及方法
US8874630B2 (en) Apparatus and method for converting data between a floating-point number and an integer
US8751555B2 (en) Rounding unit for decimal floating-point division
JPWO2019064774A1 (ja) 情報処理装置、および情報処理方法
WO2022052625A1 (zh) 一种定点与浮点转换器、处理器、方法以及存储介质
CN112241291A (zh) 用于指数函数实施的浮点单元
JP2006154979A (ja) 浮動小数点数演算回路
US10140090B2 (en) Computing and summing up multiple products in a single multiplier
KR102503498B1 (ko) 수학적 함수를 연산하는 시스템 및 방법
US10459689B2 (en) Calculation of a number of iterations
US8239430B2 (en) Accuracy improvement in CORDIC through precomputation of the error bias
US9128758B2 (en) Encoding densely packed decimals
CN114201140A (zh) 指数函数处理单元、方法和神经网络芯片
US20070094318A1 (en) Method and system for hardware efficient systematic approximation of square functions for communication systems
KR102281047B1 (ko) 4개의 입력 내적 회로를 사용하는 삼각 함수 계산
TWI776090B (zh) 電腦可讀儲存媒體、電腦實施的方法及計算邏輯區段
US20090094306A1 (en) Cordic rotation angle calculation
JP2009089343A (ja) 角度計算方法及び関連回路
CN111353118A (zh) 开平方的方法及相应的用于开平方的电路
US20090319589A1 (en) Using fractional exponents to reduce the computational complexity of numerical operations
WO2022111014A1 (zh) 累加装置、方法及可读存储介质