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

[复制链接]
 楼主| 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语言也是大大地不擅长滴。
如果再牵涉到指令调度问题(比如数据是否准备好,如何实现流水线最大吞吐量),会变也是必须的。
mmax 发表于 2011-2-6 01:28 | 显示全部楼层
DSP必须用汇编才能发挥效能,否则跟一般CPU没有区别。
比如流水线、循环卷积。
思行合一 发表于 2011-2-6 22:25 | 显示全部楼层
还是汇编强啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部