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

图像处理 取指耗时问题

烦请TI工程师、论坛大神解惑:

       在ccs5.4版本下,使用TI 6678芯片。程序相关配置如下:

1.单核core0处理,且代码都放在LL2

2.cache开辟情况如下:

       L1P为32K,LID为32K,L2为128K

3.编译器优化-o3

分别采用11×1模板、1×11模板处理640×512的图像,每个像素占2个bytes。(处理方式为求极大值)。

其中11×1模板编译整幅图像求极大值需耗时2.57ms左右,1×11模板遍历整幅图像求极大值需耗时0.98ms左右。

相应的源代码及汇编头文件见附录。

那么我的问题来了(= – =):

1.两种不同处理方式耗时的如此大差异的原因是因为11×1模块处理时取指次数太多造成的?

如果是,是因为DSP硬件结构、指令周期决定的?如果不是,又是什么原因?

2.如附录代码所示。这样操作像素点是否恰当?是否还有更好的方式?

3.如果在不更改算法的条件下,可有什么巧妙的方式规避这种耗时的操作?

4.参考了相关优化资料,这般使用内部函数、编译器指令使用是否恰当?

 

优化无止境啊,小白还烦请TI工程师、论坛大神指教一二,万分感激!

yue li2:

汇编头问价如附录所示

yue li2:

回复 yue li2:

我问错了地方么 ?

Shine:

回复 yue li2:

先看看这些优化文档。 http://www.ti.com/lit/an/sprabg7/sprabg7.pdf http://www.ti.com/lit/an/sprabf2/sprabf2.pdf http://processors.wiki.ti.com/index.php/TMS320C6000_DSP_Optimization_Workshop

或者把image拆分到多核并行执行。http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Image_Processing_Demo

yue li2:

回复 Shine:

谢谢Shine zhang的建议。

这些文档都看过了,按文档的要求在complier优化的时候做了很多改动,效果不明显。

因为整个算法比较繁杂,也只能做成多核。

还有一个疑问:

1.6678的做图像处理  取数时,横向取数为什么会比纵向取数少如此多的cycles?我也只知其然,不知其所以然。

赞(0)
未经允许不得转载:TI中文支持网 » 图像处理 取指耗时问题
分享到: 更多 (0)