国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于具有指數(shù)按比例縮放的浮點(diǎn)融合乘法加法的微架構(gòu)的制作方法

      文檔序號(hào):8207696閱讀:527來源:國知局
      用于具有指數(shù)按比例縮放的浮點(diǎn)融合乘法加法的微架構(gòu)的制作方法
      【專利說明】用于具有指數(shù)按比例縮放的浮點(diǎn)融合乘法加法的微架構(gòu)
      [0001]共同待決專利申請(qǐng)案的參考
      [0002]本專利申請(qǐng)案涉及以下共同待決的美國專利申請(qǐng)案:與本專利申請(qǐng)案同時(shí)申請(qǐng)的埃里希普朗德科(Erich Plondke)的“用于高效浮點(diǎn)計(jì)算的運(yùn)算(OPERAT1NS FOREFFICIENT FLOATING POINT COMPUTAT1NS) ”(代理人案號(hào) 111810),所述申請(qǐng)案已轉(zhuǎn)讓給本受讓人,且以引用的方式明確地并入本文中。
      技術(shù)領(lǐng)域
      [0003]所揭示實(shí)施例涉及處置浮點(diǎn)算術(shù)中的拐點(diǎn)情況。更確切地說,示例性實(shí)施例涉及用于專用指令且經(jīng)設(shè)計(jì)以用于處置例如除法及平方根計(jì)算等浮點(diǎn)運(yùn)算中的有問題的拐點(diǎn)情況的硬件支持。
      【背景技術(shù)】
      [0004]浮點(diǎn)數(shù)能夠表示比定點(diǎn)數(shù)大得多的動(dòng)態(tài)范圍的值。因此,浮點(diǎn)算術(shù)已用于現(xiàn)代處理器中。IEEE 754標(biāo)準(zhǔn)提供用于表示二進(jìn)制浮點(diǎn)數(shù)的標(biāo)準(zhǔn)化格式。符合標(biāo)準(zhǔn)的浮點(diǎn)算術(shù)的實(shí)施方案涉及某些辨識(shí)的異常及有問題的拐點(diǎn)情況。常規(guī)地,實(shí)施軟件陷阱以處置這些拐點(diǎn)情況。然而,用軟件處置異常及實(shí)施陷阱對(duì)于處理器資源來說為耗時(shí)的及負(fù)擔(dān)重的。
      [0005]在使用牛頓拉普森方法(Newton-Raphson approach)進(jìn)行的除法的情況下,此類有問題的情況包含:下溢,其中最終的商值太小而無法在IEEE 754標(biāo)準(zhǔn)中使用指配位數(shù)來表示;溢出,其中最終的商值太大而無法在IEEE 754標(biāo)準(zhǔn)中使用指配位數(shù)來表示;不充分的精度,這歸因于與中間結(jié)果的下溢及溢出相似的情境;及有效數(shù)字值,其并不是非常適合于倒數(shù)細(xì)化。其它有問題的情況涉及除以零、為無窮大或非數(shù)字值(NaN)的操作數(shù)值(分子/分母)等的除法。類似性質(zhì)的問題同樣出現(xiàn)在平方根計(jì)算中。
      [0006]上文所提及的共同待決的申請(qǐng)案描述用于有效地處置此類有問題的拐點(diǎn)情況的技術(shù)。如本文所描述,及早地辨識(shí)可產(chǎn)生異常狀況及有問題的拐點(diǎn)情況的浮點(diǎn)數(shù)且定義專用指令以用于將對(duì)此類浮點(diǎn)數(shù)執(zhí)行的計(jì)算定點(diǎn)化。通過以此方式將計(jì)算定點(diǎn)化,保證了浮點(diǎn)運(yùn)算產(chǎn)生不存在問題的結(jié)果。舉例來說,通過將這些定點(diǎn)化應(yīng)用于使用經(jīng)辨識(shí)為將存在于實(shí)數(shù)空間的將引起上述有問題的情況中的一或多者的區(qū)中的浮點(diǎn)數(shù)進(jìn)行的計(jì)算,可保證所述計(jì)算不存在問題。牛頓拉普森浮點(diǎn)除法/平方根中的一個(gè)常見的計(jì)算為乘法累加(MAC)或融合乘法累加(FM)計(jì)算,其中將加數(shù)操作數(shù)加到乘數(shù)及被乘數(shù)操作數(shù)的乘積/從乘數(shù)及被乘數(shù)操作數(shù)的乘積減去加數(shù)操作數(shù)。經(jīng)定義為具有按比例縮放的融合乘法累加(或“FMASc”)的專用指令在共同待決的申請(qǐng)案中經(jīng)定義用于將可導(dǎo)致溢出/下溢等的FM計(jì)算定點(diǎn)化。基本上,可用數(shù)學(xué)方法將FMASc指令表示為[(Rs*Rt) 土Rx]*2N,其中Rs、Rt及Rx為對(duì)其執(zhí)行FM的浮點(diǎn)數(shù)且N可為形成比例因子的正或負(fù)定點(diǎn)數(shù)。
      [0007]用硬件使用常規(guī)浮點(diǎn)處理器實(shí)施FMASc指令將必須首先執(zhí)行FM計(jì)算且接著將比例因子應(yīng)用到FMA計(jì)算。然而,如已經(jīng)描述的,F(xiàn)MA自身可溢出/下溢或產(chǎn)生亞正常結(jié)果,且因此,分階段進(jìn)行FM及按比例縮放運(yùn)算因而可能無法實(shí)現(xiàn)處置有問題的拐點(diǎn)情況的目標(biāo)。即使FMA自身并不溢出或下溢,分階段實(shí)施方案中的后續(xù)按比例縮放也可能產(chǎn)生不當(dāng)?shù)慕Y(jié)果。
      [0008]在圖1中說明與分階段進(jìn)行FM及按比例縮放運(yùn)算相關(guān)聯(lián)的缺點(diǎn)中的一些缺點(diǎn)。如所展示,在框102處計(jì)算FMA運(yùn)算。在框104中檢查結(jié)果的溢出。如果發(fā)生溢出,且比例因子是用于按比例放大(例如,N為正),且最終結(jié)果仍溢出(在框132處),那么按比例縮放將不會(huì)引入溢出。然而,仍需要處置溢出。類似地,如果發(fā)生溢出,且如果比例因子是用于按比例縮小(例如,N為負(fù))(在框124處),且最終結(jié)果仍溢出(在框130處),那么按比例縮放不會(huì)引入額外問題,如通過框134展示。然而,如果在按比例縮小之后的最終結(jié)果是正常的(框126),那么存在位損失,且最終結(jié)果不準(zhǔn)確(框128)。
      [0009]另一方面,如果在框104中不存在溢出,且在框106中FMA的結(jié)果為亞正常的(即,無法在標(biāo)準(zhǔn)IEEE 754記法中表示),那么框108中的按比例縮小可能不會(huì)為有問題的(框112),而框110中的按比例放大將造成位及準(zhǔn)確度損失(框114)。如果在框106中FMA的結(jié)果并非亞正常的,且在框118中的按比例縮小后,在框120中最終結(jié)果為正常的或亞正常的或零,那么不存在于框122中引入的額外問題。類似地,如果在框106中FMA的結(jié)果并非亞正常的,且按比例放大造成最終結(jié)果溢出或?yàn)檎5目?16,那么在框122中也不會(huì)引入額外問題。
      [0010]總而言之,可見,在框114及128中存在至少兩個(gè)狀況,其中當(dāng)按照慣例將FMASc指令執(zhí)行為連續(xù)分階段FM運(yùn)算后接續(xù)按比例縮放時(shí),比例因子自身可能引入額外問題。
      [0011]因此,所屬領(lǐng)域中存在對(duì)經(jīng)配置以避免與實(shí)施FMASc指令相關(guān)聯(lián)的上述及額外缺點(diǎn)的硬件的需要。

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

      [0012]本發(fā)明的示例性實(shí)施例涉及用于實(shí)施具有按比例縮放的浮點(diǎn)融合乘法及加法(FMASc)運(yùn)算的系統(tǒng)及方法。
      [0013]因此,示例性實(shí)施例涉及一種實(shí)施浮點(diǎn)按比例縮放的融合乘法及累加(FMASc)運(yùn)算的方法,所述方法包括:將浮點(diǎn)乘數(shù)操作數(shù)與浮點(diǎn)被乘數(shù)操作數(shù)的尾數(shù)相乘以獲得乘積的尾數(shù),確定浮點(diǎn)加數(shù)操作數(shù)的尾數(shù)的前導(dǎo)零數(shù)目計(jì)數(shù)(LZC)。所述方法進(jìn)一步包括:基于所述LZC、比例因子操作數(shù)及所述浮點(diǎn)加數(shù)操作數(shù)、所述浮點(diǎn)乘數(shù)操作數(shù)及所述浮點(diǎn)被乘數(shù)操作數(shù)的指數(shù)確定所述浮點(diǎn)加數(shù)操作數(shù)的預(yù)先對(duì)準(zhǔn)移位值。所述方法進(jìn)一步包括:將所述浮點(diǎn)加數(shù)操作數(shù)的所述尾數(shù)移位所述預(yù)先對(duì)準(zhǔn)移位值以獲得經(jīng)預(yù)先對(duì)準(zhǔn)的加數(shù),將所述乘積的所述尾數(shù)與所述經(jīng)預(yù)先對(duì)準(zhǔn)的加數(shù)累加以獲得中間結(jié)果,確定所述中間結(jié)果的前導(dǎo)零數(shù)目,基于所述預(yù)先對(duì)準(zhǔn)移位值及所述中間結(jié)果的所述前導(dǎo)零數(shù)目確定歸一化移位值,及基于所述歸一化移位值將所述中間結(jié)果歸一化以獲得所述FMASc運(yùn)算的經(jīng)歸一化的輸出。
      [0014]另一示例性實(shí)施例涉及一種執(zhí)行浮點(diǎn)運(yùn)算的方法,其包括:接收乘數(shù)、被乘數(shù)、加數(shù)及比例因子操作數(shù)。所述方法進(jìn)一步包括對(duì)所述乘數(shù)及被乘數(shù)操作數(shù)的尾數(shù)執(zhí)行部分乘法運(yùn)算以獲得中間乘積,基于所述比例因子及所述加數(shù)、乘數(shù)及被乘數(shù)的指數(shù)將所述加數(shù)的尾數(shù)與所述中間乘積預(yù)先對(duì)準(zhǔn),及將所述經(jīng)預(yù)先對(duì)準(zhǔn)的加數(shù)的所述尾數(shù)與所述中間乘積累加以獲得所述浮點(diǎn)運(yùn)算的結(jié)果。
      [0015]另一示例性實(shí)施例涉及一種浮點(diǎn)單元,其包括輸入乘數(shù)、被乘數(shù)、加數(shù)及比例因子操作數(shù)。所述浮點(diǎn)單元進(jìn)一步包括:乘法器塊,其經(jīng)配置以將所述乘數(shù)及被乘數(shù)的尾數(shù)相乘以產(chǎn)生中間乘積;對(duì)準(zhǔn)邏輯,其經(jīng)配置以基于所述比例因子及所述加數(shù)、乘數(shù)及被乘數(shù)的指數(shù)將所述加數(shù)與所述中間乘積預(yù)先對(duì)準(zhǔn);及累加邏輯,其經(jīng)配置以將所述經(jīng)預(yù)先對(duì)準(zhǔn)的加數(shù)的尾數(shù)與所述中間乘積相加或相減以獲得所述浮點(diǎn)單元的結(jié)果。
      [0016]另一示例性實(shí)施例涉及一種處理系統(tǒng),其包括:用于接收浮點(diǎn)乘數(shù)、被乘數(shù)、加數(shù)及比例因子操作數(shù)的裝置。所述處理系統(tǒng)進(jìn)一步包括:用于將所述乘數(shù)及被乘數(shù)的尾數(shù)相乘以產(chǎn)生中間乘積的乘數(shù)裝置;用于基于所述比例因子及所述加數(shù)、乘數(shù)及被乘數(shù)的指數(shù)將所述加數(shù)與所述中間乘積預(yù)先對(duì)準(zhǔn)的對(duì)準(zhǔn)裝置;及用于將所述經(jīng)預(yù)先對(duì)準(zhǔn)的加數(shù)的尾數(shù)與所述中間乘積相加或相減以獲得所述處理系統(tǒng)的浮點(diǎn)結(jié)果的累加裝置。
      [0017]又一示例性實(shí)施例涉及一種非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體,其包括在由處理器執(zhí)行時(shí)致使所述處理器執(zhí)行用于執(zhí)行浮點(diǎn)運(yùn)算的運(yùn)算的代碼,所述非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體包括:用于接收乘數(shù)、被乘數(shù)、加數(shù)及比例因子操作數(shù)的代碼;用于對(duì)所述乘數(shù)及被乘數(shù)操作數(shù)的尾數(shù)執(zhí)行部分乘法運(yùn)算以獲得中間乘積的代碼;用于基于所述比例因子及所述加數(shù)、乘數(shù)及被乘數(shù)的指數(shù)將所述加數(shù)的尾數(shù)與所述中間乘積預(yù)先對(duì)準(zhǔn)的代碼;及用于將所述經(jīng)預(yù)先對(duì)準(zhǔn)的加數(shù)的所述尾數(shù)與所述中間乘積相加或相減以獲得所述浮點(diǎn)運(yùn)算的結(jié)果的代碼。
      [0018]另一示例性實(shí)施例涉及一種執(zhí)行具有按比例縮放的雙重?cái)?shù)據(jù)路徑浮點(diǎn)融合乘法及累加運(yùn)算(FMASc)運(yùn)算的方法,所述方法包括接收乘數(shù)、被乘數(shù)、加數(shù)及比例因子操作數(shù)。所述方法進(jìn)一步包括:對(duì)所述乘數(shù)及被乘數(shù)操作數(shù)的尾數(shù)執(zhí)行部分乘法運(yùn)算以獲得中間乘積,將所述加數(shù)的尾數(shù)分成具有較高有效位的高加數(shù)部分及具有較低有效位的低加數(shù)部分,將所述高加數(shù)部分對(duì)準(zhǔn)以形成增量部分,將所述低加數(shù)部分與所述中間乘積對(duì)準(zhǔn),將所述低加數(shù)部分與所述中間乘積累加以形成相加部分,基于分別來自所述相加部分的進(jìn)位輸出或借位值將所述增量部分遞增或遞減以形成最終的增量部分,及將所述最終增量部分與所述相加部分串接以形成所述浮點(diǎn)運(yùn)算的結(jié)果。
      【附圖說明】
      [0019]呈現(xiàn)附圖以輔助描述本發(fā)明的實(shí)施例,且提供所述附圖僅用于說明本發(fā)明的實(shí)施例而非限制本發(fā)明的實(shí)施例。
      [0020]圖1說明使用常規(guī)浮點(diǎn)硬件實(shí)施按比例縮放的FM運(yùn)算的缺點(diǎn)。
      [0021]圖2說明根據(jù)示例性實(shí)施例的經(jīng)配置以實(shí)施FMASc指令的浮點(diǎn)單元200。
      [0022]圖3說明對(duì)應(yīng)于示例性雙重?cái)?shù)據(jù)路徑FMA運(yùn)算的情況的表格。
      [0023]圖4說明對(duì)應(yīng)于用于在示例性FMASc實(shí)施方案中確定操作數(shù)的對(duì)準(zhǔn)及歸一化的第一組條件的情況的表格。
      [0024]圖5說明對(duì)應(yīng)于用于在示例性FMASc實(shí)施方案中確定操作數(shù)的對(duì)準(zhǔn)及歸一化的第二組條件的情況的表格。
      [0025]圖6說明對(duì)應(yīng)于用于在示例性FMASc實(shí)施方案中確定操作數(shù)的對(duì)準(zhǔn)及歸一化的第三組條件的情況的表格。
      [0026]圖7說明用于在示例性FMASc實(shí)施方案中獲得加數(shù)操作數(shù)的增量部分的邏輯的示例性實(shí)施方案。
      [0027]圖8說明用于在示例性FMASc實(shí)施方案中獲得加數(shù)操作數(shù)的相加部分的邏輯的示例性實(shí)施方案。
      [0028]圖9說明用于實(shí)施FMASc運(yùn)算的示例性操作流程的流程圖描繪
      當(dāng)前第1頁1 2 3 4 5 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1