经验分享,同时开启STC32F的MDU32和FPMU及速度测试
STC32F包含了最新的FPMU模块,而且听说加速相当猛。那必须试一下。顺便,同时开启MDU32,整数和浮点一起加速运算
if(Key_Short_Function) //P3.2按键短按
{
Key_Short_Function = 0; //短按一次P3.2按键,计算一次浮点数运算
//浮点运算测试
P01 = 0;
cfl3 = cfl1*cfl2;
cfl4 = cfl1/cfl2-cfl3;
cfl5 = cfl1*cfl2+cfl4;
cfl6 = cfl1/cfl2*sin(cfl5);
cfl7 = cfl1/cfl2*cos(cfl6);
cfl8 = cfl1/cfl2*tan(cfl7);
cfl9 = cfl1/cfl2*sqrt(cfl8);
cfl10 = cfl1/cfl2*atan(cfl9);
P01 = 1;
//整数运算测试
P02 = 0;
c=a+b;
d=a-b;
e=a*b;
f=a/b;
g=a>>2|b<<3;
P02 = 1;
}测试程序使用追风剑开发板,官方程序修改了一下,
P01低电平宽度标识浮点运算的消耗时间,
P02低电平宽度表示整数运算消耗的时间
如下是经过加速的时间
这个是经过加速的浮点运算,
这个是经过加速的整数运算速度
如果通过取消LIB库的Include in Target Build选项,
可以测得原本的运算消耗时间
这个是未经加速的浮点运算时间,
这个是未经加速的整数运算时间
可以简单计算得到,
FPMU加速性能327/27.4=11.93约为12倍,
MDU加速7.51/2.40=3.12约为3倍加速性能,
确实提高了不少。
当然,测试的时候还发现了一个小小的坑,就是在取消了LIB库包含以后,
再点击是深色的对勾
,
这时候
库文件上面是有一个小雪花(星号)的,
这个其实是程序没有调用的意思
想要解决也很简单,把Include in Target Build点成灰色的小对号,
或者点击Defaults就可以恢复了
期待更多的关于 硬件三角函数 的测试
https://www.bilibili.com/video/BV1wz4y1H7HS
老朋友:清华大学 卓晴老师 也在同步测试 STC32F的:
硬件【三角函数/反三角函数运算器 + 浮点运算器】
页:
[1]