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

OMAPL138浮点运算

TI的各位工程师及各位飘过的仁兄好:

       话说我用138中的6748内核做浮点运算,测得一次32位的浮点运算竟用了100多个clock,两百多微妙啊……甚是吃惊,坊间传闻6748一个clock内就能完成一次乘法运算,当然这指的应该是整型,但浮点也不应该如此之久!!!

       请问我是不是还需要进行些额外的配置,才能使CPU工作在最佳运算状态?现在进行的设置只有优化等级(2),floating point mode选择了strict,但实际上和relaxed相比没有看出太大差别!

       请各位工程师指点一二!小弟谢过则个~~

bin cao:

求回复啊~~~~~

用了intrinsics中的乘法指令才节省了几十个clock……感觉还是设置哪里有问题……

亟待解决!!!烦请牛人现身!

noaming:

回复 bin cao:

请问你测量指令运行周期的依据是什么?

bin cao:

回复 noaming:

我用了两种方法,一种是CCS内部Debug后使能了clock,另一种我在欲测那段代码首尾改变GPIO口电平,然后测电平变化时间!算了一次单精度乘法,IO口低电平的时间有190ns……

已经导入了C67xfastMath.lib,为什么么有效果?

谢谢~

 

noaming:

回复 bin cao:

测量一个浮点运算,你这个测量误差太大了。

好一点的方法是用c674x的simulator,然后使用ccs的profile功能。

我用PRO TRACE测了一下,单两个32位的浮点乘法运算,不排流水,10个cpu周期就完成了。

bin cao:

回复 noaming:

但是我用IO口的电平来反映一大段代码的运行时间按道理误差应该不大吧?

bin cao:

回复 noaming:

请问6748的Datasheet中描述的每个clock内可完成一次单精度浮点运算是怎样做到的呢?我们正是看中了它这一点才选择了这款片子……

noaming:

回复 bin cao:

一大段代码似乎还可以,但是就一个浮点乘法,误差就太大了。

noaming:

回复 bin cao:

这是需要排指令流水的,即将取指和执行交错等,使DSP发挥最优的处理能力,如果只有一条乘法,就没有所谓的流水概念了。

bin cao:

回复 noaming:

设置Trace Control 的时候提示该器件不支持!用您提到的方法测周期是要设置这个的吧?

赞(0)
未经允许不得转载:TI中文支持网 » OMAPL138浮点运算
分享到: 更多 (0)