基于IA-64体系结构的软件流水优化的研究
中文摘要 | 第1-5页 |
英文摘要 | 第5-10页 |
第一章 引言 | 第10-23页 |
1.1 微处理器体系结构 | 第10-11页 |
1.1.1 RISC体系结构 | 第10页 |
1.1.2 VLIW体系结构 | 第10-11页 |
1.2 EPIC简介 | 第11-16页 |
1.2.1 EPIC的历史 | 第12-13页 |
1.2.2 IA-64体系结构 | 第13-16页 |
1.3 ORC简介 | 第16-21页 |
1.3.1 ORC的软件体系结构 | 第17-19页 |
1.3.2 ORC的软件流水实现 | 第19-21页 |
1.4 本文的工作和主要贡献: | 第21-23页 |
第二章 软件流水的展开优化 | 第23-42页 |
2.1 概述 | 第23-27页 |
2.1.1 循环展开 | 第23-25页 |
2.1.2 软件流水中的循环展开 | 第25-27页 |
2.2 展开因子的确定 | 第27-34页 |
2.2.1 影响展开因子的因素 | 第27-29页 |
2.2.2 ORC确定展开因子的算法 | 第29-30页 |
2.2.3 展开效果评价 | 第30-34页 |
2.3 展开因子优化 | 第34-37页 |
2.3.1 相关限制因素 | 第35-36页 |
2.3.2 循环结构因素 | 第36页 |
2.3.3 prefetch因素 | 第36-37页 |
2.3.3 展开的开销因素 | 第37页 |
2.4 实验结果与分析 | 第37-40页 |
2.5 本章小结 | 第40-42页 |
第三章 软件流水的综合性能优化 | 第42-65页 |
3.1 概述 | 第42页 |
3.2 循环调度策略的选择 | 第42-50页 |
3.2.1 软件流水的性能评价 | 第43-44页 |
3.2.2 软件流水的开销分析 | 第44-45页 |
3.2.3 调度策略的选择依据 | 第45-47页 |
3.2.4 实验结果与算法评价 | 第47-49页 |
3.2.5 小结 | 第49-50页 |
3.3 软件流水失败问题的解决 | 第50-54页 |
3.3.1 静态寄存器需求分析 | 第50-51页 |
3.3.2 基本思路和方法 | 第51-52页 |
3.3.3 实验结果与分析 | 第52-54页 |
3.3.4 小结 | 第54页 |
3.4 数据预取的优化 | 第54-62页 |
3.4.1 循环预取指令的合并 | 第55-57页 |
3.4.2 数据预取与循环展开 | 第57-60页 |
3.4.3 算法描述 | 第60页 |
3.4.4 实验结果与分析 | 第60-61页 |
3.4.5 小结 | 第61-62页 |
3.5 循环冗余拷贝的消除 | 第62-65页 |
第四章 带硬件支持的数据相关松弛法 | 第65-80页 |
4.1 简介 | 第65-69页 |
4.1.1 问题描述 | 第65-66页 |
4.1.2 相关工作 | 第66页 |
4.1.3 动机 | 第66-69页 |
4.2 方法概述 | 第69-71页 |
4.2.1 数据相关松弛 | 第70页 |
4.2.2 软件流水 | 第70-71页 |
4.2.3 错误修正 | 第71页 |
4.3 错误修正 | 第71-76页 |
4.3.1 下推变换 | 第71-72页 |
4.3.2 硬件实现 | 第72-75页 |
4.3.3 修正多个相关实例 | 第75页 |
4.3.4 编译信息 | 第75-76页 |
4.4 寄存器访问 | 第76-77页 |
4.5 实验结果与分析 | 第77-78页 |
4.6 本章小结 | 第78-80页 |
第五章 结论 | 第80-82页 |
5.1 本文总结 | 第80页 |
5.2 进一步工作 | 第80-82页 |
参考文献 | 第82-88页 |
致谢、声明 | 第88-89页 |
个人简历、在学期间的研究成果及发表的学术论文 | 第89页 |