欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于高效浮點計算的運算的制作方法

文檔序號:8287844閱讀:509來源:國知局
用于高效浮點計算的運算的制作方法
【專利說明】用于高效浮點計算的運算
[0001]共同待決專利申請案的參考
[0002]本專利申請案涉及以下共同待決的美國專利申請案:與本專利申請案同時申請的王亮凱(Liang-Kai Wang)的“用于具有指數(shù)按比例縮放的浮點融合乘法加法的微架構(gòu)(MICROARCHITECTURE FOR FLOATING POINT FUSED MULTIPLY-ADD WITH EXPONENTSCALING) ”(代理人案號121186),所述申請案已轉(zhuǎn)讓給本受讓人,且以引用的方式明確地并入本文中。
技術(shù)領域
[0003]所揭示實施例涉及用于浮點運算的專用指令及技術(shù)。更確切地說,示例性實施例涉及用于檢測及有效地處置例如除法及平方根計算等浮點運算中的有問題的拐點情況的指令及技術(shù)。
【背景技術(shù)】
[0004]若干現(xiàn)代處理器支持浮點運算且包含用于浮點算術(shù)的專用硬件及/或軟件。缺乏此類支持可能需要軟件模擬浮點運算,此情形可能為效率低下的及緩慢的。用于二進制浮點算術(shù)的IEEE標準IEEE 754跨越處理器架構(gòu)為便攜式的,且通常用于實施浮點運算的處理器中。所述標準用正負號、指數(shù)及小數(shù)部分(還被稱為“尾數(shù)”或“有效數(shù)字”)定義有限數(shù)的進制。例如加法、減法、乘法、除法及平方根計算等浮點算術(shù)運算的實施方案可基于標準定義。所述標準還可定義可產(chǎn)生異常且造成引發(fā)某些旗標的情境、精度要求、舍入模式等。
[0005]特別關于除法及平方根計算,所屬領域的技術(shù)人員將認識到與其相關聯(lián)的所需精度、舍入模式及異常。一種用于除法的已知技術(shù)包含迭代除法,其中每一迭代計算最終商的一個數(shù)字,此情形可為效率非常低下的,且在不對現(xiàn)有處理器架構(gòu)進行顯著更改的情況下難以實施。除法的另一種更高效方法(所謂的牛頓拉普森方法(Newton-Raphson method))利用收斂到預期的最終商值的算法。牛頓拉普森方法在浮點除法計算中使用分母的倒數(shù)的初始近似,且所述算法逐漸將倒數(shù)收斂到I除以分母。在其中分母的倒數(shù)達到足夠的準確度的點,將其乘以分子將提供除法的商。
[0006]雖然牛頓拉普森收斂除法方法一般較快且更高效,但某些浮點數(shù)造成需要特別注意的有問題的拐點情況。此類有問題的情況包含下溢,其中最終的商值太小而無法在IEEE754標準中使用指配位數(shù)來表示;溢出,其中最終的商值太大而無法在IEEE 754標準中使用指配位數(shù)來表示;不充分的精度,這歸因于與中間結(jié)果的下溢及溢出相似的情境;及有效數(shù)字值,其并不是非常適合于倒數(shù)細化。其它有問題的情況涉及除以零、為無窮大或非數(shù)字值(NaN)的操作數(shù)值(分子/分母)等的除法。類似性質(zhì)的問題同樣出現(xiàn)在平方根計算中。
[0007]用于處置此類有問題的拐點情況的已知技術(shù)包含檢測拐點情況及實施陷阱。然而,陷阱的實施方案可涉及不希望的復雜性。舉例來說,陷阱的實施方案類似于軟件浮點模擬,其為效率低下的及緩慢的。此外,實施陷阱還招致與保存上下文及在處置拐點情況之后恢復程序執(zhí)行相關聯(lián)的開銷。陷阱處理程序還難以在不影響相關聯(lián)的處理器的程序流程的其余部分的性能的情況下集成在處理器的管線中。
[0008]另外,常規(guī)實施方案還可在每個計算階段期間設置某些旗標,此可導致低效率。舉例來說,牛頓拉普森除法的常規(guī)實施方案可針對涉及用于存儲中間計算階段中的值的中間寄存器的精度的缺乏的狀況設置錯誤旗標或浮點旗標,即使計算的理論上預期的最終結(jié)果可能并未引發(fā)任何此類旗標也如此。因此,在中間階段中設置此類旗標可產(chǎn)生錯誤,這是因為旗標可能已被不正確地設置。
[0009]因此,所屬領域中存在對克服與浮點運算的常規(guī)實施方案相關聯(lián)的上述缺點的對應需要。

