中文摘要 | 第1-5页 |
ABSTRACT(英文摘要) | 第5-6页 |
目录 | 第6-10页 |
第一章 引言 | 第10-27页 |
1.1 关于EPIC | 第10-16页 |
1.1.1 EPIC的历史 | 第11-12页 |
1.1.2 IA-64:一种EPIC体系结构 | 第12-16页 |
1.1.3 其他的64位微处理器 | 第16页 |
1.2 关于软件流水 | 第16-23页 |
1.2.1 指令调度算法 | 第17-21页 |
1.2.2 寄存器分配 | 第21-23页 |
1.3 关于本文 | 第23-27页 |
1.3.1 研究与不研究什么 | 第23-24页 |
1.3.2 全文组织 | 第24-25页 |
1.3.3 本文的创新及主要贡献 | 第25-27页 |
第二章 循环展开与软件流水 | 第27-47页 |
2.1 概述 | 第27-29页 |
2.2 原理及比较 | 第29-34页 |
2.2.1 循环展开的原理 | 第29-30页 |
2.2.2 循环展开的优缺点 | 第30-31页 |
2.2.3 软件流水的原理 | 第31-32页 |
2.2.4 软件流水的优缺点 | 第32-33页 |
2.2.5 循环展开与软件流水的区别与联系 | 第33-34页 |
2.3 软件流水中的循环展开 | 第34-36页 |
2.3.1 资源利用率 | 第34-35页 |
2.3.2 相关性限制 | 第35页 |
2.3.3 代码量 | 第35-36页 |
2.3.4 算法描述 | 第36页 |
2.4 寄存器敏感的循环展开因子算法RSU | 第36-41页 |
2.4.1 寄存器需求分析 | 第36-38页 |
2.4.2 算法描述 | 第38-41页 |
2.5 实验结果与分析 | 第41-45页 |
2.5.1 实验环境 | 第41-43页 |
2.5.2 软件流水失败 | 第43-44页 |
2.5.3 RSU算法的性能评价 | 第44-45页 |
2.6 本章小结 | 第45-47页 |
第三章 软件流水的寄存器分配 | 第47-73页 |
3.1 概述 | 第47-49页 |
3.2 IA-64体系结构的寄存器组织 | 第49-52页 |
3.2.1 通用寄存器 | 第50-51页 |
3.2.2 浮点寄存器 | 第51页 |
3.2.3 条件位寄存器 | 第51页 |
3.2.4 应用寄存器和其他 | 第51-52页 |
3.3 循环变量的寄存器分配 | 第52-60页 |
3.3.1 变量生存期 | 第52-55页 |
3.3.2 寄存器需求的上下界 | 第55-56页 |
3.3.3 寄存器分配算法 | 第56-60页 |
3.4 软件流水的寄存器需求分析 | 第60-64页 |
3.4.1 通用寄存器 | 第60-62页 |
3.4.2 浮点寄存器 | 第62页 |
3.4.3 条件位寄存器 | 第62-64页 |
3.5 堆栈寄存器分配算法SRA | 第64-68页 |
3.5.1 alloc指令 | 第65-66页 |
3.5.2 通用寄存器分配模型 | 第66-67页 |
3.5.3 算法描述 | 第67-68页 |
3.6 实验结果与分析 | 第68-72页 |
3.6.1 实验环境 | 第68-69页 |
3.6.2 SRA算法的性能评价 | 第69-72页 |
3.7 本章小结 | 第72-73页 |
第四章 软件流水的开销模型和决策框架 | 第73-95页 |
4.1 概述 | 第73-74页 |
4.2 软件流水的开销模型 | 第74-83页 |
4.2.1 软件流水的性能评价 | 第75-77页 |
4.2.2 面向程序特性的软件流水开销模型 | 第77-78页 |
4.2.3 软件流水的开销分析 | 第78-83页 |
4.3 基于相关性分析的软件流水开销测试算法DBCT | 第83-85页 |
4.3.1 基本思想 | 第83-84页 |
4.3.2 算法描述 | 第84-85页 |
4.4 软件流水的决策框架 | 第85-87页 |
4.5 实验结果与分析 | 第87-93页 |
4.5.1 实验环境 | 第88-89页 |
4.5.2 软件流水的开销 | 第89-91页 |
4.5.3 DBCT算法的性能 | 第91-93页 |
4.6 本章小结 | 第93-95页 |
第五章 编译器原型ORC | 第95-115页 |
5.1 概述 | 第95-96页 |
5.2 ORC简介 | 第96-102页 |
5.2.1 ORC的历史回顾和版本演进 | 第97-99页 |
5.2.2 ORC的软件体系结构 | 第99-100页 |
5.2.3 ORC应用的编译优化技术 | 第100-102页 |
5.3 ORC的软件流水实现 | 第102-104页 |
5.4 ORC的性能评价 | 第104-111页 |
5.4.1 测试环境 | 第104-106页 |
5.4.2 目标程序的执行时间 | 第106-107页 |
5.4.3 编译时间 | 第107-108页 |
5.4.4 代码量 | 第108-110页 |
5.4.5 采样分析 | 第110-111页 |
5.5 对ORC的几点改进 | 第111-114页 |
5.5.1 增强的数据相关性分析 | 第111-112页 |
5.5.2 基于统计的软件流水决策 | 第112-113页 |
5.5.3 最小启动间距MII的维护 | 第113-114页 |
5.6 本章小结 | 第114-115页 |
结论 | 第115-117页 |
参考文献 | 第117-127页 |
致谢及声明 | 第127-128页 |
附录术语对照表 | 第128-131页 |
个人简历、在学期间的研究成果及发表的学术论文 | 第131-132页 |