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

在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法

文檔序號(hào):9547151閱讀:267來(lái)源:國(guó)知局
在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及可重構(gòu)計(jì)算領(lǐng)域,尤其涉及通用可重構(gòu)處理器實(shí)現(xiàn)除法的相關(guān)問(wèn)題。 具體講,涉及在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法。 技術(shù)背景
[0002] 隨著視頻處理技術(shù)的不斷進(jìn)步,需要處理的數(shù)據(jù)量越來(lái)越大,對(duì)數(shù)據(jù)處理電路的 性能、功耗和靈活性要求也越來(lái)越高。傳統(tǒng)的解決方案通常采用兩種不同的方法來(lái)實(shí)現(xiàn):一 種是專用集成電路(Application Specific Integrated Circuits,ASIC),一種是通用微 處理器。對(duì)于復(fù)雜的視覺(jué)信息處理算法,ASIC設(shè)計(jì)具有很高的執(zhí)行效率和運(yùn)算精度且具有 很低的功耗,但是靈活性不足,很難同時(shí)滿足多種不同算法的需要。通用處理器雖然能夠通 過(guò)軟件指令實(shí)現(xiàn)不同的算法,但復(fù)雜的算法通常需要很長(zhǎng)時(shí)間才能成,執(zhí)行效率很低。可重 構(gòu)處理器利用可重構(gòu)邏輯器件的動(dòng)態(tài)重構(gòu)特性,通過(guò)不同的配置文件,將特定的指令映射 到可重構(gòu)陣列上運(yùn)行,能夠充分利用硬件并行化執(zhí)行的特點(diǎn),提高計(jì)算效率。在視覺(jué)信息處 理領(lǐng)域,可重構(gòu)處理器在性能、靈活性和功耗等方面能很好的平衡,相對(duì)于傳統(tǒng)的ASIC和 通用處理器有很大的優(yōu)勢(shì)。
[0003] 在使用通用可重構(gòu)處理器來(lái)映射算法時(shí),除法的映射是不可避免的。在通用可重 構(gòu)處理器中,由于浮點(diǎn)運(yùn)算部件的高昂成本,所以硬件中并沒(méi)有集成浮點(diǎn)運(yùn)算部件,小數(shù)的 表示大多采用定點(diǎn)數(shù)的表示方法。在使用定點(diǎn)數(shù)來(lái)映射除法時(shí),經(jīng)常會(huì)遇到位寬不夠的情 況,這使得除法得到的商的定點(diǎn)精度不夠,導(dǎo)致后續(xù)計(jì)算的結(jié)果精度下降甚至出現(xiàn)計(jì)算錯(cuò) 誤。

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

