摘要 | 第3-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第12-19页 |
1.1 课题研究背景及其现状 | 第12-17页 |
1.1.1 编译器开发研究背景及其现状 | 第12-14页 |
1.1.2 多核并行编程模型研究背景以及其现状 | 第14-17页 |
1.2 课题研究目标及其主要内容 | 第17页 |
1.3 论文结构 | 第17-19页 |
第二章 MAD体系架构介绍 | 第19-26页 |
2.1 多核系统体系架构介绍 | 第19-20页 |
2.1.1 内存组织 | 第19-20页 |
2.1.2 核间通信 | 第20页 |
2.2 单核系统体系架构介绍 | 第20-25页 |
2.2.1 数据类型和对齐方式 | 第21页 |
2.2.2 寄存器介绍 | 第21-23页 |
2.2.3 指令集介绍 | 第23-25页 |
2.3 本章小结 | 第25-26页 |
第三章 LLVM编译器系统及后端移植机制介绍 | 第26-45页 |
3.1 LLVM与GCC编译器系统比较 | 第26-27页 |
3.2 LLVM编译器系统结构组成 | 第27-29页 |
3.3 LLVM可重定向机制的支持 | 第29-32页 |
3.3.1 代码生成器 | 第29-30页 |
3.3.2 后端移植接口支持 | 第30-31页 |
3.3.3 TableGen | 第31-32页 |
3.3.4 工具集 | 第32页 |
3.4 LLVM后端移植原理 | 第32-36页 |
3.4.1 后端代码生成流程 | 第32-34页 |
3.4.2 数据结构及其相关操作接口 | 第34-36页 |
3.5 LLVM后端移植主要功能模块的实现方法 | 第36-44页 |
3.5.1 目标机器结构描述 | 第36-37页 |
3.5.2 寄存器描述 | 第37-39页 |
3.5.3 指令集描述 | 第39-41页 |
3.5.4 指令选择 | 第41-43页 |
3.5.5 帧栈描述 | 第43-44页 |
3.5.6 汇编打印器 | 第44页 |
3.6 本章小结 | 第44-45页 |
第四章 多核DSP编译器后端实现 | 第45-59页 |
4.1 MAD编译器后端的添加 | 第45-46页 |
4.1.1 复制现有后端 | 第45页 |
4.1.2 修改MAD后端文件内容 | 第45页 |
4.1.3 修改配置文件 | 第45-46页 |
4.2 MAD编译器后端全局描述 | 第46-47页 |
4.3 MAD寄存器描述 | 第47-49页 |
4.3.1 MAD寄存器td描述 | 第47-48页 |
4.3.2 MAD寄存器C++描述 | 第48-49页 |
4.4 MAD指令描述 | 第49-53页 |
4.4.1 MAD指令集td描述 | 第49-52页 |
4.4.2 MAD指令集C++描述 | 第52-53页 |
4.5 MAD指令选择实现 | 第53-55页 |
4.5.1 指令合法化 | 第53-55页 |
4.5.2 指令匹配 | 第55页 |
4.6 MAD帧栈描述 | 第55-56页 |
4.7 VLIW功能实现 | 第56-57页 |
4.8 MAD汇编打印实现 | 第57-58页 |
4.9 本章小结 | 第58-59页 |
第五章 并行编程模型的实现 | 第59-64页 |
5.1 任务调度 | 第59页 |
5.2 核间通信方法 | 第59-60页 |
5.2.1 消息传递方式 | 第59-60页 |
5.2.2 共享内存方式 | 第60页 |
5.3 同步操作 | 第60-61页 |
5.4 锁操作 | 第61-63页 |
5.4.1 自旋锁 | 第62页 |
5.4.2 排队自旋锁 | 第62-63页 |
5.5 本章小结 | 第63-64页 |
第六章 编译器及并行编程模型测试 | 第64-71页 |
6.1 编译器功能测试 | 第64-65页 |
6.2 并行编程模型性能测试 | 第65-66页 |
6.3 基于DSP平台的 300bps语音编解码算法的实现 | 第66-69页 |
6.4 本章小结 | 第69-71页 |
第七章 工作总结及其展望 | 第71-73页 |
7.1 工作总结 | 第71-72页 |
7.2 工作展望 | 第72-73页 |
参考文献 | 第73-75页 |
致谢 | 第75-76页 |
攻读硕士学位期间已发表或录用的论文 | 第76-78页 |