利用重疊掃描方法改進(jìn)單片機(jī)乘法運(yùn)算
區(qū)別只是改加為減,因?yàn)椴糠址e的減值在以后的掃描中可以修正回來,不用采用補(bǔ)碼的運(yùn)算也能完成,最常用的方法是設(shè)置輔助運(yùn)算區(qū),采用臨時(shí)記錄的方式保證其部分積在掃描任一周期保持正確結(jié)果,也稱為臨時(shí)擴(kuò)展方法,這里就不重復(fù)。這樣,在每次掃描僅剩下一個(gè)問題,即如何處理Pj,這里Pj與文[3]中處理的方法有類似之處。以2A為基礎(chǔ),將Pj形成一個(gè)加(減)法序列,也就是將Pj變?yōu)?qA的序列,如12A=22A+23A。這樣就可以在一個(gè)掃描周期完成部分積的加法。這里建議讀者去探索Pj更好的形成方法,因?yàn)樾纬?qA的序列,1≤q≤3,要占用時(shí)間(24A可以通過半字節(jié)操作做左端拼加處理,因?yàn)?4A相當(dāng)于A左移半字節(jié),運(yùn)算時(shí)直接依靠輔助運(yùn)算區(qū)),同時(shí)在特殊處理上也額外占有一些運(yùn)算時(shí)間,這一點(diǎn)在圖7中也可以看出來。這樣一來,在Pj的加法過程中,掃描算法在某些BMi值上并不都占優(yōu)勢(shì),這一點(diǎn)在圖5,6中也可以體現(xiàn)(BMi中Xi+3,Xi+2,Xi+1,Xi為1的個(gè)數(shù)決定了在標(biāo)準(zhǔn)算法中的加法次數(shù));但重疊掃描畢竟節(jié)省了時(shí)間,其與標(biāo)準(zhǔn)算法在一個(gè)掃描周期內(nèi)的加法次數(shù)情況如圖8所示(其中系列1為重疊掃描算法,系列2為標(biāo)準(zhǔn)算法)。加之在移位中節(jié)省的時(shí)間,重疊掃描全過程的運(yùn)算時(shí)間與標(biāo)準(zhǔn)右移算法的比較情況如圖8所示(S1為重疊掃描算法,S2為標(biāo)準(zhǔn)算法)。在局部區(qū)域,由于采用上述的Pj處理方法,運(yùn)算時(shí)間節(jié)省情況還不甚理想,但在總體上還是有很大的改進(jìn)。
4 結(jié) 論
以上介紹的是重疊均勻移位掃描算法,前面談到重疊非均勻移位掃描算法,有關(guān)這種算法的詳細(xì)介紹請(qǐng)參見其他文獻(xiàn)。
在以上過程中,是假定BMi中的Xi+3,Xi+2,Xi+1,Xi值的1,0分布服從自然概率,然而在運(yùn)算中由于Xi+4的作用,在對(duì)某區(qū)間數(shù)據(jù)進(jìn)行操作時(shí)存在差異,通過對(duì)一些運(yùn)算區(qū)間的數(shù)據(jù)進(jìn)行了統(tǒng)計(jì),其Xi+4與BMi值的分布概率如圖9所示;以實(shí)際的一組分布來驗(yàn)證重疊算法運(yùn)算時(shí)間的縮短情況,如圖10所示(S1為重疊掃描算法,S2為標(biāo)準(zhǔn)算法;圖中前面為S1,后面陰影為S2)??梢钥吹街丿B掃描法對(duì)浮點(diǎn)多字節(jié)乘法運(yùn)算有很大的改進(jìn),它打破了移位加法的傳統(tǒng)乘法算法,有了算法的預(yù)測(cè)功能,提高了乘法運(yùn)算的速度。本算法在某軍工項(xiàng)目中得到應(yīng)用,效果很好。
參考文獻(xiàn)
1 黃 凱.計(jì)算機(jī)算術(shù)運(yùn)算原理、結(jié)構(gòu)與設(shè)計(jì).北京:科學(xué)出版社,1980.106~110
2 陳 宇,王遵立.MC-51單片微型機(jī)上實(shí)現(xiàn)的快速掃描浮點(diǎn)乘法運(yùn)算.?dāng)?shù)據(jù)采集與處理,1992,(9):151~153
3 陳 宇,畢淑艷,王遵立,等.MCS-51單片機(jī)實(shí)現(xiàn)的快速浮點(diǎn)多字節(jié)BCD乘除運(yùn)算.電子技術(shù)應(yīng)用,1998,(2):17~19
4 Chen T C.A binary multiplication scheme based onsquaring.IEEE Trans Comput,1971,C-20(6):678~680
5 Booth A D.A signed binary multiplication technique.Quart Journ Mech and Appl,Math,1951,4(2):236~240
6 Garner H L.A ring model for the study for a binarymultiplier using 2,3 or 4-bit at a time.IEEE Trans,1959,EC-80(1):25~30
評(píng)論