国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3291|回復: 0
打印 上一主題 下一主題

STM32L476 FPU 執行效率之比較淺析

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2016-12-21 17:56:56 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: 融創芯城
1.前言

本應用筆記基于STM32L476平臺,通過實際測量來評定使能FPU時浮點運算效率的情況。

2.測試工具

STM32L476 Nucleo,示波器

3.測試方法
MCU 運行頻率設置為16MHz,根據下面公式1 做N 次浮點運算,分使能FPU和禁止FPU兩種情況,測試完成相同運算所需要的時間。在例程中通過翻轉IO PB13 來標定完成運算所需要的時間。
3.1 測試代碼
根據公式1,分別定義A、B、C 三個常量,如下:
/* Private constants---------------------------------------------------------*/
#define A_CONSTANT(0.285f)
#define B_CONSTANT(0.443f)
#define C_CONSTANT(0.698f)
根據公式做對應的運算并通過GPIOC Pin0 輸出,測定對應消耗時間:
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13, GPIO_PIN_SET);
temp = A_CONSTANT*x*x +B_CONSTANT*x + C_CONSTANT;
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13, GPIO_PIN_RESET);

3.2 代碼分析
根據測試用的一元二次方程,經過IAR 編譯后,匯編結果如下:

3.2.1 FPU 使能
從匯編代碼可以看出,使能FPU 的情況下,完成一元二次方程的運算只需要7 條單周期指令,總共耗時為7 個Clock 周期。通過IAR 的方針模式運行,需要的CPU cycles 為7.

3.2.2 FPU 禁止
從匯編代碼可以看出,未使能FPU 的情況下,完成該一元二次方程的運算需要執行14 條指令,其中包括3 條兩周期指令,6 條單周期指令,5 條程序跳轉指令。通過IAR 的方針模式運行,需要的CPU cycles 為207.

4.測試數據及結論
IO完成兩次翻轉耗時6.48 uS;
使能FPU 時,除去IO 翻轉耗時,完成一次運算時間為6.52 uS(13 uS -6.48 uS),
如下圖示:

禁止FPU 時,除去IO 翻轉耗時,完成一次運算時間為87.4 uS(93.88 uS -6.48 uS),如下圖示:

小結下,根據上面相關測試數據大致可得出如下結論:

• 完成同樣的一元二次方程運算,禁止FPU時所消耗的時間約為使能FPU時消耗時間的13.4 倍左右。



文章來源:微信公眾號   融創芯城(一站式電子元器件、PCB、PCBA購買服務平臺,項目眾包平臺,方案共享平臺)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级毛片在播放免费 | 日日视频 | 九九成人| 一级毛片在线观看免费 | 国内特级毛片 | 国产欧美一区二区另类精品 | 国产性大片黄在线观看在线放 | 女老师在线观看 | 精品日韩欧美一区二区三区 | 99re最新这里只有精品 | 日韩黄网| 国产特级淫片免费看 | 激情天堂| 一级毛片在线播放 | 国产小视频在线看 | 亚洲一区高清 | 亚洲一区二区视频 | 欧美日韩精品高清一区二区 | 国产一级特黄aa大片高清 | 福利社区在线观看 | 亚洲第一区精品观看 | 国产成人精品高清免费 | 日韩毛片大全 | 亚洲欧美一区二区久久香蕉 | 青青在线免费观看 | 啪啪91视频 | 九色在线免费观看 | 国产精品va在线观看一 | 精品一区二区三区免费视频 | 婷婷五 在线播放 | 成人精品 | 4438x全国最大色 | 97se亚洲综合在线天天 | 羞羞网站在线看 | 搞黄网站在线观看 | 日韩高清在线高清免费 | 成年女人毛片免费观看不卡 | 免费精品一区二区三区在线观看 | 国产欧美日韩不卡在线播放在线 | 国产精品国产国产aⅴ | 亚洲欧美天堂 |