資料介紹
14.10 浮點(diǎn)運(yùn)算
大多數(shù)的ARM處理器硬件上并不支持浮點(diǎn)運(yùn)算。但ARM上提供了以下幾個(gè)選項(xiàng)來(lái)實(shí)現(xiàn)浮點(diǎn)運(yùn)算。
· 浮點(diǎn)累加協(xié)處理器FPA(Floating-Point Accelerator):ARM上提供了一組協(xié)處理器指令專門實(shí)現(xiàn)浮點(diǎn)運(yùn)算。但這需要硬件支持,具體某一處理器上是否有FPA協(xié)處理器支持,可以查看ARM相關(guān)手冊(cè)。
· 浮點(diǎn)運(yùn)算仿真(FPE):使用軟件仿真了FPA協(xié)處理器的執(zhí)行。
· 浮點(diǎn)運(yùn)算庫(kù)(FPLib):使用ARM的浮點(diǎn)運(yùn)算庫(kù)函數(shù)實(shí)現(xiàn)程序中的浮點(diǎn)運(yùn)算操作。這就意味著C編譯器要把每一個(gè)浮點(diǎn)操作轉(zhuǎn)換成一個(gè)子程序調(diào)用。C庫(kù)中的子函數(shù)使用整型運(yùn)算來(lái)模擬浮點(diǎn)操作。這些代碼是用高效的匯編語(yǔ)言編寫而成的。盡管如此,浮點(diǎn)運(yùn)算執(zhí)行起來(lái)還是要比相應(yīng)整型運(yùn)算慢得多。
注意Thumb指令不支持協(xié)處理器指令,所以在Thumb狀態(tài)下實(shí)現(xiàn)浮點(diǎn)運(yùn)算,只能調(diào)用ARM浮點(diǎn)運(yùn)算庫(kù)。
為了在ARM上高效地實(shí)現(xiàn)浮點(diǎn)運(yùn)算,請(qǐng)遵循以下規(guī)則。
· 避免使用浮點(diǎn)除法運(yùn)算。通常情況下,除法運(yùn)算的執(zhí)行速度是普通加法或乘法運(yùn)算速度的1/2。在無(wú)法避免除法的情況下,盡量使除法的除數(shù)為常數(shù)。如,x=x/3.0,可將其變?yōu)閤 = x * (1.0/3.0)。這樣除數(shù)為常數(shù)(1.0/3.0),該值在編譯階段由編譯器計(jì)算。
· 使用float型代替double型。float型要比double使用更少的內(nèi)存和寄存器。
· 避免使用三角函數(shù)功能。實(shí)現(xiàn)三角函數(shù)功能,如sin、cos,使用了大量的乘加運(yùn)算,它的運(yùn)算速度大約是普通乘法運(yùn)算的十倍。
· 當(dāng)編譯器處理浮點(diǎn)運(yùn)算操作時(shí),由于精度的影響很多優(yōu)化不能實(shí)現(xiàn)。比如,表達(dá)式3 * (x / 3),編譯器不能判斷其值和x是等價(jià)的。所以在使用浮點(diǎn)運(yùn)算表達(dá)式時(shí),最好先人工的做一些必要的優(yōu)化。
?
大多數(shù)的ARM處理器硬件上并不支持浮點(diǎn)運(yùn)算。但ARM上提供了以下幾個(gè)選項(xiàng)來(lái)實(shí)現(xiàn)浮點(diǎn)運(yùn)算。
· 浮點(diǎn)累加協(xié)處理器FPA(Floating-Point Accelerator):ARM上提供了一組協(xié)處理器指令專門實(shí)現(xiàn)浮點(diǎn)運(yùn)算。但這需要硬件支持,具體某一處理器上是否有FPA協(xié)處理器支持,可以查看ARM相關(guān)手冊(cè)。
· 浮點(diǎn)運(yùn)算仿真(FPE):使用軟件仿真了FPA協(xié)處理器的執(zhí)行。
· 浮點(diǎn)運(yùn)算庫(kù)(FPLib):使用ARM的浮點(diǎn)運(yùn)算庫(kù)函數(shù)實(shí)現(xiàn)程序中的浮點(diǎn)運(yùn)算操作。這就意味著C編譯器要把每一個(gè)浮點(diǎn)操作轉(zhuǎn)換成一個(gè)子程序調(diào)用。C庫(kù)中的子函數(shù)使用整型運(yùn)算來(lái)模擬浮點(diǎn)操作。這些代碼是用高效的匯編語(yǔ)言編寫而成的。盡管如此,浮點(diǎn)運(yùn)算執(zhí)行起來(lái)還是要比相應(yīng)整型運(yùn)算慢得多。
注意Thumb指令不支持協(xié)處理器指令,所以在Thumb狀態(tài)下實(shí)現(xiàn)浮點(diǎn)運(yùn)算,只能調(diào)用ARM浮點(diǎn)運(yùn)算庫(kù)。
為了在ARM上高效地實(shí)現(xiàn)浮點(diǎn)運(yùn)算,請(qǐng)遵循以下規(guī)則。
· 避免使用浮點(diǎn)除法運(yùn)算。通常情況下,除法運(yùn)算的執(zhí)行速度是普通加法或乘法運(yùn)算速度的1/2。在無(wú)法避免除法的情況下,盡量使除法的除數(shù)為常數(shù)。如,x=x/3.0,可將其變?yōu)閤 = x * (1.0/3.0)。這樣除數(shù)為常數(shù)(1.0/3.0),該值在編譯階段由編譯器計(jì)算。
· 使用float型代替double型。float型要比double使用更少的內(nèi)存和寄存器。
· 避免使用三角函數(shù)功能。實(shí)現(xiàn)三角函數(shù)功能,如sin、cos,使用了大量的乘加運(yùn)算,它的運(yùn)算速度大約是普通乘法運(yùn)算的十倍。
· 當(dāng)編譯器處理浮點(diǎn)運(yùn)算操作時(shí),由于精度的影響很多優(yōu)化不能實(shí)現(xiàn)。比如,表達(dá)式3 * (x / 3),編譯器不能判斷其值和x是等價(jià)的。所以在使用浮點(diǎn)運(yùn)算表達(dá)式時(shí),最好先人工的做一些必要的優(yōu)化。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- LabViEW編程之VI服務(wù)器綜述 24次下載
- Windows編程之數(shù)值運(yùn)算綜述 5次下載
- 浮點(diǎn)DSP運(yùn)算效率不高 10次下載
- DSP教程之DSP數(shù)值運(yùn)算基礎(chǔ)總結(jié)的詳細(xì)資料說(shuō)明 9次下載
- C語(yǔ)言教程之數(shù)據(jù)類型與運(yùn)算符的詳細(xì)資料說(shuō)明 8次下載
- C語(yǔ)言實(shí)用教程之數(shù)據(jù)類型運(yùn)算符和表達(dá)式的詳細(xì)資料說(shuō)明 10次下載
- 浮點(diǎn)運(yùn)算單元的FPGA實(shí)現(xiàn) 8次下載
- 多核浮點(diǎn)非線性運(yùn)算協(xié)處理器設(shè)計(jì) 0次下載
- 定點(diǎn)DSP C55X實(shí)現(xiàn)浮點(diǎn)相關(guān)運(yùn)算解析 2次下載
- 高效的C編程之除法運(yùn)算 5次下載
- C語(yǔ)言教程之平方和運(yùn)算的問(wèn)題 0次下載
- 浮點(diǎn) DSP 運(yùn)算效率不高 0次下載
- 定點(diǎn)dsp浮點(diǎn)運(yùn)算教程
- DSP的浮點(diǎn)運(yùn)算方法
- 浮點(diǎn)運(yùn)算方法
- 技術(shù)干貨驛站 ▏解鎖C語(yǔ)言高效編程秘訣:深入解析運(yùn)算符與優(yōu)先級(jí) 313次閱讀
- 技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:編程高手必備,全方位解析運(yùn)算符的核心技能! 381次閱讀
- 優(yōu)秀的Verilog/FPGA開源項(xiàng)目-浮點(diǎn)運(yùn)算器(FPU)介紹 3717次閱讀
- C語(yǔ)言的運(yùn)算符 1230次閱讀
- FPGA浮點(diǎn)數(shù)轉(zhuǎn)化為定點(diǎn)數(shù)方法 4869次閱讀
- 如何在FPGA中正確處理浮點(diǎn)數(shù)運(yùn)算 5141次閱讀
- 三菱PLC浮點(diǎn)數(shù)運(yùn)算指令 1.6w次閱讀
- Altera FPGA硬核浮點(diǎn)DSP模塊解決方案提高運(yùn)算性能 3646次閱讀
- 基于TI TMS320C6748定點(diǎn)/浮點(diǎn)DSP C674x處理器 3210次閱讀
- 單片機(jī)浮點(diǎn)數(shù)的運(yùn)算原理及表達(dá)方式 1.2w次閱讀
- 利用FPGA技術(shù)能更方便靈活設(shè)計(jì)出浮點(diǎn)運(yùn)算器 3503次閱讀
- FOC之定點(diǎn)小數(shù)運(yùn)算 6452次閱讀
- 基于FPGA的嵌入式處理器的浮點(diǎn)系統(tǒng) 1680次閱讀
- 快速高效的實(shí)現(xiàn)浮點(diǎn)復(fù)數(shù)矩陣分解 1034次閱讀
- pic單片機(jī)io口控制教程之c語(yǔ)言編程實(shí)現(xiàn) 1.2w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論