请教关于浮点型运算的一些疑问

2019-07-20 01:21发布

最近在学习stm32F4,发现F4上相比于F1新增了一个特殊的模块浮点型运算单元(FPU),但是对于这个FPU作用是十分模糊的,一开始认为有了FPU才能进行浮点型运算,但是通过实验发现没有FPU的F1也可以进行浮点运算,然后又测试两个板子对于同一个运算的时间花费,测得拥有FPU的F4浮点运算速度是F1的四倍左右(这里考虑到F4系统时钟(168M)本来就比F1系统时钟(72M)高的多,对指令的运算速度就快,测试结果有误差),求问大牛有没有其他方式测试FPU的优点的实验思想。以及求问FPU除了加快运行速度,还有什么其他的优点。谢谢大家
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
czw
1楼-- · 2019-07-20 18:46
civic7366 发表于 2019-6-10 15:22
我用F4測試, 用示波器勾來看
關FPU => 1.958us
開FPU => 345ns

好的,谢谢,确实是一个办法
正点原子
2楼-- · 2019-07-20 22:22
 精彩回答 2  元偷偷看……
czw
3楼-- · 2019-07-20 23:58
 精彩回答 2  元偷偷看……
czw
4楼-- · 2019-07-21 00:43
civic7366 发表于 2019-6-10 15:22
我用F4測試, 用示波器勾來看
關FPU => 1.958us
開FPU => 345ns

你的结果怎么是开了FPU花费时间更加长?
civic7366
5楼-- · 2019-07-21 04:43
czw 发表于 2019-6-13 09:14
你的结果怎么是开了FPU花费时间更加长?

你看錯單位吧 一個是n耶

啟動文件那邊要把原子大大的代碼去掉

             LDR     R0, =0xE000ED88    ; 使能浮點運算 CP10,CP11
                 LDR     R1,[R0]
                 ORR     R1,R1,#(0xF << 20)
                 STR     R1,[R0]

一周热门 更多>