摘要 | 第4-5页 |
Abstract | 第5-6页 |
图录 | 第10-12页 |
表录 | 第12-13页 |
第一章 绪论 | 第13-25页 |
1.1 课题研究背景 | 第13-15页 |
1.1.1 VLIW DSP 与 SIMD 扩展 | 第13-14页 |
1.1.2 基于 DSP 的 SIMD 自动向量化 | 第14-15页 |
1.2 研究现状 | 第15-19页 |
1.2.1 传统向量化方法 | 第15-16页 |
1.2.2 超字并行(SLP) | 第16-18页 |
1.2.3 模式匹配向量化方法 | 第18-19页 |
1.3 课题研究内容 | 第19-23页 |
1.3.1 课题研究内容 | 第19-20页 |
1.3.2 课题研究意义 | 第20-21页 |
1.3.3 课题研究平台 | 第21-23页 |
1.4 论文的组织结构 | 第23-25页 |
第二章 SIMD 编译优化及相关背景知识 | 第25-39页 |
2.1 对 DSP 程序向量化的影响因素 | 第25-29页 |
2.1.1 DSP 特有 SIMD 指令 | 第25-28页 |
2.1.2 向量化所面临的挑战 | 第28页 |
2.1.3 增加可向量化语句 | 第28-29页 |
2.2 不同向量长度的数据依赖关系分析 | 第29-32页 |
2.2.1 不考虑向量长度 | 第30-31页 |
2.2.2 考虑向量长度 | 第31-32页 |
2.3 对齐分析优化 | 第32-37页 |
2.3.1 循环对齐和循环剥离 | 第32-33页 |
2.3.2 循环偏移 | 第33-34页 |
2.3.3 数据重组 | 第34-37页 |
2.4 中间表示 | 第37-38页 |
2.5 本章小节 | 第38-39页 |
第三章 DSP 特有指令分析及其向量化优化方法 | 第39-51页 |
3.1 研究动机 | 第39页 |
3.2 对比相关工作 | 第39-40页 |
3.3 DSP 特有指令的自动向量化优化 | 第40-46页 |
3.3.1 非对齐访存的优化 | 第41-42页 |
3.3.2 循环不变量外提 | 第42-43页 |
3.3.3 冗余存取指令删除 | 第43-45页 |
3.3.4 公共子表达式优化 | 第45-46页 |
3.3.5 习语识别 | 第46页 |
3.4 算法描述 | 第46-49页 |
3.4.1 形式化表示 | 第46-48页 |
3.4.2 冗余优化算法 | 第48-49页 |
3.5 测试结果和分析 | 第49-50页 |
3.6 本章小节 | 第50-51页 |
第四章 基于循环分布和跨基本块冗余操作消除的 SLP 优化 | 第51-63页 |
4.1 研究动机 | 第51-53页 |
4.2 对比相关工作 | 第53-54页 |
4.3 算法与实现 | 第54-60页 |
4.3.1 实现流程 | 第54-55页 |
4.3.2 算法描述 | 第55-56页 |
4.3.3 实现框架 | 第56-60页 |
4.4 测试结果和分析 | 第60-62页 |
4.4.1 跨基本块变换优化测试 | 第60-61页 |
4.4.2 跨基本块变换和循环分布优化测试 | 第61-62页 |
4.5 本章小结 | 第62-63页 |
第五章 面向软件流水的自动向量化 | 第63-79页 |
5.1 研究动机 | 第63-65页 |
5.2 对比相关工作 | 第65-66页 |
5.3 算法与实现框架 | 第66-75页 |
5.3.1 编译框架 | 第66-67页 |
5.3.2 预分析和优化 | 第67-70页 |
5.3.3 软件流水向量化算法流程 | 第70-75页 |
5.4 测试结果和分析 | 第75-78页 |
5.4.1 循环展开优化测试 | 第76-77页 |
5.4.2 软件流水优化测试 | 第77-78页 |
5.5 本章小节 | 第78-79页 |
第六章 结论与展望 | 第79-81页 |
致谢 | 第81-82页 |
参考文献 | 第82-87页 |
作者简历 | 第87页 |