TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3359的VFP无/有效,对整型数运算有影响?

您好,我使用AM3359跑一个小测试程序(裸机程序),程序内用for循环做整型数的加法(代码内没有浮点数),

发现一个奇怪的现象:AM3359的整型数计算能力,无效VFP时比使能VFP时快。

我做了很多次测试,包括选择不同的优化选项,使用cache什么的,别的条件一样时,大部分测试结果都

倾向于上述的现象。这是为什么呢?VFP对整型数计算有什么影响呢?

Yaoming Qin:

理论上是没有分别的,能说说你的测试方法和具体的测试结果么?

vfp只是你的算法中有浮点运算,编译器生成而来浮点指令,才会用到。

Ligang:

回复 Yaoming Qin:

■测试方法很简单:

timer start

 for() //整型数运算

timer stop

■测试的结果

 编译优化选项 选择速度优先,打开MMU,配置Cache

 使用VFP的话:1000次加法运算的时间是7.75us

 不使用VFP的话:1000次加法运算的时间是6.54us

这是使用Cache得到的数据,如果没使用的话,两者的差更大些。

■生成指令

我比较过 使用/不使用 VFP时生成的汇编代码,两者是完全相同的,而且都没用到vfp相关的指令。

同样的代码,除了VFP以外别的设置也都一样,为什么会出现这种现象呢?

Yaoming Qin:

回复 Ligang:

运行vfp和非vfp之间重启过板子么?你测了几次呢?

Ligang:

回复 Yaoming Qin:

每次测试都是重新插电的,两种设置分别测试了20次,虽有两者一样的情况,但大部分都是

使用VFP的 比 不使用VFP的慢。

Yaoming Qin:

回复 Ligang:

就目前来看,我觉得很难解释相关的情况,如果有条件,可以上仿真器,读读CP15中的cycle count的值,排除掉timer本身不准确的因素

赞(0)
未经允许不得转载:TI中文支持网 » AM3359的VFP无/有效,对整型数运算有影响?
分享到: 更多 (0)