stm32f407进行一次32*32的乘加运算需要多少ns

2019-07-15 11:15发布

官方给出的只需要一个指令周期,按这个说也就是6ns。而我自己测试的是20多ns,测试方法是进行1000次乘加运算后把某个引脚拉低,用示波器观察。请问有什么好的方法测试吗,或者有测试出需要一个指令周期的。希望有高人指点
无标题.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
不是文字
1楼-- · 2019-07-15 21:47
blust 发表于 2017-4-21 08:03
你的1000次运算是用循环的吧。循环判定和跳转也是需要时间的。。。你的测试方法应该是可以的,但是指令要整的很清楚才能测得准,最好是汇编来写,这样指令很清晰,用C的话,编译出来的指令并不一定是固定的。

是用的for循环,我先测试了没有运算时for空循环的时间,又测了加上运算的时间,时间差应该就是执行运算的时间。确实用C写的,我里面进行了多次运算,每条c语句编译出来的汇编指令有四条,比较固定。我对汇编不熟悉,不知道用汇编可不可以一步做到这一次运算
blust
2楼-- · 2019-07-16 02:47
C语言的一个运算包括取数据,运算,赋值,也不是单独的运算时间。
不是文字
3楼-- · 2019-07-16 07:17
blust 发表于 2017-4-21 11:16
C语言的一个运算包括取数据,运算,赋值,也不是单独的运算时间。

嗯,多谢指教,不知道该怎么样更精确一点
wshuwen0905
4楼-- · 2019-07-16 12:57
 精彩回答 2  元偷偷看……
shifeng88
5楼-- · 2019-07-16 13:54
用汇编来写吧,汇编指令很清晰,得出的时间能更准确,才是好方法。
mjb123
6楼-- · 2019-07-16 15:28
各方

一周热门 更多>