linux数据向量化指令,VLIW DSP编译器向量化优化技术及指令分簇算法研究

摘要:

现代数字信号处理器经常采用超长指令字体系结构.与通用处理器普遍采用的超标量体系结构相比,超长指令字将调度任务交由编译器完成,这对编译器的后端优化提出了挑战.BWDSP100是中国电子科技集团38研究所研发的一款数字信号处理器芯片,本文的工作是在BWDSP100上基于EDG C/C++编译器前端和开源编译器基础设施IMPACT实现BWCC C编译器,并对BWCC编译器进行性能优化.本文的主要工作有三部分:一是BWCC C编译器的设计与实现,即在EDG前端和IMPACT上做移植和功能扩展的工作.二是实现向量化优化和指令选择优化.三是针对BWDSP100的体系结构,提出基于代价模型的启发式指令分簇算法.基于EDG C/C++编译器前端和编译器基础设施IMPACT实现BWCC C编译器的工作涉及编译器后端机器描述,指令注释,寄存器分配,堆栈设计,生成汇编语言等方面的制定.在能够正确生成BWDSP100汇编代码的基础上,增加调试信息的生成和BWCC C编译器从linux环境到windows环境的移植.向量化优化则通过一些循环变换技术合成SIMD指令.指令选择优化主要指复数指令,求最大指令,乘累加指令等数字信号处理器特殊指令的合成.基于代价模型的启发式指令分簇算法同时考虑了非向量化指令和向量化指令的指令分簇问题.在建立数据流图的基础上,将指令执行对计算资源的开销,簇间传输的开销和寄存器使用的开销进行建模,做出指令分簇决策.最后实验表明,采用指令分簇和没有采用指令分簇相比,加速比约为2至3.

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值