[0004] 為克服現(xiàn)有技術(shù)的不足,提供一種在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置 方法,通過(guò)該配置方法,可以在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度的定點(diǎn)除法,減少處理器位 寬對(duì)于定點(diǎn)除法精度的限制。為此,本發(fā)明采取的技術(shù)方案是,在通用可重構(gòu)處理器上實(shí)現(xiàn) 高精度除法的配置方法,首先將2*2的可重構(gòu)處理器陣列配置成一個(gè)32bit定點(diǎn)數(shù)除法單 元,執(zhí)行完成后會(huì)得到有整數(shù)精度的商;然后修改執(zhí)行代碼Left-shift R| |A的處理單元 的配置,Left-shift表示將R左移一位,并將A的最高位補(bǔ)到R的最低位,同時(shí)A也左移一 位,所述修改配置相當(dāng)于被除數(shù)利用整數(shù)精度的商和余數(shù)繼續(xù)移位減,得到擁有更高精度 的商。
[0005] 修改配置是,將被除數(shù)的各個(gè)位按從高到低的順序移入當(dāng)前余數(shù)的最低位,進(jìn)行 修改配置時(shí),將這移入的一位改成〇,這樣在被除數(shù)被移空時(shí),也就是普通32bit定點(diǎn)數(shù)除 法完成時(shí),相當(dāng)于在被除數(shù)后補(bǔ)〇繼續(xù)移位減操作,得到更高精度的商。
[0006] 首先將2*2的可重構(gòu)處理器陣列配置成一個(gè)32bit定點(diǎn)數(shù)除法單元,執(zhí)行完成后 會(huì)得到有整數(shù)精度的商,具體步驟是,使用四個(gè)處理單元利用移位減操作來(lái)實(shí)現(xiàn),其實(shí)現(xiàn)的 偽代碼:
[0007] R二 0; For I=O ?ο 31 d?
[0008] Left-shift Rl I A; If ,R>=B then Qi=I:; Ι??: else Qi=O; end, if; end ftjr ·.
[0009] 其中被除數(shù)為A,除數(shù)是B,商為Q,余數(shù)為R;其中R| |A代表將R和A拼接以后的 數(shù)據(jù),Qi表示商的第i位;利用該代碼在可重構(gòu)處理器上映射一個(gè)除法器,將可重構(gòu)處理器 上的一個(gè)2*2陣列配置成除法器,右上角的處理單元每次左移A,將A的最高位移出,輸出到 輸出端〇ut2中,并且將計(jì)算得到的商的下一位從左下角處理單元的out2中移入,這樣,當(dāng) 被除數(shù)A移空時(shí),右上角的處理單元的輸出值就是A與B的商;左上角的處理單元會(huì)在下一 周期計(jì)算R,將R左移一位并把右上角處理單元移出的A的最高位補(bǔ)到自己的最低位;下面 的兩個(gè)處理單元聯(lián)合執(zhí)行偽代碼中的if else塊。
[0010] 本發(fā)明的特點(diǎn)及有益效果是:
[0011] 經(jīng)過(guò)以上兩步的配置,可以在可重構(gòu)處理器上實(shí)現(xiàn)高精度的定點(diǎn)數(shù)除法,在商不 溢出的情況下可以得到任意位寬的小數(shù)精度。
【附圖說(shuō)明】:
[0012] 圖1移位減實(shí)現(xiàn)定點(diǎn)除法的數(shù)據(jù)流圖。
[0013] 圖2任意兩個(gè)32bit定點(diǎn)數(shù)除法配置圖。
[0014] 圖3高精度除法第二步配置圖。
【具體實(shí)施方式】
[0015] 在通用可重構(gòu)處理中,每一個(gè)處理單元中并沒(méi)有專用的除法硬件,任意的兩個(gè) 32bit定點(diǎn)數(shù)的除法是使用四個(gè)處理單元利用移位減操作來(lái)實(shí)現(xiàn)的。其實(shí)現(xiàn)的偽代碼如下 所示:
[0016] R-O: For 1=0 to 31 do Left-shift R|I A; If R>=B then R=R-Ii: else Qi=O:; end if;
[0017] end for;
[0018] 其中被除數(shù)為A,除數(shù)是B,商為Q,余數(shù)為R。其中R| |A代表將R和A拼接以后的 數(shù)據(jù),Qi表示商的第i位。該代碼可以計(jì)算任意兩個(gè)32bit定點(diǎn)數(shù)相除,并同時(shí)給出商和余 數(shù)。代碼中Left-shift R| |A表示將R左移一位,并將A的最高位補(bǔ)到R的最低位,同時(shí)A 也左移一位。利用該代碼在可重構(gòu)處理器上映射一個(gè)除法器,其數(shù)據(jù)流圖如圖1所示。根據(jù) 該數(shù)據(jù)流圖,可以將可重構(gòu)處理器上的一個(gè)2*2陣列配置成除法器,配置方法如圖2所示, 其中虛線表示細(xì)粒度輸出的去向。由圖2可以看出,右上角的處理單元每次左移A,將A的 最高位移出,輸出到〇ut2中,并且將計(jì)算得到的商的下一位從左下角處理單元的out2中移 入,這樣,當(dāng)被除數(shù)A移空時(shí),右上角的處理單元的輸出值就是A與B的商。左上角的處理 單元會(huì)在下一周期計(jì)算R,將R左移一位并把右上角處理單元移出的A的最高位補(bǔ)到自己的 最低位。下面的兩個(gè)處理單元聯(lián)合執(zhí)行偽代碼中的if else塊。
[0019] 上面的方案實(shí)現(xiàn)了兩個(gè)32bit定點(diǎn)數(shù)相除,得到了擁有整數(shù)精度的商,但是在實(shí) 際的定點(diǎn)除法應(yīng)用中,有時(shí)需要有多位的小數(shù)精度,才可以保證后續(xù)計(jì)算的正確性。例如, 兩個(gè)最大值為23bit的定點(diǎn)數(shù)相除,結(jié)果保留5位小數(shù)精度(商保證不會(huì)溢出32bit),一 般的方法是先將被除數(shù)左移5bit,然后做除法,得到的結(jié)果就是擁有5bit小數(shù)精度的定點(diǎn) 數(shù)。但是若想得到IObit的小數(shù)精度(仍假設(shè)商并不會(huì)溢出),被除數(shù)要先左移lObit,這 樣有可能導(dǎo)致被除數(shù)溢出,因此一般方法在計(jì)算高精度除法時(shí),受到了處理器位寬的嚴(yán)重 限制??紤]到高精度除法的本質(zhì)與之前的偽代碼相同,仍然是進(jìn)行移位減操作,因此再進(jìn)行 完一般除法后,將可重構(gòu)處理器陣列稍加改進(jìn),重新配置,移入左上角處理單元的位不再是 被除數(shù),而是0,這樣就相當(dāng)于將被除數(shù)左移,就可以實(shí)現(xiàn)高精度除法。其配置方法如圖3所 不。
[0020] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清晰,在這里給出一個(gè)配置實(shí)例。假設(shè)兩 個(gè)定點(diǎn)數(shù)的最大值為23bit,商要求是一個(gè)擁有16bit小數(shù)精度的定點(diǎn)數(shù),且已知商不會(huì)溢 出。那么首先將被除數(shù)左移8bit,執(zhí)行圖2所示的配置,執(zhí)行32次后,此時(shí)求得的商擁有 Sbit的小數(shù)精度,再執(zhí)行圖3所示的配置8次,即可得到擁有16bit小數(shù)精度的商。實(shí)際上 兩次配置中,只有左上角的處理單元的配置發(fā)生了變化,其余三個(gè)處理單元的配置并未改 變。
【主權(quán)項(xiàng)】
1. 一種在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法,其特征是,首先將2*2的 可重構(gòu)處理器陣列配置成一個(gè)32bit定點(diǎn)數(shù)除法單元,執(zhí)行完成后會(huì)得到有整數(shù)精度的 商;然后修改執(zhí)行代碼Left-shiftR| |A的處理單元的配置,Left-shift表示將R左移一 位,并將A的最高位補(bǔ)到R的最低位,同時(shí)A也左移一位,所述修改配置相當(dāng)于被除數(shù)利用 整數(shù)精度的商和余數(shù)繼續(xù)移位減,得到擁有更高精度的商。2. 如權(quán)利要求1所述的在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法,其特征 是,修改配置是,將被除數(shù)的各個(gè)位按從高到低的順序移入當(dāng)前余數(shù)的最低位,進(jìn)行修改配 置時(shí),將這移入的一位改成0,這樣在被除數(shù)被移空時(shí),也就是普通32bit定點(diǎn)數(shù)除法完成 時(shí),相當(dāng)于在被除數(shù)后補(bǔ)0繼續(xù)移位減操作,得到更高精度的商。3. 如權(quán)利要求1所述的在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法,其特征 是,首先將2*2的可重構(gòu)處理器陣列配置成一個(gè)32bit定點(diǎn)數(shù)除法單元,執(zhí)行完成后會(huì)得 到有整數(shù)精度的商,具體步驟是,使用四個(gè)處理單元利用移位減操作來(lái)實(shí)現(xiàn),其實(shí)現(xiàn)的偽代 碼:其中被除數(shù)為A,除數(shù)是B,商為Q,余數(shù)為R;其中R| |A代表將R和A拼接以后的數(shù)據(jù),Qi表示商的第i位;利用該代碼在可重構(gòu)處理器上映射一個(gè)除法器,將可重構(gòu)處理器上的 一個(gè)2*2陣列配置成除法器,右上角的處理單元每次左移A,將A的最高位移出,輸出到輸出 端out2中,并且將計(jì)算得到的商的下一位從左下角處理單元的out2中移入,這樣,當(dāng)被除 數(shù)A移空時(shí),右上角的處理單元的輸出值就是A與B的商;左上角的處理單元會(huì)在下一周期 計(jì)算R,將R左移一位并把右上角處理單元移出的A的最高位補(bǔ)到自己的最低位;下面的兩 個(gè)處理單元聯(lián)合執(zhí)行偽代碼中的ifelse塊。
【專利摘要】本發(fā)明涉及可重構(gòu)計(jì)算領(lǐng)域,為提供一種在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法,通過(guò)該配置方法,可以在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度的定點(diǎn)除法,減少處理器位寬對(duì)于定點(diǎn)除法精度的限制。本發(fā)明采取的技術(shù)方案是,在通用可重構(gòu)處理器上實(shí)現(xiàn)高精度除法的配置方法,首先將2×2的可重構(gòu)處理器陣列配置成一個(gè)32bit定點(diǎn)數(shù)除法單元,執(zhí)行完成后會(huì)得到有整數(shù)精度的商;然后修改執(zhí)行代碼Left-shift?R||A的處理單元的配置,Left-shift表示將R左移一位,并將A的最高位補(bǔ)到R的最低位,同時(shí)A也左移一位,修改配置相當(dāng)于被除數(shù)利用整數(shù)精度的商和余數(shù)繼續(xù)移位減。本發(fā)明主要應(yīng)用于重構(gòu)計(jì)算應(yīng)用場(chǎng)合。
【IPC分類】G06F9/30, G06F15/78
【公開(kāi)號(hào)】CN105302769
【申請(qǐng)?zhí)枴緾N201510713023
【發(fā)明人】高靜, 高天野, 史再峰, 羅韜
【申請(qǐng)人】天津大學(xué)
【公開(kāi)日】2016年2月3日
【申請(qǐng)日】2015年10月28日
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万源市| 恩施市| 渑池县| 皮山县| 满城县| 旬阳县| 张家川| 上犹县| 娄烦县| 平南县| 和硕县| 洪雅县| 南投市| 丰宁| 常德市| 长子县| 长寿区| 惠东县| 桐庐县| 镇康县| 安龙县| 安塞县| 久治县| 康乐县| 兰考县| 尉犁县| 达州市| 新建县| 绥宁县| 新蔡县| 屏山县| 黔江区| 招远市| 湾仔区| 通海县| 南平市| 大英县| 盐亭县| 习水县| 左权县| 麟游县|