《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产人成视频在线视频| 在线中文字幕观看| 久久精品免费一区二区喷潮| 欧美精品专区第1页| 健身私教弄了我好几次怎么办| 色综合久久综合欧美综合图片| 国产无人区一区二区三区| 91精品一区二区三区久久久久 | 免费无码成人av在线播放不卡| 色www免费视频| 国产又爽又粗又猛的视频| 日本三级做a全过程在线观看| 国产精品美女免费视频观看| 99久久精品美女高潮喷水| 男女特黄一级全版视频| 国产一区二区三区在线看片| 香蕉视频网页版| 国产成人福利在线视频播放尤物| caopon国产在线视频| 国产精品日韩欧美一区二区 | 中文精品久久久久人妻不卡 | 野花香高清在线观看视频播放免费 | 国产偷v国产偷v国产| 国产色丁香久久综合| 国产精品久久久久久影视| 69视频免费在线观看| 国产高清免费观看| 97se色综合一区二区二区| 在线播放国产不卡免费视频| av一本久道久久波多野结衣| 天天操天天干天搞天天射| linmm视频在线观看| 好男人看片在线视频观看免费观看| 一道本不卡免费视频| 性欧美大战久久久久久久| 一道本在线播放| 官场猎艳警花美乳美妇| 一区二区日韩精品中文字幕| 少妇AV射精精品蜜桃专区| 一女多男np疯狂伦交| 宅男66lu国产在线观看|