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

ti8168 在DSP侧有没有专门针对读写的优化

你好,

       如题,

       我们的算法在VC下已经优化到最优了,耗时最大的部分是内存赋值。现在以一个大约指令数为50M的mempy算法加到swosd的程序中,执行时间要12ms,请问,8168的DSP有没有专用的内存赋值,可以加快读写指令周期?

Chris Meng:

你好,

在DSP上如果是memcpy,建议使用EDMA来搬移数据。

Ali wang:

回复 Chris Meng:

你好,

      首先谢谢您的回复!

      但是由于我们的算法需要memcpy的数据不能以大块数据的形式搬移,只能点对点的赋值,或者说非常小批量的memcpy,我看到8168是基于VLIW的架构,可以使用字访问短型数据。

      那么请问:是否可以在做memcpy时,利用超长指令字,将32个8位的数据同时读出来? 谢谢!

CVD:

回复 Ali wang:

这个和VLIW关系不大,主要由数据通路带宽决定。8168的DSP有两个D单元,每个单元一次最大可以进行8字节的读取,因此如果你要用DSP来搬运数据的话,最快速度就是一个周期搬运8个字节(一个D单元读,一个D单元写)。但是要注意要达到这个性能的话,你的源和目的地址都需要按8字节对齐,否则会出错。

另外一点是你的算法在VC下优化到最优,并不能说明在DSP下就无法优化了。事实上PC和DSP的处理器架构差别很大,因此在PC上的运行性能不能代表在DSP上的运行性能。

Ali wang:

回复 CVD:

谢谢,非常感谢您的认真回复,对我很有帮助,我再努力尝试!

CVD:

回复 Ali wang:

如果你确定需要使用DSP Core进行数据搬移,可以把你的详细需求告诉我,也许我可以帮你写一个函数。

Ali wang:

回复 CVD:

要不留个QQ吧,可以交流一下。qq:1043395298

CVD:

回复 Ali wang:

100264642

赞(0)
未经允许不得转载:TI中文支持网 » ti8168 在DSP侧有没有专门针对读写的优化
分享到: 更多 (0)