打印

DSP一定要用现行汇编语言优化吗

[复制链接]
1859|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shanbo82728258|  楼主 | 2011-2-5 11:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前一阵子参加一个外企的面试,是关于DSP的优化的职位的,我一向是用C语言进行优化,内联函数、循环展开、数据打包处理、#pragm伪指令等,再配上优化选项,并没见效率低于线性汇编。那些外企的面试官一口咬定他们手持终端要完全用汇编语言写出一套视频压缩算法来——窃以为胡扯~
坛子的各位大侠,TI的DSP里8个处理单元,在面向复杂算法进行线性汇编排流水时,人工优化多大程度上能高于CCS的优化选项?

相关帖子

沙发
ZMing_PH| | 2011-2-5 12:46 | 只看该作者
新手,帮顶!

使用特权

评论回复
板凳
batsong| | 2011-2-5 17:54 | 只看该作者
汇编必须的。

因为用c编译器根本无法知道你的哪些处理可以并行执行,哪些必须顺序处理,编译器会优先保证执行结果正确,大部分都会被顺序执行

想要高效率必须手动把核心算法排出流水线,使8个处理单元可以最大限度的同时工作

使用特权

评论回复
地板
赵崇伟| | 2011-2-5 23:00 | 只看该作者
这个就是你自己不懂了,还是谦虚一点吧!
c优化无论如何都比不上汇编,另外视频压缩算法有很多位操作,用c语言效率是非常非常非常低的,比如最常用的位截取和组合,用c是肯定没戏的。
另外对于超长指令字的8个单元并行操作,c语言也是大大地不擅长滴。
如果再牵涉到指令调度问题(比如数据是否准备好,如何实现流水线最大吞吐量),会变也是必须的。

使用特权

评论回复
5
mmax| | 2011-2-6 01:28 | 只看该作者
DSP必须用汇编才能发挥效能,否则跟一般CPU没有区别。
比如流水线、循环卷积。

使用特权

评论回复
6
思行合一| | 2011-2-6 22:25 | 只看该作者
还是汇编强啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

1

粉丝