各位大神,我现在想充分调用C6748的速度,456MHZ,我自己写了一段for循环,在仿真器的debug模式下,测10W次的乘法、除法、sin运算,引出波形用示波器周期计时。下面是for循环代码。
float a=1.0,b=0.0,c=1.0;
int i;
while(1)
{
for(i=0;i<100000;i++)
{ b=sin(a); //b=sinsp(a);
}
GPIOPinWrite(SOC_GPIO_0_REGS, 110, GPIO_PIN_HIGH); // D4 亮
for(i=0;i<100000;i++)
{ b=sin(a); //b=sinsp(a);
}
GPIOPinWrite(SOC_GPIO_0_REGS, 110, GPIO_PIN_LOW); // D4 灭
}
下面是用时:
运算函数 |
耗时(ms) |
||
未采取任何措施 |
使用浮点计数库 |
理论值 |
|
浮点=浮点*浮点 |
52.6ms a=b*c |
没有找到乘法函数 |
1/4.56*2=0.1 |
浮点=浮点\浮点 |
55ms a=b/c |
38.75ms divsp(b,c) |
|
浮点=sin(浮点) |
204ms a=sin(b) |
39.2ms a=sinsp(b) |
现在我的计算速度远远没有发挥出来,我归结了几点我的问题,1、CPU并行度是否要提高。 2、程序是否要优化。 3、库函数的引用是否正确