主旨:测试在各种情况下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倍,不过还是比非浮点乘法稍微耗时一点,毕竟是浮点运算嘛