【發(fā)明內(nèi)容】

[0010]本發(fā)明的示例性實施例涉及關于用于檢測及有效地處置例如除法及平方根計算等浮點運算中的有問題的拐點情況的專用指令及技術(shù)的系統(tǒng)及方法。
[0011]舉例來說,示例性實施例涉及一種操作浮點單元的方法,所述方法包括:從存儲器接收一或多個浮點數(shù);接收對應于計算的浮點指令;檢測將在所述計算中產(chǎn)生有問題的拐點情況的一或多個浮點數(shù);用定點化運算修改所述計算以便避免所述有問題的拐點情況;在所述計算的中間階段期間抑制錯誤旗標;及執(zhí)行所述經(jīng)修改的計算。
[0012]另一示例性實施例涉及一種執(zhí)行浮點乘法累加(FMA)運算的方法,所述方法包括:在浮點單元中接收乘數(shù)、被乘數(shù)及加數(shù)操作數(shù);檢測關于所述操作數(shù)的FMA運算將產(chǎn)生異常;定義針對所述FMA運算的特殊狀況;在所述FMA運算期間抑制錯誤旗標;及在所述浮點單元中根據(jù)所述特殊狀況執(zhí)行所述FM運算。
[0013]另一示例性實施例涉及一種執(zhí)行具有按比例縮放的浮點乘法累加運算(FMASc)的方法,所述方法包括:在浮點單元中接收乘數(shù)、被乘數(shù)、加數(shù)及比例因子操作數(shù);檢測關于所述操作數(shù)的FMASc運算將產(chǎn)生異常;針對所述FMASc運算定義特殊狀況;在所述FMASc運算期間抑制錯誤旗標;及在所述浮點單元中根據(jù)所述特殊狀況執(zhí)行所述FMASc運算。
[0014]另一示例性實施例涉及一種浮點單元,其包括:用以接收一或多個浮點數(shù)及對應于計算的浮點指令的邏輯;經(jīng)配置以檢測將在所述計算中產(chǎn)生有問題的拐點情況的一或多個浮點數(shù)的檢測邏輯;用以在所述計算的中間階段期間抑制錯誤旗標的邏輯;經(jīng)配置以修改所述計算以便避免所述有問題的拐點情況的修改邏輯;及用以執(zhí)行所述經(jīng)修改的計算的邏輯。
[0015]另一示例性實施例涉及一種系統(tǒng),其包括:用于接收一或多個浮點數(shù)及對應于計算的浮點指令的裝置;用于檢測將在所述計算中產(chǎn)生有問題的拐點情況的一或多個浮點數(shù)的裝置;用于在所述計算的中間階段期間抑制錯誤旗標的裝置;用于修改所述計算以便避免所述有問題的拐點情況的裝置;及用于執(zhí)行所述經(jīng)修改的計算的裝置。
[0016]又一示例性實施例涉及一種非暫時性計算機可讀存儲媒體,其包括在由處理器執(zhí)行時致使所述處理器執(zhí)行用于執(zhí)行浮點計算的運算的代碼,所述非暫時性計算機可讀存儲媒體包括:用于檢測將在所述計算中產(chǎn)生有問題的拐點情況的一或多個浮點數(shù)的代碼;用于在所述計算的中間階段期間抑制錯誤旗標的代碼;用于用定點化運算修改所述計算以便避免所述有問題的拐點情況的代碼;及用于執(zhí)行所述經(jīng)修改的計算的代碼。
【附圖說明】
[0017]呈現(xiàn)附圖以輔助描述本發(fā)明的實施例,且提供所述附圖僅用于說明本發(fā)明的實施例而非限制本發(fā)明的實施例。
[0018]圖1A到IB說明用于使用牛頓拉普森方法執(zhí)行浮點除法運算的數(shù)學等式。
[0019]圖2說明用于浮點除法的坐標輸入的曲線圖。
[0020]圖3A到3B說明根據(jù)示例性實施例的用于使用牛頓拉普森方法實施浮點除法的匯編及高級代碼序列。
[0021]圖4說明用于執(zhí)行浮點平方根計算的數(shù)學等式。
[0022]圖5A到5C說明根據(jù)示例性實施例的用于實施浮點平方根計算的匯編及高級代碼序列。
[0023]圖6A說明根據(jù)示例性實施例的經(jīng)配置以執(zhí)行浮點計算的示例性系統(tǒng)600。
[0024]圖6B說明根據(jù)示例性實施例的用于對浮點數(shù)執(zhí)行計算的方法的流程圖表示。
[0025]圖7說明可有利地在其中使用本發(fā)明的實施例的示范性無線通信系統(tǒng)700。
【具體實施方式】
[0026]在以下針對本發(fā)明的特定實施例的描述及相關圖式中揭示本發(fā)明的若干方面。可在不脫離本發(fā)明的范圍的情況下設計出替代實施例。另外,將不會詳細描述或?qū)⑹÷员景l(fā)明的眾所熟知的元件以免混淆本發(fā)明的相關細節(jié)。
[0027]詞語“示例性”在本文中用于意味著“充當實例、例子或說明”。本文中被描述為“示例性”的任何實施例未必應解釋為比其它實施例優(yōu)選或有利。同樣,術(shù)語“本發(fā)明的實施例”并非要求本發(fā)明的所有實施例包含所論述的特征、優(yōu)點或操作模式。
[0028]本文中所使用的術(shù)語僅僅是為了描述特定實施例,且并不希望限制本發(fā)明的實施例。如本文所使用,除非上下文另外清楚地指示,否則單數(shù)形式“一”及“所述”希望還包含復數(shù)形式。將進一步理解,術(shù)語“包括”及/或“包含”當在本文中使用時指定所陳述的特征、整數(shù)、步驟、操作、元件及/或組件的存在,但并不排除一或多個其它特征、整數(shù)、步驟、操作、元件、組件及/或其群組的存在或添加。
[0029]另外,依據(jù)待由(例如)計算裝置的元件執(zhí)行的動作序列來描述許多實施例。將認識到,可由特定電路(例如,專用集成電路(ASIC))、由正由一或多個處理器執(zhí)行的程序指令或由兩者的組合來執(zhí)行本文中所描述的各種動作。另外,本文中所描述的這些動作序列可被視為全部在任何形式的計算機可讀存儲媒體內(nèi)體現(xiàn),在所述計算機可讀存儲媒體中存儲有一組對應的計算機指令,所述計算機指令在執(zhí)行時將致使相關聯(lián)的處理器執(zhí)行本文中所描述的功能性。因此,本發(fā)明的各種方面可以數(shù)個不同形式來體現(xiàn),預期所有形式屬于所主張的標的物的范圍內(nèi)。另外,對于本文中所描述的實施例中的每一者來說,任何此類實施例的對應形式可在本文中被描述為(例如)“經(jīng)配置以(執(zhí)行所描述動作)的邏輯”。
[0030]示例性實施例包含用于克服常規(guī)浮點實施方案的缺點的各種技術(shù)、特殊指令及相關聯(lián)硬件/軟件支持。一些實施例可包含示例性格式的指令,例如具有特殊舍入模式及旗標處置以便實施例如除法及平方根計算等浮點運算的融合乘法加法(FMA)。因此,在
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
义乌市| 陈巴尔虎旗| 太谷县| 秦皇岛市| 吴江市| 嘉义县| 江门市| 西乡县| 五河县| 普洱| 鄂伦春自治旗| 正安县| 依安县| 湛江市| 巫溪县| 平塘县| 安多县| 自贡市| 饶平县| 黎城县| 商洛市| 兰西县| 余江县| 锦州市| 普格县| 永嘉县| 武冈市| 中卫市| 盖州市| 兰坪| 沙坪坝区| 高碑店市| 都安| 临沂市| 专栏| 南川市| 龙山县| 吴桥县| 灯塔市| 九龙县| 隆回县|