DSP

STM32F103与407,乘法、浮点乘法、带与不带FPU浮点乘法速度对比

2019-07-13 19:24发布

主旨:测试在各种情况下CPU执行10万次乘法耗时 主测试函数: void mutil_10w(void) { u32 mul=0; u16 a=112,b=62; u32 ka=0; for(ka=0;ka<100000;ka++) { mul=a*b; } } 实验1:F103 耗时:22.55ms   实验2:F103,把b改成大于0xff的数字 耗时:22.22ms,时间还更短了,这点不知道为什么   实验3:F407,不带FPU 耗时:5.06ms   实验4:F407,带FPU 耗时:5.06ms,非浮点乘法时,带与不带FPU都一样的,这个好理解   实验5:F407,不带FPU,把b改成大于0xff的数 耗时:4.42ms,跟F103一样,时间更短了   实验6:F407,不带FPU,浮点乘法 实验函数: void mutil_10w(void) { float mul=0.0; float a=112.2,b=62.6; u32 ka=0; for(ka=0;ka<100000;ka++) { mul=a*b; } } 耗时:34.1ms   实验7:F407,带FPU,浮点乘法 耗时:6.31ms,带FPU后10万次浮点乘法快了将近6倍,不过还是比非浮点乘法稍微耗时一点,毕竟是浮点运算嘛