首页> 中文学位 >基于超长指令字的全局无环指令调度和复数乘法优化设计
【6h】

基于超长指令字的全局无环指令调度和复数乘法优化设计

代理获取

目录

声明

摘要

第1章 绪论

1.1 项目研究背景

1.2 当前研究成果

1.3 著名全局指令算法

1.3.1 Trace Scheduling算法

1.3.2 Global scheduling算法

1.4 研究内容

1.5 论文组织

第2章 BWDSP100体系结构及其编译系统

2.1 BWDSP100处理器

2.1.1 组织结构图

2.1.2 BWDSP100流水线

2.2 eC104执行宏

2.2.1 算数逻辑单元(ALU)

2.2.2 乘法器(MUL)

2.2.3 移位器

2.3 寄存器与地址产生器

2.3.1 存储器数据总线操作

2.3.2 地址产生器

2.4 指令系统

2.4.1 指令结构与特点

2.5 编程资源约束

2.6 BWDSP100编译系统

2.6.1 Openimpact前端

2.6.2 Openimpact后端

2.7 BWCC代码生成模块

2.7.1 指令注释

2.7.2 指令分簇

2.7.3 寄存器分配

2.7.4 指令调度

2.7.5 汇编输出

2.8 本章小结

第3章 基于VLIW全局指令调度算法

3.1 引言

3.2 前遍顺序调度模块

3.2.1 前遍顺序调度算法思想

3.2.2 顺序调度算法流程

3.3 分支结构调度模块

3.3.1 分支结构调度算法思想

3.3.2 分支调度算法流程

3.4 后遍顺序调度模块

3.5 调整模块

3.5.1 调整模块算法思想

3.5.2 调整模块算法流程

3.6 实验分析

3.7 本章小结

第4章 复数乘法优化设计

4.1 引言

4.2 指令移动模块

4.3 指令识别模块

4.3.1 指令识别算法

4.3.2 寄存器约束检测算法

4.4 指令替换模块

4.5 实验分析

4.6 本章小结

第5章 总结

5.1 本文的主要工作

5.2 本文的贡献

5.3 未来工作的展望

参考文献

附录1 图片索引

附录2 表格索引

致谢

读研期间发表的学术论文与取得的其他研究成果

展开▼

摘要

BWDSP100是一款采用了超长指令字体系结构(VLIW)以及单指令多数据流(SIMD)技术相结合的32bit浮点数字信号处理器(DSP)。它是由中国电子科技集团某研究所自主设计、自主研发,拥有完全自主知识产权。它是主要运用在图像处理、精确制导等高性能计算领域的高端DSP。由于采用VLIW和SIMD相结合技术,因此并行计算能力非常强大,可以满足实时高速信号处理的应用要求。
   我们在编译基础设施Openimpact的基础上开发BWDSP100的C语言编译器。编译器把源程序处理成由控制块组成的控制流图。Openimpact编译器的调度器分别调度每个控制块,但是没有跨越控制块的边界调度指令。控制块通常体积很小,也就是块中的指令数目比较少,这样潜在的指令级并行度(ILP)很小。然而BWDSP100处理器所包含的资源是很丰富的。指令调度只有跨越控制块的边界才能够充分发挥处理器多资源的特点,才能充分挖掘出程序中固有的并行性。本文提出了基于超长指令字的全局无环指令调度算法,采用顺序调度和基于编译制导的分支调度相结合的方法改进Openimpact原有的局部指令调度算法。基本思想就是保持原有的数据相关和控制相关的前提下,在循环体的多个控制块间移动指令,合并控制块,扩大那些执行频率比较高的控制块体积来减少整体的执行时钟周期。实验结果显示,该算法可以有效的减少不同点数下的fft_radix2、fft_radix4和fir_real以及fir_cplx程序的执行时钟周期。
   图像处理中经常要做快速傅里叶变换(fft)运算,而fft运算包含了大量的浮点复数乘法运算。fft程序的执行时间很大程度上取决于复数乘法运算的执行时间。本文提出了基于编译制导的复数乘法优化模块,该模块由指令移动,指令识别,指令替换三个子模块构成。通过传递编译制导命令,使得Openimpact在控制块中移动相关指令,并运用识别算法,识别出与复数乘法运算相关的所有指令,最后替换其中所有的乘法指令为单条复数乘法指令。实验结果证明,该优化模块有效地缩短不同点数下的fft_radix2和fft_radix4程序的执行周期。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号