微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > stm32f407进行一次32*32的乘加运算需要多少ns

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

时间:10-02 整理:3721RD 点击:
官方给出的只需要一个指令周期,按这个说也就是6ns。而我自己测试的是20多ns,测试方法是进行1000次乘加运算后把某个引脚拉低,用示波器观察。请问有什么好的方法测试吗,或者有测试出需要一个指令周期的。希望有高人指点


你的1000次运算是用循环的吧。循环判定和跳转也是需要时间的。你的测试方法应该是可以的,但是指令要整的很清楚才能测得准,最好是汇编来写,这样指令很清晰,用C的话,编译出来的指令并不一定是固定的。

用示波器吧,多进行几次运算。使用GPIO来测

是用的for循环,我先测试了没有运算时for空循环的时间,又测了加上运算的时间,时间差应该就是执行运算的时间。确实用C写的,我里面进行了多次运算,每条c语句编译出来的汇编指令有四条,比较固定。我对汇编不熟悉,不知道用汇编可不可以一步做到这一次运算

C语言的一个运算包括取数据,运算,赋值,也不是单独的运算时间。

嗯,多谢指教,不知道该怎么样更精确一点

按你以前程序,先做32bits 的加加程序,记录所花的时间,然后再做32bits的乘加运算,两时间对比看看。

用汇编来写吧,汇编指令很清晰,得出的时间能更准确,才是好方法。

各方

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top