《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > Cortex-M3內核浮點型運算的研究與實現
Cortex-M3內核浮點型運算的研究與實現
現代電子技術
梅靜靜,王申良
摘要: 通過分析Cortex-M3內核的結構與浮點型格式,充分利用Cortex-M3內核中的分支預測、單周期乘法、硬件除法等眾多功能強大的特性,使用Thumb-2指令集實現了單精度浮點型的加、減、乘、除與比較運算,并給出了加減法運算的流程圖和除法運算的源程序。
關鍵詞: 運算 浮點 內核 Cortex-M3
Abstract:
Key words :

摘要:通過分析Cortex-M3內核的結構與浮點型格式,充分利用Cortex-M3內核中的分支預測、單周期乘法、硬件除法等眾多功能強大的特性,使用Thumb-2指令集實現了單精度浮點型的加、減、乘、除與比較運算,并給出了加減法運算的流程圖和除法運算的源程序。
關鍵詞:Cortex-M3內核;浮點型;速度

引言
    在一些較為復雜的運算中,經常需要處理取值范圍大、精度高的浮點型數據。但一般的低端嵌入式內核中沒有浮點型硬件運算器,因此處理語音信號等數據比較困難。本文提出了一種基于Cortex-M3內核的浮點型運算的處理方法。

1 Thumb-2指令集與COrtex-M3內核結構
    Thumb-2指令集具有以下優點:許多指令(包括乘法相關指令、突破性的32位硬件除法指令等)都是單周期的,并且位段處理指令取指都按32位處理。
    Cortex-M3是一個32位處理器內核,采用哈佛結構,擁有獨立的指令總線和數據總線,可以讓取指與數據訪問并行不悖。它具有如下特點:功耗低,有睡眠、停機和待機3種模式;實時性好;響應中斷快,而且響應中斷所需的周期數是確定的;采用Thumb-2指令集,使得代碼
密度和執行效率更高。

2 浮點數的格式
    IEEE的浮點型數據標準規定,浮點數具有單精度(4字節)、雙精度(8字節)和擴展精度(10字節)三種浮點型格式。在實際的應用中,使用最多的是單精度浮點數,格式如下:

a.JPG
    浮點數表示為:X=MsEsEm-1…E1E0 M-1M-2…M-n。IEEE標準規定:階碼用移碼;尾數的符號位用1表示負數,0表示正數;尾數的數據位用原碼表示,并且隱藏了第24位(即M-1),M-1為1,所以尾數是大于等于0.5小于1的小數。
    階碼用移碼表示、尾數用原碼表示浮點數的好處:
    ①浮點數據零的所有位均為零。
    ②2個浮點數比較大小時,可不必區分階碼位和數據位,視為有符號32位整型數據比較。

3 浮點型運算的具體實現
3.1 加減運算
    Cortex-M3是32位的內核,可以把單精度浮點數存儲為32位的有符號整數,這樣便于比較運算。加減運算的流程如圖1所示。

b.JPG


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

d.JPG


   
3.4 浮點型數據比較
    從浮點型數據存儲的格式來看,可以把浮點數按照有符號整型數據來比較大小。比較的結果:相等輸出O,大于輸出1,小于輸出-1。

4 測試結果
    利用基于Cortex-M3內核的STM32F103VET6處理器測試浮點型運算的速度,處理器的工作頻率為72 MHz,測試的方法為:每完成一次浮點型運算,處理器的一引腳變化一次電平。經測試,變化一次電平耗時153ns。圖2、圖3是對乘法運算和除法運算的測試結果。從圖中可以看出,乘法的運算速率約為0.717μs/次,除法的運算速率約為0.957μs/次??梢姡\算速率比較高,精度較高,可以滿足實際應用要求。

     e.JPG

f.JPG

結語
    測試結果表明,在Cortex-M3內核上實現浮點型運算,可以達到所要求的精度,運算速度較快,具有較高的實時性。本文提出的浮點型運算的處理方法在基于Cortex-M3內核的處理器上有著較高的應用價值。希望對從事這方面的人員有所幫助。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲人成综合在线播放| 精品伊人久久大香线蕉网站| 樱花草视频www| 国产91伦子系列沙发午睡| 丰满肥臀风间由美系列| 波多野结衣一区二区三区高清在线 | 欧美特黄视频在线观看| 国产xxxxx在线观看| 538精品视频在线观看mp4| 成人欧美一区二区三区| 亚洲制服丝袜中文字幕| 精品人妻少妇一区二区三区| 国产成人精品实拍在线| bbbbbbbbb欧美bbb| 日本久久中文字幕精品| 亚洲欧美精品中字久久99| 老子影院理论片在线观看| 国产精品无码无片在线观看| 丁香六月纪婷婷激情综合| 欧洲成人午夜精品无码区久久 | 日批视频app| 亚洲国产日产无码精品| 精品国产一区二区| 喷血推荐长腿连衣裙美女刚进房间| 四虎国产精品高清在线观看| 天天爱天天做天天爽夜夜揉| 久久久久久久性潮| 欧美另类xxxx图片| 免费一级毛片女人图片| 里番本子侵犯肉全彩| 国产精品成人va在线观看| www成人免费视频| 日本乱偷互换人妻中文字幕| 久久精品这里热有精品2015| 永久看日本大片免费35分钟| 另类人妖与另类欧美| 91影院在线观看| 国产美女视频一区| 一个人免费视频观看在线www| 日本艳鉧动漫1~6全集在线播放| 亚洲最大中文字幕|