音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

淺談Cortex-M3內(nèi)核浮點型運算的研究與實現(xiàn)

出處:梅靜靜,王申良 發(fā)布于:2011-08-28 10:54:18

  摘要:通過分析Cortex-M3內(nèi)核的結(jié)構(gòu)與浮點型格式,充分利用Cortex-M3內(nèi)核中的分支預(yù)測、單周期乘法、硬件除法等眾多功能強大的特性,使用Thumb-2指令集實現(xiàn)了單浮點型的加、減、乘、除與比較運算,并給出了加減法運算的流程圖和除法運算的源程序。

  引言

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

  1 Thumb-2指令集與COrtex-M3內(nèi)核結(jié)構(gòu)

  Thumb-2是一個突破性的指令集。它強大,它易用,它輕佻,它高效。 Thumb-2是16位Thumb指令集的一個超集,在Thumb-2中,16位指令首次與32位指令并存,結(jié)果在Thumb狀態(tài)下可以做的事情一下子豐富了許多,同樣工作需要的指令周期數(shù)也明顯下降。

  Cortex-M3是一個32位的核,在傳統(tǒng)的單片機領(lǐng)域中,有一些不同于通用32位CPU應(yīng)用的要求。譚軍舉例說,在工控領(lǐng)域,用戶要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining中斷技術(shù),完全基于硬件進行中斷處理,多可減少12個時鐘周期數(shù),在實際應(yīng)用中可減少70%中斷。Cortex-M3采用了新型的單線調(diào)試(Single Wire)技術(shù),專門拿出一個引腳來做調(diào)試,從而節(jié)約了大筆的調(diào)試工具費用。同時,Cortex-M3中還集成了大部分存儲器控制器,這樣工程師可以直接在MCU外連接Flash,降低了設(shè)計難度和應(yīng)用障礙。   ARM Cortex-M3處理器結(jié)合了多種突破性技術(shù),令芯片供應(yīng)商提供超低費用的芯片,僅33000門的內(nèi)核性能可達1.2DMIPS/MHz。該處理器還集成了許多緊耦合系統(tǒng)外設(shè),令系統(tǒng)能滿足下一代產(chǎn)品的控制需求。ARM公司希望Cortex-M3核的推出,能幫助單片機廠商。

  2 浮點數(shù)的格式

  IEEE被國際標準化組織授權(quán)為可以制定標準的組織,設(shè)有專門的標準工作委員會,有30000義務(wù)工作者參與標準的研究和制定工作,每年制定和修訂800多個技術(shù)準。IEEE的標準制定內(nèi)容有:電氣與電子設(shè)備、試驗方法、原器件、符號、定義以及測試方法等。

  IEEE的浮點型數(shù)據(jù)標準規(guī)定,浮點數(shù)具有單(4字節(jié))、雙(8字節(jié))和擴展(10字節(jié))三種浮點型格式。在實際的應(yīng)用中,使用多的是單浮點數(shù),格式如下:

a.JPG

  浮點數(shù)表示為:X=MsEsEm-1…E1E0 M-1M-2…M-n。IEEE標準規(guī)定:階碼用移碼;尾數(shù)的符號位用1表示負數(shù),0表示正數(shù);尾數(shù)的數(shù)據(jù)位用原碼表示,并且隱藏了第24位(即M-1),M-1為1,所以尾數(shù)是大于等于0.5小于1的小數(shù)。

  階碼用移碼表示、尾數(shù)用原碼表示浮點數(shù)的好處:

 ?、俑↑c數(shù)據(jù)零的所有位均為零。

 ?、?個浮點數(shù)比較大小時,可不必區(qū)分階碼位和數(shù)據(jù)位,視為有符號32位整型數(shù)據(jù)比較。

  3 浮點型運算的具體實現(xiàn)

  3.1 加減運算

  Cortex-M3是32位的內(nèi)核,可以把單浮點數(shù)存儲為32位的有符號整數(shù),這樣便于比較運算。加減運算的流程如圖1所示。

b.JPG

  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ù)。除法運算的源程序如下:

c.JPG

d.JPG

  3.4 浮點型數(shù)據(jù)比較

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

  4 測試結(jié)果

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

e.JPG

f.JPG

  結(jié)語

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


  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!