摘要 | 第1-12页 |
ABSTRACT | 第12-13页 |
第一章 绪论 | 第13-20页 |
·引言 | 第13-14页 |
·国内外研究的现状 | 第14-18页 |
·踪迹调度 | 第14-15页 |
·渗透调度 | 第15-16页 |
·区域调度 | 第16页 |
·Bernstein 调度 | 第16-17页 |
·波沿调度 | 第17-18页 |
·选择调度 | 第18页 |
·论文的主要工作 | 第18-19页 |
·论文的组织结构 | 第19-20页 |
第二章 Matrix 编译器分析 | 第20-39页 |
·Matrix 体系结构 | 第20-23页 |
·Matrix 的内核结构 | 第20-22页 |
·Matrix 的内核中的寄存器资源 | 第22-23页 |
·指令执行包 | 第23页 |
·Matrix 编译器 | 第23-27页 |
·Matrix 编译器的架构 | 第23-26页 |
·Matrix 编译器优化 | 第26-27页 |
·Matrix 编译器的调度算法分析 | 第27-37页 |
·全局表调度算法的简介 | 第28-35页 |
·全局表调度算法的缺陷 | 第35-37页 |
·本章小结 | 第37-39页 |
第三章 Matrix 编译器选择调度的设计和改进 | 第39-62页 |
·选择调度算法相关介绍 | 第39-42页 |
·选择调度的特点 | 第42-44页 |
·选择调度算法的中间表示 | 第44-46页 |
·树表示形式 | 第44-45页 |
·顺序表示形式 | 第45-46页 |
·假数据依赖关系 | 第46-48页 |
·局部重命名和向前替换 | 第47-48页 |
·moveup()函数 | 第48页 |
·选择调度的描述 | 第48-56页 |
·av 集合的计算过程 | 第49-52页 |
·移动操作阶段 | 第52-55页 |
·与其它基于 DAG 方法的比较 | 第55-56页 |
·软件流水 | 第56-59页 |
·最内层循环的软件流水的过程 | 第56-58页 |
·嵌套循环的软件流水 | 第58-59页 |
·实验结果分析 | 第59-61页 |
·本章小结 | 第61-62页 |
第四章 Matrix 编译器 if 转换算法的设计与改进 | 第62-71页 |
·if 转换算法简介 | 第62-63页 |
·GCC 内部 if 转换的实现 | 第63-65页 |
·GCC 内部中端 if 转换的实现 | 第63-64页 |
·GCC 内部后端 if 转换的实现 | 第64-65页 |
·Matrix 编译器 if 转换算法的实现 | 第65-68页 |
·对后端模板的“*.md”文件的修改 | 第65-66页 |
·对寄存器分配方法的修改 | 第66-67页 |
·if 转换算法的改进 | 第67-68页 |
·实验结果与比较 | 第68-69页 |
·实验结果 | 第68-69页 |
·实验结果分析 | 第69页 |
·本章小结 | 第69-71页 |
第五章 分支延迟调度算法的设计与实现 | 第71-86页 |
·介绍 | 第71-72页 |
·具有分支延迟槽的几种体系结构 | 第72-73页 |
·Matrix 编译器中分支延迟调度的实现 | 第73-78页 |
·调度区域的选择 | 第73-74页 |
·表调度实现填充延迟槽 | 第74-77页 |
·现有算法的缺点 | 第77-78页 |
·Matrix 编译器中分支延迟调度的改进 | 第78-85页 |
·选择调度区域的改进 | 第78-79页 |
·调度算法的改进 | 第79-85页 |
·实验结果分析 | 第85页 |
·本章小结 | 第85-86页 |
第六章 总结与展望 | 第86-89页 |
·工作总结 | 第86-87页 |
·工作展望 | 第87-89页 |
致谢 | 第89-90页 |
参考文献 | 第90-94页 |
作者在学期间取得的学术成果 | 第94页 |