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