魂芯DSP编译设计与优化
致谢 | 第9-10页 |
摘要 | 第10-11页 |
ABSTRACT | 第11-12页 |
第1章 绪论 | 第20-29页 |
1.1 引言 | 第20-24页 |
1.1.1 编译技术发展趋势 | 第20-23页 |
1.1.2 自主编译发展的迫切性 | 第23-24页 |
1.1.3 面向DSP开发编译系统的挑战 | 第24页 |
1.2 研究背景 | 第24-25页 |
1.2.1 课题来源 | 第24页 |
1.2.2 魂芯DSP体系结构 | 第24-25页 |
1.3 研究意义 | 第25-26页 |
1.4 研究目标及研究内容 | 第26-27页 |
1.5 论文章节安排 | 第27-29页 |
第2章 编译基础设施选型 | 第29-44页 |
2.1 开源编译基础设施现状 | 第29页 |
2.1.1 发展现状 | 第29页 |
2.1.2 选型考虑 | 第29页 |
2.2 Open64 | 第29-31页 |
2.2.1 概述 | 第29-30页 |
2.2.2 重定向机制 | 第30页 |
2.2.3 优化技术 | 第30-31页 |
2.3 GCC | 第31-33页 |
2.3.1 概述 | 第31-33页 |
2.3.2 重定向机制 | 第33页 |
2.3.3 优化技术 | 第33页 |
2.4 LLVM | 第33-36页 |
2.4.1 概述 | 第33-34页 |
2.4.2 重定向技术 | 第34-35页 |
2.4.3 优化技术 | 第35-36页 |
2.5 魂芯DSP编译系统选型 | 第36页 |
2.6 魂芯DSP编译系统基本问题 | 第36-42页 |
2.6.1 字编址模式支持 | 第36-37页 |
2.6.2 重定向 | 第37-38页 |
2.6.3 C标准库函数IO重定向支持 | 第38-40页 |
2.6.4 正确性测试集 | 第40-41页 |
2.6.5 体系结构优化 | 第41页 |
2.6.6 性能测试集 | 第41-42页 |
2.7 开源编译设施开发编译器的注意点 | 第42-43页 |
2.8 本章小结 | 第43-44页 |
第3章 基于数据分布优化的分簇算法 | 第44-56页 |
3.1 引言 | 第44页 |
3.2 研究现状 | 第44-46页 |
3.2.1 数据分布优化研究现状 | 第44-45页 |
3.2.2 分簇算法研究现状 | 第45-46页 |
3.3 分块内存数据分布优化 | 第46-51页 |
3.3.1 编译制导指示的数据分布优化 | 第46-47页 |
3.3.2 数据自动分布优化 | 第47-48页 |
3.3.3 数据自动分布优化与向量化 | 第48-50页 |
3.3.4 数据分布优化分析实例分析 | 第50-51页 |
3.4 分簇算法启发因子 | 第51-52页 |
3.5 分簇算法 | 第52-54页 |
3.6 实验结果及分析 | 第54-55页 |
3.7 本章小结 | 第55-56页 |
第4章 面向向量化体系结构的软件流水优化 | 第56-86页 |
4.1 引言 | 第56页 |
4.2 研究现状 | 第56-59页 |
4.2.1 向量化研究现状 | 第56-57页 |
4.2.2 软件流水研究现状 | 第57-59页 |
4.3 向量化框架实现 | 第59-68页 |
4.3.1 基于依赖分析的循环向量化技术的改进 | 第59-62页 |
4.3.2 超字级并行向量化技术的实现 | 第62-65页 |
4.3.3 向量指令的后端表示形式 | 第65-66页 |
4.3.4 向量寄存器分配 | 第66-68页 |
4.4 模调度实现框架 | 第68-81页 |
4.4.1 框架介绍 | 第68-70页 |
4.4.2 零开销循环的识别和转换 | 第70-74页 |
4.4.3 分簇结构机器资源的描述 | 第74-76页 |
4.4.4 循环展开 | 第76-79页 |
4.4.5 模变量扩展 | 第79-80页 |
4.4.6 代码生成与寄存器分配方法 | 第80-81页 |
4.5 实验结果及分析 | 第81-85页 |
4.6 本章小结 | 第85-86页 |
第5章 分簇结构谓词编译支持框架 | 第86-103页 |
5.1 引言 | 第86页 |
5.2 相关工作 | 第86-87页 |
5.3 魂芯DSP的谓词机制 | 第87-89页 |
5.4 谓词形式 | 第89-96页 |
5.4.1 一般谓词框架 | 第89-93页 |
5.4.2 魂芯DSP谓词支持方法 | 第93-96页 |
5.5 谓词支持框架 | 第96-99页 |
5.5.1 两种谓词优化的选择 | 第96页 |
5.5.2 基于循环展开的CPred谓词支持框架 | 第96-99页 |
5.6 实验结果及分析 | 第99-101页 |
5.7 结论 | 第101-103页 |
第6章 FFT算法优化 | 第103-119页 |
6.1 引言 | 第103页 |
6.2 高效指令内建函数支持 | 第103-107页 |
6.2.1 普通向量指令 | 第103-104页 |
6.2.2 复数向量指令 | 第104-106页 |
6.2.3 位反序指令 | 第106-107页 |
6.3 FFT优化 | 第107-118页 |
6.3.1 汇编优化思路 | 第107-108页 |
6.3.2 相关工作 | 第108页 |
6.3.3 部分逆序 | 第108-109页 |
6.3.4 部分逆序的非原位算法实现方法 | 第109-110页 |
6.3.5 部分逆序的原位实现方法 | 第110-114页 |
6.3.6 FFT优化算法框架 | 第114-116页 |
6.3.7 高效FFT算法分析 | 第116-117页 |
6.3.8 重构C语言FFT算法 | 第117页 |
6.3.9 测试结果 | 第117-118页 |
6.4 本章小结 | 第118-119页 |
第7章 总结与展望 | 第119-122页 |
7.1 全文总结 | 第119-120页 |
7.2 未来研究展望 | 第120-122页 |
参考文献 | 第122-132页 |
攻读博士学位期间发表的论文和参加的科研项目 | 第132-133页 |