Cortex-M3內(nèi)核浮點(diǎn)型運(yùn)算的研究與實(shí)現(xiàn)
3.2 乘法運(yùn)算
對(duì)于浮點(diǎn)型乘法運(yùn)算,因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/Cortex-M">Cortex-M3內(nèi)核支持單周期乘法指令,所以運(yùn)算速度比較快。運(yùn)算流程與加減運(yùn)算相似,不同之處有:階碼相加最高位取反得結(jié)果的階碼;尾數(shù)不用正負(fù)號(hào)調(diào)整,直接相乘,而尾數(shù)的符號(hào)位異或即可得結(jié)果的符號(hào)位;兩個(gè)24位尾數(shù)相乘的結(jié)果為48位,尾數(shù)規(guī)格化的時(shí)候,判斷第48位是否為1,如果為1則階碼加1,如果為O則第47位一定為1,階碼不必調(diào)整。
3.3 除法運(yùn)算
除法運(yùn)算中,提取階碼、重現(xiàn)尾數(shù)、提取尾數(shù)以及尾數(shù)符號(hào)位的操作與乘法運(yùn)算相同,因此除法運(yùn)算過(guò)程與乘法運(yùn)算過(guò)程的基本相似,只是計(jì)算X、Y尾數(shù)的商有所不同。
計(jì)算商的方法為:先把X的尾數(shù)左移8位,與Y的尾數(shù)相除得結(jié)果Z1,并計(jì)算出余數(shù)W1=X-Z1*Y;W1先左移8位,與Y的尾數(shù)相除得結(jié)果Z2,并計(jì)算出余數(shù)W2=W1-Z2*Y;W2左移8位,與Y的尾數(shù)相除得結(jié)果Z3。調(diào)整Z1、Z2、Z3并組裝成24位或25位尾數(shù)。除法運(yùn)算的源程序如下:
本文引用地址:http://m.butianyuan.cn/article/195058.htm
評(píng)論