《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品精品国产高清a级毛片| 亚洲欧美精品午睡沙发| 一本色道久久88亚洲精品综合 | 国产成人免费一区二区三区| jazzjazz国产精品一区二区| 欧美激情一区二区三区在线| 国产手机精品一区二区| 久99久无码精品视频免费播放| 精品伊人久久久久7777人| 国产欧美一区二区三区在线看| 中文字幕日韩精品一区二区三区| 欧美人与zoxxxx另类| 免费a级毛视频| 色综合久久综合欧美综合网| 天堂在线www资源在线下载| 亚洲另类小说网| 男男调教军警奴跪下抽打| 国产乱人伦偷精品视频下| 田中瞳中文字幕久久精品| 无翼少无翼恶女漫画全彩app| 亚洲另类视频在线观看| 男女同床爽爽视频免费| 国产一区二区精品久久岳√| 欧美激情另类自拍| 国产草草影院ccyycom| www.youjizz.com国产| 揄拍成人国产精品视频| 九九热视频精品| 精品久久久中文字幕人妻| 国产剧情丝袜在线观看| gogogo高清在线播放| 无码人妻精品中文字幕| 乱人伦视频中文字幕| 欧美重口另类在线播放二区| 免费高清在线爱做视频| 日本xxxxbbbb| 国模无码视频一区| 久久久久成人精品无码| 波多野结衣教师系列5| 国产喷水在线观看| 三级视频在线播放|