TW201216152A - Vector floating point argument reduction - Google Patents
Vector floating point argument reduction Download PDFInfo
- Publication number
- TW201216152A TW201216152A TW100130131A TW100130131A TW201216152A TW 201216152 A TW201216152 A TW 201216152A TW 100130131 A TW100130131 A TW 100130131A TW 100130131 A TW100130131 A TW 100130131A TW 201216152 A TW201216152 A TW 201216152A
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- floating point
- processing
- scaling
- scaled
- Prior art date
Links
- 239000013598 vector Substances 0.000 title claims abstract description 131
- 230000009467 reduction Effects 0.000 title description 14
- 238000010606 normalization Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 139
- 238000000034 method Methods 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 10
- 238000006467 substitution reaction Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 3
- 239000000463 material Substances 0.000 claims description 2
- 206010061218 Inflammation Diseases 0.000 claims 1
- 210000004556 brain Anatomy 0.000 claims 1
- 230000004054 inflammatory process Effects 0.000 claims 1
- 230000007774 longterm Effects 0.000 claims 1
- 239000002689 soil Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 240000005528 Arctium lappa Species 0.000 description 1
- 235000003130 Arctium lappa Nutrition 0.000 description 1
- 235000008078 Arctium minus Nutrition 0.000 description 1
- 241000579895 Chlorostilbon Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/552—Indexing scheme relating to groups G06F7/552 - G06F7/5525
- G06F2207/5521—Inverse root of a number or a function, e.g. the reciprocal of a Pythagorean sum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/012—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
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)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
201216152 六、發明說明: 【發明所屬之技術領域】 本發明係關於資料處理 明係關於支援向量浮點運 【先前技術】 系統領域。 算之資料處 更特定言之 理系統領域 本發 术邛以屋生歸—几 向量,該歸一化向量具有沿與向 里丫相冋方向之單位县 度及點。此向量歸一化可按照以下計算順序執行. K給定輸入向量V,利用輸入向量v本身計算輸入 向量V之内積; 2.計算該内積之平方根倒數;以及 3· 將該輸入向量之每一分詈垂ιν — τ 里心母刀重乘以該平方根倒數值。 儘管上述操作順序適用於理想數學實數,但存在浮點 數僅代表有限範圍内且具有有限精度之數學實數的問 題。在上述提及向量歸一化技術内文中之特定問題為: 内積可能溢出或下溢,從而導致最終結果中之至少精度 損失’且可能導致不可接受之錯誤。 需要的是’無論採取什麼方法解決此問題,皆不應在 歸一化向量之決定中引入額外不準確度,以及不應過度 增加諸如電路區域及處理時間之額外管理負擔的量。 【發明内容】 本發明的一個態樣提供一種用於處理資料的設備,該 201216152 設備包含: 處理電路系統,該處理電路系統經配置以對資料值執 行處理操作;以及 解碼器電路系統,該解碼器電路系統搞接至該處理電 路f統且經配置以將程式指令解碼,以產生控制訊號, 該等控制訊號用於控制該處理電路系統以執行由該等程 式指令規定之處理操作;其中 該解碼器電路系統將近似倒數值產生指令解碼以產生 控制訊號,以控制該處理電路系統對具有整數指數值e 及尾數值Μ之浮點數執行處理操作,以產生具有指數c 及尾數之近似倒數值,指數c取決於Ε,該尾數代表卜 本發明技術認識到,當執行歸一化時,計算浮點數之 倒數值係有用的,因為藉由在執行該歸—化之前將向量 分量中之每一向量分量乘以向量分量中之最大向量分量 之量值的倒數’可減少溢出或下溢之可能性。然而,此 方法之問題為:計算倒數可為計算密集的,以及可存在 與向量分量之尾數值操作相關聯之精度損失。近似倒數 值產生指令藉由決定具有指數及尾數之近似倒數值解決 此等問題’該指數取決於分向量之指數,該尾數代表怪 定值1(例如在删754格式f纟當與隱式前導… 相結合時,所有零位元之屋赵# 「 尾數值代表「1」)。此類近似倒 數值可用於縮放向量分量,以使得向量分量具有無溢出 及下溢之患的值。此外,為1之尾數值具有不改變向量 分量之尾數值的結果。此外’與完全倒數值指令相比, 201216152 與執行此類近似倒數值產生指令相關聯之管理負擔可相 對較低’該近似倒數值產生指令取決於輸入浮點數之指 數值。 貫现例甲,可將近似倒 -E ^然而,已知輸入浮點數之整數指數值可受制於預定 偏位(例如根據IEEE 754標準),且在本文中可將近似 倒數值之指數值可形成作為整數指數值E之按位元反 演。可在幾乎無管理負擔之情況下決定此類按位元反 演,且此類按位元反演為近似倒數值產生數值,該數值 將致使無下溢及溢出歸一化操作之患。 本發月的另癌'樣提供一種用於處理資料的設備,該 設備包含: 處理構件,該處理構件用於對資料值執行處理操作. 以及 、, ^碼器構件’該解碼器構件用於將程式指令解碼,以 控制訊號,該等控制訊號用 以執行由該等程式指令規定夕一堤理電路系統 規疋之處理%作丨其中 該解碼器構件將近似倒數 訊號,以控制該處理構件對…夕解碼以產生控制 Μ之浮點數執行處理操作二::數值£及尾數值 近似倒數值,指數 數C及尾數之 '曰數C取決於Ε,該尾數代 本發明的又—離彳 代表I。 以下步驟:為供-種資料的方法,該方法包含 對資料值執行處理操作;以及 201216152 控制由二μ 7解碼以產生控制訊號,該等控制訊號用於 二 δχ程式指令規定之該等處理操作;其中 該解碼步驟將近似倒數值產生指令解碼以彦生控㈣ 號’以控制該處理步驟對具有整數指數值ε及尾數值以 之子點數執行處理操作,以產生具有指數c及尾數之近 〇倒數值’指數C取決於Ε,該尾數代表1。 Μ本發明的又-態樣提供一種用於處理資料的設備,該 设備包含: 一處理電路系統’該處理電路系統經配置以對資料值執 行處理操作;以及 解碼器電路系統,該解碼器電路系統輕接至該處理電 路f統且經配置以將程式指令解碼,以產生控制訊號, ㈣控制訊號用於控制該處理電路系統以執行由該等程 式指令規定之處理操作;其中 該解碼器電路系統將具有兩個浮點數作為輸入運算元 之經修改乘法指令解碼,以產生控制訊號,以在以下情 況下控制該處理電路系統:該兩個浮點數中之-浮點數 為由(-1)SZ*〇給出的帶正負號零值,其中SZ為該帶正負 號零值之正貞號值,且^個浮點數巾之另—浮點數為 帶正負號無限值(-l)SI*co,复中s /、干SI為該帶正負號無限值 之正負號值,以產生預定值作為經修改乘法結果值,該 預定值由(-1)(㈣丨WV給出,其中psv㈣定取代值。 在歸-化浮點向量時,有必要諸如在縮放輸入向量分 量時執行乘法操作,以確保該等輪人向量分量不溢出或 201216152 不下溢。在本文中,零值及無限之處理變得重要。當帶 正負號零值使用經修改乘法指令乘以帶正負號無限時, 經產生之經修改乘法結果由適當帶正負號之預定取代值 給出。然後此預定取代值可在促進產生適當歸一化向量 之歸一化操作期間受制於進一步處理。 預疋取代值可具有多種數值。在一些實施例中,預定 取代值可為1,但在其他實施例中,可更方便將預定取 代值產生為2。 上述經修改乘法指令之行為,在帶正負號零乘以帶正 負號無限之情況下偏離歸一化浮點標準。然而,對於該 兩個輸入浮點數之其他值而言,經修改乘法指令可根據 IEEE標準754操作》 經修改乘法指令可為純量指令,但在其他實施例中, 經修改乘法指令可為對複數組輸人運算元操作之向量指 々因為此舉適用於改良歸一化操作之速度及代碼密 度’該速度及代碼密度即為經修改乘法指令之目標。 本發明的另一態樣提供一種用於處理資料的設備,該 設備包含: 處理構件,該處理構件用於對資料值執行處理操作; 以及 解碼器構件,s亥解碼器構件用於將程式指令解碼,以 產生控制訊號’該等控制訊號用於控制該處理構件以執 行由該等程式指令規定之處理操作;其中 該解碼器構件將具有兩個浮點數作為輸入運算元之經 201216152 修改乘法指令解碼1產生㈣訊號1在以下情況下 ㈣:,處理構件:該兩個浮點數中之-浮點數為由 (-i)z*〇給出的帶正負號零值,盆 /、τ Λ為該帶正負號零 值之正負號值,且該兩個浮點數 夂7乃 汙點數為帶正 負號無限則S、,其中SI為該帶正負號無限值之正 負號值m預定值作為經修改乘法結果值該預定 值由(-Ifz+swpsv給出, 兴T PSV為預定取代值。 本發明的又-態樣提供一種資料的方法,該方法包含 以下步驟: 對資料值執行處理操作;以及 解碼程式指令以產生控制訊號,該等控制訊號用於控 制由該等程式指令規定之該等處理操作·其中 該解碼步驟將具有兩個浮點數作為輪入運算元之經修 改乘法指令解碼,以產生控制訊號,以在以下情況下控 制該處理步驟:1¾兩個浮點數中之一浮點數為由㈠) 給出的帶正負號零值,其中^為該帶正負號零值之正 負號值’且該兩個浮點數中之另—浮點數為帶正負號無 限值《*〇〇’其中81為該帶正負號無限值之正負號 值’以產生預定值作為經修改乘法結果值,該預定值由 (1) )!kpsv給出,其中PSV為預定取代值。 本發明的又一態樣提供一種操作資料處理設備以歸一 化具有複數個分量之向量浮點值的方法,該複數個分量 中之每一分量包括整數指數值及尾數值,該方法包含以 下步驟: 201216152 取決於該向量浮點值計算縮放值; 取決於該縮放值縮放該複數個分量中之每— 刀量,以 產生具有複數個經縮放分量之經縮放向量浮點值. 計算該經縮放向量浮點值之量值;以及 將該複數個經縮放分量中之每一分量除以兮θ 喵罝值,以 產生歸一化向量浮點值;其中 該計算縮放值之步驟產生縮放值2C,其中Γ ' L為整數 值’該整數值經選擇以使得該複數個經縮放分量之平方 和小於預定極限值。 本發明技術提供一種操作資料處理設備的方法,談方 法適合於歸一化具有複數個分量之向量浮點值該方法 用以使在避免溢出或下溢及避免引入不當之額外管理負 擔的同時,維持歸一化值之準確度。特定言之,本發明 技術計算縮放值,藉該縮放值將輸入向量分量中之每一 分量加以縮放,以在歸一化彼等經縮放分量之前產生複 數個經縮放分量,。將該縮放值選為2c,其中c為整數 值。藉選擇此類縮放值可避免操作分量之尾數藉此保 持該等分#之準確度及減少處理f理負擔。值c經選擇 以使得該複數個經縮放分量之平方和小於預定極限值, 以便避免溢出及下溢。 預定極限值可為最大數值大小浮點數,該最大數值大 小洋點數可由_作的浮點數之指數值及尾數值表示。 計异縮放因數之步驟可包括以下步驟:識別該複數個 刀量值中之最问整數指數值B。該等分量值可以縮放因 10 201216152 數縮放,該縮放因數取決於由此類步驟識別之該等輸入 分里中之最大輸入分量。在本文中縮放因數可將c設 定為等於-B,其中B為該複數個分量之最高整數指數值。 在一些實施例中,該等指數值受制於預定整數偏位(例 如根據IEEE標準754 ),且在本文中可能將縮放因數€ 產生為等於任何該等輸入分量中之最大指數值B的按位 元反演。 當縮放該複數個分量中之每一分量時,可執行乘法。 此類乘法可識別以下情況:帶正負號零乘以帶正負號無 限且在此狀況下產生經縮放浮點向量内之對應分量,以 具有預疋值,該預定值保持正負號結果且使用預定取代 值作為量值。此舉幫助保持歸一化向量内之向量方向。 本發明的另一態樣提供一種設備,該設備用於歸一化 具有複數個分量之向量浮點值,該複數個分量中之每— 分量包括整數指數值及尾數值,該設備包含處理電路系 統,忒處理電路系統經配置以執行以下步驟: 取決於該向量浮點值計算縮放值; 取決於該縮放值縮放該複數個分量中之每一分量 產生具有複數個經縮放分量之經縮放向量浮點值; 計算該經縮放向量浮點值之量值;以及 將該複數個經縮放分量中之每一分量除以該量值, 產生歸一化向量浮點值;其中 該計算縮放值之步驟產生縮放值2c,其中c為整數 值,該整數值經選擇以使得該複數個經縮放分量之平方 201216152 和小於預定極限值。 本發明的又一態樣提供一種設備,該設備用於歸—化 具有複數個分量之向量浮點值,該複數個分量中之每_ 分量包括整數指數值及尾數值,該設備包含處理構件, 該處理構件用於執行以下步驟: 取決於該向量浮點值計算縮放值; 取決於該縮放值縮放該複數個分量中之每一分量, 王 Η 產生具有複數個經縮放分量之經縮放向量浮點值; 計算該經縮放向量浮點值之量值;以及 該複數個經縮放分量中之每一分量除以該量值,以產 生歸一化向量浮點值;其中 該计算縮放值之步驟產生縮放值2C,其中C為整數 值’該整數值經選擇以使得該複數個經縮放分量之平方 和小於預定極限值。 將瞭解,本發明之一補充態樣可提供一種虛擬機,該 虛擬機包含電腦程式,該電腦程式執行程式以提供一種 如以上所論述本發明之態樣中之一或更多態樣中陳述的 °又備本發明之另一補充態樣可為一種電腦程式產品, 該電腦程式產品具有用於儲存電腦程式之非暫態形式, 該電腦程式用於控制資料處理設備以根據上述技術回應 於程式指令執行資料處理。 【實施方式】 第1圖示意性地圖示資料處理設備1〇〇,資料處理設 12 201216152 備100包含通用中央處理單元102,中央處理單元1〇2 耗接至記憶體104,記憶體104健存用於操作的資料及 程式指令。中央處理單力102包括解碼器電路系統106, 解碼器電路系、統106用於將自記憶體1〇4引出之程式指 令解碼且用於產生控制訊號’該等控制訊號用於控:: 理電路系統以執行所要的資料處理操作。該處理電路系 統包括浮點暫存器檔案1〇8及浮點處理電路系統"Ο:、 浮點值自浮點暫存器㈣丨利取且受·浮點處理電 路系統110内的浮點操作’諸如加法、減法、乘法、比 較等等。當將程式指令解碼時由解碼器電路系統106產 生之控制訊號配置且控制浮點暫存器_ 108及浮點處 理電路系統110以執行所要的處理操作。 本技術領域人士將瞭解,中央處理翠元iQ2㈣常包 括許多進一步處理電路’但為了清晰起見已自第^圖省 略此等進—步處理電路。特定言之,將瞭解,必要時或 若需要,中央處理單元1()2可對整數值執行歸—化 操作以及對SIMD值執行SIMD操作。 第2圖示意性地圖示向量歸-化操作。歸—化向旦. 由輸入向量分量…給出’每一輸入向量分量…除以二 向量之和的量值。若第2圖之分子及分母二者皆 放因數卜則不存在對歸-化向量a之大小或方向之整 體影響。该歸一化向量具有輸入向量方向之翠 為了避免當操作浮點數讀如第2圖所_放該等;^點 數時由捨人誤差及其他準確度之計算沿輪人向量方向引 13 201216152 入變化,可選擇縮放向量k,以使得當將該等計算作為 歸一化操作之一部分執行時’ k具有值為1之尾數及經 選擇以避免溢出及下溢之指數。特定言之,選擇該縮放 值’以使得該複數個經縮放分量之平方和小於預定極限 值’其中此極限值為最大數值大小浮點數,該最大數值 大小浮點數可由所利用之浮點格式之指數值及尾數值_ 示0 第3圖示意性地圖示可如何計算輸入向量\之量值。 特定言之’此量值可決定為個別分量之平方和之平方 根。使用個別向量分量a〗而不縮放,引入可存在與此等 計算中之一個計算相關聯之越界事故(〇ut_〇f_range hazard)的風險》特定言之,一個別分量之平方或該等個 別分量之平方和可超過以所用浮點格式表示之最大數。 此類越界事故可導致歸一化操作失敗或產生不準確結 果。 可能在決定輸入向量之量值之前由縮放向量k縮放輸 入向量。在此情況下,在分量值中之每一分量值與其他 分量值加總且然後取平方根之前’分量值中之每一分量 值乘以k。藉由適當選擇縮放向量k’可能確保在平方和 之平方根之計算_不發生越界事故。此外,若縮放向量 經選擇以具有尾數值i (亦即k=2c),則亦可減少操作尾 數值時捨入不準確性問題。可選擇縮放向量k,以使得 全部向量分量之和(2cai)2小於或等於可使用有關浮點格 式表示之最大值。 14 201216152 第4圖示意性地圖示單精度浮點數之格式。此格式將 為本技術領域人士所熟知。特定言之,浮點單精度數為 32位元數,該32位元數由以下部分形成:表示正負號 之單位元s、表示指數值之8位元玖受制於單精度之_127 偏位)連同23位元尾數位元μ[22:〇](存在與尾數位元 Μ[22:0]相關聯之隱式前導丨)。下文論述之實例對單精 度浮點數操作。然而,本發明技術不受限於此類單精度 浮點數,且必要時本發明技術可例如與雙精度浮點數(或 其他精度浮點數)一起使用。此外,即使廣泛使用第4 圖所示格式,浮點數所用之特定格式亦可變化。 第5圖示意性地圖示近似倒數值產生指令fRecPX, 近似倒數值產生指令FRECPX可用於迅速決定縮放值 k。特定言之,此指令應該應用於形成待歸一化向量的分 S之中被偵測為最高(最大)分量值的分量值。此近似 倒數值之正負號值被設定為〇,以使得縮放值將不改變 與該縮放值相乘之分量的正負號。縮放值之尾數值被設 定為對應於1。將瞭解,在尾數值中存在隱式前導丨,因 此在第4圖之實例中,尾數之所有23個位元可為零。 指數值被設定為C,以使得近似倒數值成為2c。c可 經選擇為-E,其中E為輸入浮點數之指數值,正在計算 該輸入浮點數之近似倒數值。在此情況下需要額外操作 以將+/-無限值轉換為+/_零值。然而,在指數值受制於如 第4圖中所示預定整數偏位之其他實施例中,則可將匸 設定為E之按位元反演(e之not )。因此,對第4圖 15 201216152 所示輸入浮點值起作用之近似倒數值產生指令FRECpx 產生近似倒數值,該近似倒數值具有由0給出之正負號· 位元S、全為〇之尾數位元M[22:0]及由N〇T(E)給出之 指數值c。使用NOT(E)產生C具有將+/_無限值正確轉 換為+/-零值之優點》可產生此近似倒數值,而幾乎無電 路或速度管理負擔。當輸入向量分量乘以基於最大量值 輸入向量分量決定之此近似倒數值時,經縮放分量將具 有大小’以使得當該等經縮放分量平方及加總時將不存 在越界事故。 當該縮放值乘以該等個別分量值時,重要的是應以適 合於向量歸一化之方式處理零值及無限。此舉可使用如 第ό圖所示之經修改乘法指令FMULX來達成。此經修 改乘法指令具有兩個輸入運算元Α及Β。此指令操作, 以使得若該等輸入運算元中之一輸入運算元為帶正負號 零且該等輸入運算元中之另一輸入運算元為帶正負號無 限,則結果為預定取代值PSV,psv帶正負號以便對應 於該兩個輸入運算元之正負號之乘法。此預定取代值可 取多種量值,諸如1,但可方便地產生為值在其他方 面,經修改乘法指令FMULX根據IEEE標準754操作, 以產生歸一化浮點乘法結果。 第7圖為示意性地圖示向量歸一化操作的流程圖。在 步驟112,決定每一分量之絕對值。然後步驟114選擇 在步驟112決定之此等絕對值中之最大值。此最大絕對 值用於計算待應用於所有分量之縮放值。 16 201216152 在步驟11 6,近似倒數值產生指令應用於對應於在步 驟114選擇之最大絕對值的分量,且產生的近似倒數值 被用作縮放值。步驟11 8使用經修改乘法指令以執行對 所有原始輸入向量分量乘以該近似倒數值之經修改乘 法以產生經縮放分量。步驟1 2 0將每一經縮放分量自 身相乘,以形成經縮放平方值。步驟122將此等經縮放 平方加總,以形成原始輸入向量之經縮放内積。步驟124 決定此和之平方根。此平方根決定之輸出為經縮放輸入 向里之篁值。然後步驟126將每一經縮放分量值除以該 平方根決定之輸出,以形成歸一化分量。 第8圖圖示圖形處理單元核心2,圖形處理單元核心2 輕接至記憶體4〇圖形處理單元核心2包括浮點運算管 線6、一組淨點暫存器8及指令解碼器。將瞭解,第 1圖中之圖形處理單元核心2之說明被簡化,且實際上 將提供許多進-步處理元件,諸如載人儲存管線、紋理 管線、快取記憶體等等。 π m體4儲存圓形程式 吗π貝竹μ 〇在操作Ί 來自圖形程式12之程式指令由圖形處理單元核心2弓" 且供應至指令解碼器1G。指令解碼ϋ 1G將此等程式名 :解碼且產生控制訊號16 ’控制訊號16應用於浮點驾 -官線6形式及該組浮點暫存器8形式之處理電路系 配置及控制此處理電路系統6、8以執行由有關程 =令規定之所要的處理操作。此處理操作將對來自圖 形資料14之資料值執行,該等資料值載入至及健存自該 17 201216152 組子點暫存器8 ’以用於由浮點運算管線6操作。 入如,技術領域人士將理解’取決於所接收之程式指 7 ’心令解碼器IG將產生控制訊號16以配置處理電路 系統6、8以執行特定所要的處理操作。此等處理操作可 採取多種不同的形式’諸如乘法、加法 布永沄加法、邏輯操作、前 述拉作之向量變體及其他形式。根據本發明技術,指令 解::广應於作為圖形程式12之一部分的自記憶體 出之引數減少指令,以執行如下將描述之處理操 。將瞭解’執行此等所要的處理操作之電路可具有多 種不同的形式,且本發明技術涵蓋所有此等不同:式。 特定言之,參閱特定順序之數學操作而描述之結果值可 #由遵循產生㈣結果值之不同組數學操作產生。 變體包括在本發明技術内。 第9圖圖示向量歸一化操作。輸入向量18 一化操作以產生具有量们之歸—化W此舉^ 由將輪入向量18除以如線條22所示該輪入向量之量^ 來達成。可接著將該輸入向量之量值計算為輸入向量U 之内積之平方根。此舉以線條24圖示。此方法 為’輪入向量18之内積可受制於浮點下溢或浮點溢出 右此等情況中之任-情況發生,則存在最终結果之至小 精度損失或由溢出或下溢產生之錯誤的可能性。夕 本發明技術開發以下認識:若縮放輸入向\,則線 :所示表達式之分子及分母將皆以相同之因數縮放。二 應用於輸入向量18之數學上古你 干上方便且低冪數(l〇w 18 201216152
Power)、低管理負擔形式之 放對應於以幂數2進行的輪=為指數值之變化,該縮 放對歸-化向量20無影二$ 18之縮放。由於此縮 溢出# τγ y Β故選定之縮放值可防止内積 溢出或下溢。目此所利用 X ^ μ. . ?日數移位值c (加入或減自 所有輸入向量分量之指數 ^ ^ . 的數)可在範圍内選擇,以 確保由已觉制於引數減少指人 μ ^ ^ φ .τγ之向ϊ舁出之内積將不導 出或下溢,而對最終内積結果產生不利影響。 第W圖圖示引數減少指令FREDUCE4之第一實例。 此指令採取四分詈輪A而旦 翰向里且產生具有四個結果分量之 輸出。該等結果分晋 刀里中之母一結果分量已受制於指數值 移位C。此舉將對應於該等輸人分量巾之每—輸入分量 乘以值2C。 此引數減;指令中為C選擇之值可在准許範圍内變 化。在此准許範圍内之任何值C將為可接受的◎此範圍 藉由識別值B且然後將C設定為整數以使得B + c小於 190 (對應於值Edotmax)且使得B + c大於64 (對應於 Edotmin)來定界,B為該等輸入分量中之最大指數值。 此實例中之值190對應於第一預定值,且值64對應於第 二預定值。值C被選為整數,以使得B + C處於第一預定 值與第二預定值之間。此舉將最大結果分量之量值設定 成無溢出及下溢之患的範圍。可在實施例中調整可接受 範圍之端點,在該等實施例中,期望防止由許多結果分 量中之多個結果分量之和組成的内積溢出(此風險隨著 向量長度增加而增加)。 19 201216152 第η圖圖示第二實例引數減少指令FD〇T3R。此引數 減少指令採取三分量輸入向量且產生經三個縮放結果分 量連同該等經縮放結果分量之内積。該縮放由如先前描 述之指數移位執行,其中值C經選擇以確保B+c處於可 接受範圍内。當需要該等結果分量之純量内積以供後續 計算之用時,諸如當歸一化三分量輸入向量時,亦產生 該等分量之純量内積之引數減少指令FD0T3R之變體係 有利的。 第12圖為示意性地圖示在一示例性實施例中可如何 選擇及應用指數移位值C (指數變化值)的流程圖。此 實例有利地具有低的電路及電力管理負擔。在步驟26, 檢核輸入向量之任何非數值表現(n〇n_a number)分量。^ 债測到任何非數值表現分量,則在步驟28觸發非數值^ 現處理,且完成結束引數減少指令。若在步驟%未偵3 到非數值表現分量,則步驟3〇用以债測在輪入向量内』 否存在任何無限分量。若存在任何無限分量,則步驟^ 用以觸發無限處理,且完成引數減少指令之執行。 若在步驟26及步驟30檢核時,輸入向量不^非數右 表現分量及無限分量,則處理行進至步驟34,在步驟3 中’求出輸入分量中之每一輸入分量之指數值之最上招 :位元以形成值然後步驟36將值β設定為在步凝 二未出之E。值之最大值。步驟38將指數移位值㈡ 然:後此經決〜經選擇指數移位(縮放因 在流程圖之餘下部分中應用於所有輸入向量分量。 20 201216152 在步驟4Ο ’將索引值1 s史疋為〇。然後步驟42選擇對應 於現值i之向量分量之Ehc)i值,且添加至在步驟38得出 之此值Ο步驟44決定更新之Ehj值是否小於零。若該 值小於零,則步驟46將對應結果向量分量、設定為零。 若在步驟44的決定為Eh〇i不小於零或在步驟46之後, 則處理行進至步驟48,在步驟48中,做出關於是否還 存在需要調整之輸入向量分量Vi之決定。若存在另外的 此類分量,則步驟50增大值丨,且處理回到步驟42。 第13圖圖示對應於第6圖之步驟28之非數值表現異 常處理。該非數值表現處理可藉由在步驟52將所有結果 分量設定為非數值表現值來執行。 第14圖為不意性地圖示無限值異常處理的流程圖。如 本技術領域人士所知’浮點無限值可為負無限或正無 ^第8圖之整體措施為將對應於負無限值之分量設定 為-1且將對應於正無限值之值設定為+1。將不對應於正 無限值或負&限值之所有其他結果分量設定為 零。 至但· 旦曰 扣〜值p步驟八仍〜^阻^输入向量 里疋否為正無限。若在步驟56的決定為輸入向量分 正無限,則帝Jgg ς ^ 後處理行進至_6絲向4分量設定為+1。 量分量要處步驟6",若還存在輪入 若不“仏理,則步驟62增大值丨且處理回到步驟I ^丨入向量分量要處理’則無限異常處理 右在步驟%的決定為當前輸入向量分量^並非正 21 201216152 限,則步驟64檢核以查看此值是否為負無限。若該值為 負無限,則步驟66將對應結果分量設定為q。 右步驟56及步驟64皆未積測到無限值,則步驟似 用以將結果向量内的任何非無限分量設定為具有量值 0。 第15圖為示意性地圖示一系列指令的流程圖,可執行 該等指令以進行向量歸-化操作。步驟7()產生經縮放向 量分量(結果分量)。此舉可藉由在四分量輸入向量之情 況下執行對應於第-實則數減少指彳FREmjcE4之 指令來達成。或者’在三分量輸入向量之情況下,步驟 70可作為第二實例引數減少指令fdqt3r之執行之一部 分來達成。使用減少指令咖饥之第二實例准許步驟 7〇及步驟72皆用單指令計算,步驟72產生分量之純量 積(結果分量之内朴若正在處理四分量向量,則獨立 向量乘法VMUL可用於計算步驟72之純量積。 步驟74產生該純里積之平方根倒數。然後步驟76將 經縮放分量(結果分量)中之每一經縮放分量乘以在步 驟76產生的平方根倒數值。第9圖之處理與第2圖中所 要計算之數學說明之比較將顯示,第9圖之指令順序之 執行對應於第2圖之最終線條所示值之決定。 第16圖圖示可使用之虛擬機實施。儘管上述實施例利 用操作支援㈣技術之特定處理硬體之設備及方法來實 施本發明’但亦可能提供所謂的硬體裝置之虛擬機實 施。此等虛擬機實施在主處理器53()上運作,主處理器 22 201216152 5式3〇5!V丁主作業系、统52〇,主作業系統520支援虛擬機程 ; ’需要大型高功率處理器以提供以合理速 【圖式簡單說明】 r人订之虛擬機實施,但此類方法可在某些狀況下證明 的諸如當出於相容性或再使用原因期望執行產 2另-處理器之代碼時。虛擬機程式5ig提供應用程 面至應用程式500,該應用程式介面與由真實硬體 ^供之應用程式介面相同’該真實硬體為被虛擬機程式 510模擬之裝置。因此,該等程式指令(包括上述記憶 體存取之控制)可使用虛擬機程式51〇自應用程式5〇〇 内執行,以模擬該等程式指令與虛擬機硬體之相互作用。 現將僅以舉例之方式,參看附圖來描述本發明之實施 例,在附圖中: 第1圖示意性地圖示資料處理設備; 第2圖示意性地圖示向量歸一化操作; 第3圖示意性地圖示計算向量之量值; 第4圖示意性地圖示浮點數之3 2位元浮點表示法; 第5圖示意性地圖示近似倒數值產生指令之動作; 第6圖示意性地圖示經修改乘法指令之動作; 第7圖為使用近似倒數值產生指令及經修改乘法指令 示意性地圖示向量歸一化操作的流程圖; 第8圖示意性地圖示支援執行引數減少指令之圖形處 理單元核心; 23 201216152 第9圖圖示向量歸一化操作; 第1 0圖示意性地圖示第—你_ν·々2丨奴β I此人 ^ 形式之引數減少指令之動 作; 第11圖示意性地圖示第二形式之引數減少指令之動 作; 第12圖為示意性地圖示當執行引數減少指令時,一種 選擇及應用適當的指數縮放位準之方式的流程圖; 第1 3圖示意性地圖示非數值表現例外處理; 第14圖為示意性地圖示無限值例外處理的流程圖; 第1 5圖為示意性地圖示使用包括引數減少指令之一 系列程式指令執行向量歸一化的流程圖;以及 第16圖示意性地圖示可用於提供本發明技術之虛擬 機實施之類型的通用電腦。 【主要元件符號說明】 04826048260482 11122333445556 心 核 元線 單管器 理算碼料量 處運解資向 形點令形入條驟驟驟驟驟驟驟驟驟驟 圖浮指圖輸線步步步步步步步步步步 4 8 26048260482604 11222334445566 器 量 存式號向 體暫程訊化 憶點形制一條驟驟驟驟驟驟驟驟驟驟 記浮圖控歸線步步步步步步步步步步 24 201216152 6 0 4 04826040 ο 000112202 案 備 槽 設 器 統 理 存 式系 處體暫 程業 驟驟驟料憶點驟驟驟驟用作 牛乂步步資記浮步步步步應主 Αν 11 11 11 11 1X IX 11 11 11 11 lx 2 統 統系 元系路 單路電 理電理 處器處 驟驟驟央碼點 牛:\步步中解浮 步驟 步驟 步驟 步驟 虛擬機程式 主處理器 25
Claims (1)
- 201216152 七、申請專利範圍: 1. 一種用於處理資料的設備,該設備包含: 處理電路系統,該處理電路系統經配置以對資料值執行處 理操作;以及 解碼器電路系統,該解碼器電路系統耦接至該處理電路系 統且經配置以將程式指令解碼,以產生控制訊號,該等 控制訊號用於控制該處理電路系統以執行由該等程式指 令規定之處理操作;其中 該解碼器電路系統將一近似倒數值產生指令解碼以產生控 制訊號,以控制該處理電路系統對具有一整數指數值E 及一尾數值Μ之一浮點數執行一處理操作,以產生具 有扣數c及一尾數之一近似倒數值,指數c取決於 Ε’該尾數代表1。 2·如請求項1所述之設備,其中c為_Ε。 «长項1所述之設備’其中£受制於一預定整數偏位 〇,且C為Ε之一按位元反演。 種用於處理資料的設備,該設備包含: ^理構件’該處理構件用於對資料值執行處理操作;以及 碼器構件’該解碼H構件用於將程式指令解碼,以產生 工,s號1¾等控制訊號用力控制該處理電路系統以執 26 201216152 行由該等程式指令規定之處理操作;其中 該解碼器構件將—近似倒數值產生指令解碼以產生控制訊 號’以控_處理構料具有—整數指數值£及一尾數 值Μ之-浮點數執行—處理操作,以產生具有—指數c 及-尾數之-近似倒數值,指數c取決於Ε,該尾數代 表1 〇 5. —種處理資料的太、土,4 + 1 I 貝了叶的万法,該方法包含以下步驟: 對資料值執行處理操作;以及 將程式^日令解碼以產生控制訊號,該等控制訊號用於控制 由該等程式指令規定之該等處理操作;其中 該解碼步驟將-近似倒數值產生指令解碼以產生控制訊 號’以控制該處理步驟對具有-整數指數值E及-尾數 值Μ之-浮點數執行—處理操作,以產生具有一指數。 =尾數之—近似倒數值,指數C取❹Ε,該尾數代 6· —種用於處理資粗沾% 負科的设備,該設備包含: 處理電路系統,該處 系驗配置以對資料值執行處 理操作;以及 & 解碼器電路系統,該魅说„。+ 〆 馬态電路糸統耦接至該處理電路 統且經配置以將鞀—、人Α 尔 〇 工Β 7解碼,以產生控制訊號,該等 控制訊號用於控制#盘α / 入, 〗該處理電路系統以執行由該等程式和 々規疋之處理操作;其中 曰 27 201216152 該解碼器電路系統將具有兩個浮點數作為輸入運算元之— 經修改乘法指令解碼’以產生控制訊號,以在以下情況 下控制該處理電路系統:該兩個浮點數中之—浮點數為 由(-i)sz*o給出的一帶正負號零值,其中sz為該帶正負 號零值之一正負號值’且該兩個浮點數中之另一浮點數 為一帶正負號無限值(-l)SI*〇〇,其中SI為該帶正負號無 限值之—正負號值,以產生一預定值作為一經修改乘法 結果值,該預定值由〇1)(sz+si)*PSV給出,其中psv為 一預定取代值。 7.如請求項6所述之設備,其中該預定取代值為1。 8·如清求項ό所述之設備,其中該預定取代值為2。 9.如晴求項6-8中任一項所述之設備,其中對於該兩個浮 點數之其他值而言,該經修改乘法值具有符合如由ιεεε ‘準7 5 4規定之該兩個浮點數之一浮内積之一值。 10’如4求項6中任一項所述之設備,其中該經修改乘法指 7為'向量指令,該向量指令對複數組輸入運算元操 作,如對該兩個浮點數之規定處理每一組輸入運算元。 11, —— 田 用於處理資料的設備,該設備包含: 處理構侏 ^ ^ ’ S亥處理構件用於對資料值執行處理操作;以及 28 201216152 解碼器構件’該解碼11構件用於將程式指令解碼,以產生 工民號"亥等控制訊號用於控制該處理構件以 6亥等程式指令規定之處理操作;其中 該解碼器構件將具有兩個浮點數作為輸人運算元之—經修 :::指令解碼,以產生控制訊號’以在以下情況下控 該處理構件:該兩個浮點數中之一浮點數為由(_1)SZr〇 給出的-帶正負號零值,其中sz為該帶正負號零值之 -正負號值’且該兩個浮點數中之另一浮點數為一帶正 負號無限值其中SI為該帶正負號無限值之_ 負號值卩產生一預定值作為一經修改乘法結果值, 該預定值由㈠严叫咖給出,其中聊為一預定取 代值。 A 一種資料的方法,該方法包含以下步驟 對資料值執行處理操作;以及 7解碼以產生控制訊號,該等控制訊號用於控制 由該等程式指令規定之該等處理操作;其中 遠解碼步驟將具有兩個浮點數作為輸入運算元之一經修改 /才曰7解碼,以I生控制訊冑,以在以下情況下控制 該等處理步驟:該兩個浮點數中之一浮點數為由(_1)SZ*〇 負號無限值〜,其中§][為該帶正負號無限值之 負號值,以產生一預定值作為一經修改乘法結果值 t出的P帶正負號零值,其中SZ為該帶正負號零值之 一正負號值,且該兩個浮點數中之另一浮點數為一帶正 29 201216152 該預定值由(-1)(sz+si)*PSV給出,其中PSV為一預定取 代值。 1 3 · —種操作一資料處理設備以歸一化具有複數個分量之 一向量浮點值的方法,該複數個分量中之每—分量包括 一整數指數值及一尾數值’該方法包含以下步驟: 取決於該向量浮點值計算一縮放值; 取決於該縮放值縮放該複數個分量中之每一分量,以產生 具有複數個經縮放分量之一經縮放向量浮點值; 計算該經縮放向量浮點值之一量值;以及 將該複數個經縮放分量中之每一分量除以該量值,以產生 一歸一化向量浮點值;其中 該計算一縮放值之步驟產生一縮放值2C,其中c為一整數 值’該整數值經選擇以使得該複數個經縮放分量之一平 方和小於一預定極限值。 14.如請求項13所述之方法,其中該預定極限值為一最大 數值大小浮點數,該最大數值大小浮點數可由該指數值 及該尾數值表示》 15·如。月求項13及14中任一項所述之方法,其中該計算一 縮放因數之步驟包括以下步驟:識別該複數個分量值中 之一最高整數指數值B。 30 201216152 16.如請求項15所述之方法 驟將C設定為等於_B。 其中5玄§十鼻該縮放因數之步 17·如請求項15所述之方法, 位〇,且該計算該縮放因數 一按位元反演。 其中B受制於一預定整數偏 之步驟將C設定為等於B之 18·如請求項13中任一項 項所迷之方法,其中該縮放該複數 個分量中之每一分量 θ 里<^驟包含以下步驟:該複數個分 s t之每_分量乘以該縮放因數,該乘法步驟識別以下 障况.由(-l)sz*0給出之_帶正負號零值乘以一帶正負 號無限值(4)81*00,盆中 ’ 為該帶正負號零值之一正負 號值,si為該帶正負號無限值之一正負號值;以及產生 預疋值作為該經縮放浮點向量内之一對應分量,該預 定值由(])(SZ+Swpsv給出’其中PSV為一預定取代值。 19. 如睛求項18所述之方法’其中該預定取代值為1。 20. 如請求項18所述之方法,其中該預定取代值為2。 21.如請求項13所述之方法,其中該計算一縮放值之步驟 包含以下步驟: 將一近似倒數值產生指令解碼,該近似倒數值產生指令具 有一輸入運算元,該輸入運算元包含一浮點數’該洋點 31 201216152 數具有一整數指數值E及一尾數值M;以及 產生該縮放值,該縮放值具有一縮放值指數c及一尾數, c取決於E,該尾數代表1。 22. 如請求項21所述之方法,其中c為_E。 23. 如請求項21所述之方法,其中E受制於一預定整數偏 位〇,且C為E之一按位元反演。 24. 如睛求項13所述之方法,其中該縮放該複數個分量值 之步驟包含以下步驟: 將一經修改乘法指令解碼,該經修改乘法指令具有兩個浮 點數作為輸入運算元;以及 當該兩個浮點數中之一浮點數為由(-l)sz*0給出之—帶正 負號零值,其中SZ為該帶正負號零值之一正負號值, 且該兩個浮點數之另一浮點數為一帶正負號無限值 (-l)SI*〇〇 ’其中SI為該帶正負號無限值之一正負號值 時’產生一預定值作為一經縮放分量值,該預定值由 (-1)(SZ+SI)*PSV姶出’其中PSV為一預定取代值。 25. 如請求項24所述之方法,其中該預定取代值為1。 26·如請求項24所述之方法’其中該預定取代值為2。 32 201216152浮點數之一浮内積之一值。2 8 _ 如請炎 τε a /1 ,一 指令 作, 向量浮點值的設 整數指數值及一 29.—種用於歸一化具有複數個分量之一 備’該複數個分量中之每一分量包括— 尾數值,該設備包含處理電路系統,該處理電路系統經 配置以執行以下步驟: 取決於該向量浮點值計算一縮放值; 取決於該縮放值縮放該複數個分量中之每一分量,以產生 具有複數個經縮放分量之一經縮放向量浮點值; 計算該經縮放向量浮點值之一量值;以及 ‘ 將該複數個經縮放分量中之每一分量除以該量值,以產生 一歸一化向量浮點值;其中 該計算一縮放值之步驟產生一縮放值2C,其中C為一整數 值’該整數值經選擇以使得該複數個經縮放分量之一平 方和小於一預定極限值。 3 0.—種用於歸一化具有複數個分量之一向量浮點值的設 備,該複數個分量中之每一分量包括一整數指數值及一 33 201216152 尾數值,該設備包含處理構件,該處理構件用於執行r 下步驟: 取決於該向量浮點值計算一縮放值; 取決於該縮放值縮放該複數個分量中之每一分 、 刀I,以產生 具有複數個經縮放分量之一經縮放向量浮點值; 計算該經縮放向量浮點值之一量值;以及 將该複數個經縮放分量中之每一分量除以該量值,以產生 一歸一化向量浮點值;其中 該計算一縮放值之步驟產生一縮放值2(:,其中C為—敕數 值,該整數值經選擇以使得該複數個經縮放分量之一平 方和小於一預定極限值。 ,該電腦執行一程 項所述之設備。 31.—種虛擬機,該虛擬機包含一電腦 式,以提供一種如請求項j _4中任一 32. —種虛擬機 該虛擬機包含一電腦, 式,以提供一種如請求項6_u中任一 該電腦執行一程 項所述之設備。 33.—種虛擬機 式,以提供一 ,該虛擬機包含一電 種如請求項29及30 腦’該電腦執行一程 中任一項所述之設備。 一非暫態形式 一資料處理設 該電腦程式包 34· 一種電腦帛式產&,該電腦程式產品具有 且儲存—電腦m電腦程式用於控制 備以回應於程式指令執行f料處理,其中 34 201216152 括一近似倒數值產生指令,該近似倒數值產生指令用於 控制該資料處理設備以根據如請求項5所述之方法執行 處理。 35,種電腦程式產品,該電腦程式產品具有一非暫態形式 且儲存-電腦程式,該電腦程式用於控制—資料處理設 備以回應於程式指令執行資料處理,其中該電腦程式包 括-經修改乘法指令,該經修改乘法指令用於控制該資 料處理設備以根據如請求項12所述之方法執行處理。 36·—種實質如在上文中參閱附圖描述之用 設備。 種實貝如在上文中參閱附圖描述之處理資料的方法 I種實質如在上文中參閱附圖描述之虛擬機。 -質如在上文中參閱附圖描述之電腦程式產品。 35
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1016071.1A GB2483902B (en) | 2010-09-24 | 2010-09-24 | Vector floating point argument reduction |
PCT/GB2011/050497 WO2012038708A1 (en) | 2010-09-24 | 2011-03-14 | Floating-point vector normalisation |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201216152A true TW201216152A (en) | 2012-04-16 |
TWI526928B TWI526928B (zh) | 2016-03-21 |
Family
ID=43127899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100130131A TWI526928B (zh) | 2010-09-24 | 2011-08-23 | 向量浮點引數之減少 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20130246496A1 (zh) |
JP (1) | JP5731937B2 (zh) |
CN (1) | CN102566964B (zh) |
GB (1) | GB2483902B (zh) |
TW (1) | TWI526928B (zh) |
WO (1) | WO2012038708A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104473B2 (en) * | 2012-03-30 | 2015-08-11 | Altera Corporation | Conversion and compression of floating-point and integer data |
CN104166535B (zh) * | 2013-07-19 | 2017-07-28 | 郑州宇通客车股份有限公司 | 定点处理器及其防溢方法 |
CN104866279A (zh) * | 2014-02-21 | 2015-08-26 | 北京国睿中数科技股份有限公司 | 实现浮点数指数分析替换的装置及方法 |
US20160019027A1 (en) * | 2014-07-15 | 2016-01-21 | Qualcomm Incorporated | Vector scaling instructions for use in an arithmetic logic unit |
US9779272B2 (en) * | 2015-04-14 | 2017-10-03 | Analog Devices, Inc. | Extended use of logarithm and exponent instructions |
KR20180122021A (ko) * | 2016-03-29 | 2018-11-09 | 오션 로직 피티와이 리미티드 | 큰 벡터 사이의 점 곱들과 관련된 연산 복잡도를 축소하기 위해 디지털 컴퓨터를 동작시키는 방법 |
CN106775587B (zh) * | 2016-11-30 | 2020-04-14 | 上海兆芯集成电路有限公司 | 计算机指令的执行方法以及使用此方法的装置 |
US10579334B2 (en) * | 2018-05-08 | 2020-03-03 | Microsoft Technology Licensing, Llc | Block floating point computations using shared exponents |
US11636319B2 (en) * | 2018-08-22 | 2023-04-25 | Intel Corporation | Iterative normalization for machine learning applications |
US10853068B2 (en) | 2018-09-28 | 2020-12-01 | Ocean Logic Pty Ltd | Method for operating a digital computer to reduce the computational complexity associated with dot products between large vectors |
US11586883B2 (en) * | 2018-12-14 | 2023-02-21 | Microsoft Technology Licensing, Llc | Residual quantization for neural networks |
US11347511B2 (en) * | 2019-05-20 | 2022-05-31 | Arm Limited | Floating-point scaling operation |
US11188303B2 (en) * | 2019-10-02 | 2021-11-30 | Facebook, Inc. | Floating point multiply hardware using decomposed component numbers |
US11157238B2 (en) * | 2019-11-15 | 2021-10-26 | Intel Corporation | Use of a single instruction set architecture (ISA) instruction for vector normalization |
CN111258537B (zh) * | 2020-01-15 | 2022-08-09 | 中科寒武纪科技股份有限公司 | 一种防止数据溢出的方法、装置和芯片 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0596175A1 (en) | 1992-11-05 | 1994-05-11 | International Business Machines Corporation | Apparatus for executing the argument reduction in exponential computations of IEEE standard floating-point numbers |
US5563818A (en) * | 1994-12-12 | 1996-10-08 | International Business Machines Corporation | Method and system for performing floating-point division using selected approximation values |
US5619439A (en) * | 1995-07-05 | 1997-04-08 | Sun Microsystems, Inc. | Shared hardware for multiply, divide, and square root exponent calculation |
JP3790307B2 (ja) * | 1996-10-16 | 2006-06-28 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
US5973705A (en) * | 1997-04-24 | 1999-10-26 | International Business Machines Corporation | Geometry pipeline implemented on a SIMD machine |
JPH1124887A (ja) | 1997-07-01 | 1999-01-29 | Sega Enterp Ltd | ベクトル正規化演算器、ベクトル正規化演算方法及び記録媒体 |
US6247117B1 (en) * | 1999-03-08 | 2001-06-12 | Advanced Micro Devices, Inc. | Apparatus and method for using checking instructions in a floating-point execution unit |
US6353439B1 (en) * | 1999-12-06 | 2002-03-05 | Nvidia Corporation | System, method and computer program product for a blending operation in a transform module of a computer graphics pipeline |
JP2001175455A (ja) | 1999-12-14 | 2001-06-29 | Sega Corp | ベクトル正規化演算器、ベクトル正規化演算方法及び記録媒体 |
US6614431B1 (en) * | 2001-01-18 | 2003-09-02 | David J. Collodi | Method and system for improved per-pixel shading in a computer graphics system |
US6996597B2 (en) * | 2001-06-15 | 2006-02-07 | Centillium Communications, Inc. | Increasing precision in multi-stage processing of digital signals |
JP2006065633A (ja) | 2004-08-27 | 2006-03-09 | Sony Computer Entertainment Inc | 演算方法および装置 |
US7225323B2 (en) | 2004-11-10 | 2007-05-29 | Nvidia Corporation | Multi-purpose floating point and integer multiply-add functional unit with multiplication-comparison test addition and exponent pipelines |
JP2007079696A (ja) * | 2005-09-12 | 2007-03-29 | Hitachi Kokusai Electric Inc | 浮動小数点数のベクトル演算方法 |
US20080263335A1 (en) * | 2005-10-03 | 2008-10-23 | Hayes Nathan T | Representation of Modal Intervals within a Computer |
GB2454201A (en) * | 2007-10-30 | 2009-05-06 | Advanced Risc Mach Ltd | Combined Magnitude Detection and Arithmetic Operation |
US7925866B2 (en) * | 2008-01-23 | 2011-04-12 | Arm Limited | Data processing apparatus and method for handling instructions to be executed by processing circuitry |
GB2458665B (en) * | 2008-03-26 | 2012-03-07 | Advanced Risc Mach Ltd | Polynomial data processing operation |
GB2464292A (en) * | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
US20100262722A1 (en) * | 2009-04-10 | 2010-10-14 | Christophe Vauthier | Dynamic Assignment of Graphics Processing Unit to a Virtual Machine |
-
2010
- 2010-09-24 GB GB1016071.1A patent/GB2483902B/en active Active
-
2011
- 2011-03-14 WO PCT/GB2011/050497 patent/WO2012038708A1/en active Application Filing
- 2011-03-14 US US13/825,179 patent/US20130246496A1/en not_active Abandoned
- 2011-08-23 TW TW100130131A patent/TWI526928B/zh active
- 2011-08-26 US US13/137,576 patent/US9146901B2/en active Active
- 2011-09-16 JP JP2011202971A patent/JP5731937B2/ja active Active
- 2011-09-26 CN CN201110294485.6A patent/CN102566964B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
GB2483902A (en) | 2012-03-28 |
WO2012038708A1 (en) | 2012-03-29 |
JP2012069116A (ja) | 2012-04-05 |
CN102566964B (zh) | 2016-04-27 |
TWI526928B (zh) | 2016-03-21 |
GB2483902B (en) | 2018-10-24 |
JP5731937B2 (ja) | 2015-06-10 |
GB201016071D0 (en) | 2010-11-10 |
US20130246496A1 (en) | 2013-09-19 |
CN102566964A (zh) | 2012-07-11 |
US20120078987A1 (en) | 2012-03-29 |
US9146901B2 (en) | 2015-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201216152A (en) | Vector floating point argument reduction | |
JP6694880B2 (ja) | 有効度整合 | |
KR101533516B1 (ko) | Scale, round, getexp, round, getmant, reduce, range 및 class 명령어들을 실행할 수 있는 곱셈 덧셈 기능 유닛 | |
US5768170A (en) | Method and apparatus for performing microprocessor integer division operations using floating point hardware | |
US5386375A (en) | Floating point data processor and a method for performing a floating point square root operation within the data processor | |
KR102318494B1 (ko) | 곱셈 가산기 | |
CN108139885B (zh) | 浮点数舍入 | |
JP6882281B2 (ja) | ベクトルの処理のためのレーン位置情報 | |
CN106250098B (zh) | 用于在执行浮点运算时控制舍入的装置及方法 | |
WO2013109532A1 (en) | Algebraic processor | |
JP6803381B2 (ja) | 重複ビットを使用する数値の冗長表現 | |
WO2016171847A1 (en) | High performance division and root computation unit | |
WO2001033332A2 (en) | Method and apparatus for representing arithmetic intervals within a computer system | |
JP2012069116A5 (zh) | ||
CN113853601A (zh) | 用于矩阵运算的装置和方法 | |
JP6877812B2 (ja) | 重複伝搬演算 | |
US10445066B2 (en) | Stochastic rounding floating-point multiply instruction using entropy from a register | |
US20140052767A1 (en) | Apparatus and architecture for general powering computation | |
Isupov et al. | Multiple-precision summation on hybrid CPU-GPU platforms using RNS-based floating-point representation | |
EP2884403A1 (en) | Apparatus and method for calculating exponentiation operations and root extraction | |
CN114968368A (zh) | 一种基于超越函数加速指令的正余弦函数实现方法及系统 | |
KR101484379B1 (ko) | 고속 브랜치-프리 벡터 나눗셈 계산 | |
JP2023546454A (ja) | 高精度アンカー暗黙処理 | |
JP2006243826A (ja) | 浮動小数点数値のm乗根を演算する浮動小数点演算装置及びコンピュータプログラム | |
JPS58155456A (ja) | 情報処理装置 |