TMS320F28335 FPU 使用

[复制链接]
2065|2
 楼主| Varus 发表于 2016-9-15 20:48 | 显示全部楼层 |阅读模式
需要加载 头文件 math.h 库文件使用 rts2800_fpu32.lib
       一个32位乘法
       cpu运算需要2079个CPU周期 2079*6.67ns=13866.93ns=13.86us
       FPU运算需要75个CPU周期 75*6.67ns=500.25ns=0.5us
       FPU运算一个浮点的sin函数 73*6.67=486.91ns=0.486us (sin函数无法输出180°到360°的负值)
       FPU运算一个浮点的sin函数 71*6.67=473.57ns=0.473us
       71这个数字是有浮动的。
       相差两位数啊!

value=sin(1.57)*2+cos(0.5)*2;//147 cpu cycles
ESTOP0;
value=cos(0.5);// 70 cpu cycles
ESTOP0;//software breakpoint
value=2*value+3;// 5 cpu cycles
ESTOP0;
value=value*0.5;// 3 cpu cycles
ESTOP0;
value=value/2;//155 cpu cycles===1us
ESTOP0;
复制代码

       由此可以看出来,在计算除法的时候尽量把除法化为乘法计算,乘法比除法速度快的太多了。
shenmu2012 发表于 2016-9-16 10:46 | 显示全部楼层
这个运算时间的计算非常有必要的,,就告诉我们优化程序的方向了
smilingangel 发表于 2016-9-16 12:44 | 显示全部楼层
这个正弦余弦函数的尽量少用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

155

主题

703

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部