论文题目: 微处理器性能分析与优化
论文类型: 博士论文
论文专业: 计算机系统结构
作者: 张福新
导师: 胡伟武
关键词: 微处理器,工作负载分析,性能分析,微体系结构,性能模型,瓶颈分析
文献来源: 中国科学院研究生院(计算技术研究所)
发表年度: 2005
论文摘要: 面对日益复杂的设计和有限的设计时间,如何有效地进行性能分析和优化,是摆在每一个处理器设计者面前的问题。本文紧密结合一个高性能微处理器(龙芯2号[HZL05])的设计,从性能分析环境设计和性能分析方法着手,系统地研究了微处理器性能分析和优化问题,并根据性能分析结果提出了若干龙芯2号结构优化方法。性能分析环境的核心是目标处理器和工作负载的模型,这些模型的准确性、速度和灵活性是其关键指标。处理器的RTL模型是一种准确的模型,但是它的速度和灵活性不能满足性能分析的要求。本文提出了一种使用高级语言对硬件建模的方法,并使用它建立了龙芯2号的信号级模拟器ICT-godson。ICT-godson和RTL的逻辑行为相同,但速度可以比RTL仿真高一个数量级以上。ICT-godson部分解决了运行速度的问题,但由于它还是模拟了所有硬件信号和行为,其速度和灵活性依然受到比较大的限制。为此本文进一步建立了一种更高层的模拟器Sim-godson。Sim-godson是一个用C语言实现的龙芯2号处理器性能模型。执行驱动的组织方式、高效的数据结构和算法以及模块化实现保证了Sim-godson的速度和灵活性。Sim-godson每秒能够模拟约500K个处理器周期,和目前公开的最快的详细模拟器相当。Sim-godson支持大程序快速评估,能够在一个小时内准确地给出SPEC CPU2000程序的性能数据。Sim-godson同时支持用户级模拟和全系统模拟,既能满足不同场合的要求,还能方便地隔离操作系统和I/O对程序性能的影响。本文还为Sim-godson建立了一个完整的验证流程,它能够有效地控制模拟器的误差。为了充分满足不同设计阶段和设计目的的需求,性能分析环境应该由一组工具组成。除了ICT-godson和Sim-godson两种高级语言性能模型,本文建立的性能分析环境还包括RTL和FPGA仿真环境以及一些辅助的软件工具。RTL和FPGA主要用于验证高级语言模型,各种辅助工具可以用于工作负载的分析和优化。本文为ICT-godson和Sim-godson模拟器实现了多角度的数据收集。这种方法能够从各个侧面体现目标处理器的行为,帮助设计人员发现性能瓶颈。为了更深入地理解高性能微处理器的行为,本文进一步考察了一些瓶颈分析方法。这些方法能够用来系统地确定处理器内部各类瓶颈因素的重要程度以及它们之间的关系。最后,本文详细地讨论了龙芯2号性能分析和优化工作。我们展示了多角度的数据收集方法的实际应用,分析了龙芯2号的瓶颈,并讨论了基于性能分析的一些优化,包括Load猜测优化、存储系统优化等。本文还讨论了对SPEC CPU2000工作负载的分析,以及编译器和操作系统对性能的影响。实践证明,本文所建立的性能分析环境和分析方法能很好地满足实际高性能微处理器性能分析和优化的需求。
论文目录:
摘要
英文摘要
图目录
表目录
第一章 引言
1.1 处理器性能分析技术
1.1.1 工作负载表示和分析
1.1.2 性能模型设计技术
1.1.3 硅后优化技术
1.2 典型性能分析环境介绍
1.2.1 Alpha微处理器性能模拟
1.2.2 PowerPC微体系结构探索的环境
1.2.3 Simplescalar
1.2.4 SIMOS
1.2.5 Intel Pentium 4 性能分析和验证
1.2.6 其它性能分析环境/工具
1.3 研究背景
1.4 本文的贡献
1.5 论文的组织
第二章 龙芯2 号性能分析环境
2.1 ICT-godson模拟器
2.2 Sim-godson模拟器
2.3 RTL仿真环境
2.4 FPGA仿真环境
2.5 硅后优化工具
第三章 ICT-godson模拟器的设计与优化
3.1 硬件建模
3.1.1 C/C++对硬件建模的问题
3.1.2 System C建模言语
3.1.3 ICT-godson的建模方法
3.2 性能分析功能设计
3.2.1 数据收集
3.2.2 调试
3.2.3 可视化
3.2.4 批处理
3.3 设计加速
3.3.1 消除寄存器拷贝
3.3.2 主循环削减和代码分区
3.3.3 数据结构和算法替换
第四章 Sim-godson模拟器的设计和实现
4.1 基本设计
4.1.1 MIPS体系结构支持
4.1.2 龙芯2 号微体系结构实现
4.2 全系统模拟支持
4.2.1 SIMOS
4.2.2 Sim-godson和SIMOS的融合
4.3 快速评估支持
4.3.1 Simpoint实现和评估
4.3.2 SMARTS实现和评估
4.4 模拟器验证
4.4.1 验证流程
4.4.2 微基准程序
4.4.3 SPEC CPU2000
第五章 RTL和FPGA仿真环境
5.1 龙芯2 号RTL仿真环境
5.1.1 RTL与ICT-godson的交叉验证
5.1.2 RTL与Sim-godson的交叉验证
5.2 龙芯2 号FPGA仿真环境
5.2.1 FPGA用于性能分析的可行性研究
5.2.2 FPGA性能分析的用途
第六章 性能分析方法
6.1 参数敏感性分析
6.2 PB 设计
6.3 交互代价分析
6.4 各种方法的比较和评价
第七章 龙芯2 号性能分析和优化
7.1 处理器行为的测量和表示
7.1.1 事件计数统计
7.1.2 流水级吞吐率分析
7.1.3 按指令统计
7.1.4 数据分布统计
7.2 性能瓶颈分析
7.2.1 参数敏感性分析
7.2.2 交互代价分析
7.3 提出和评估优化方案
7.3.1 Load猜测
7.3.2 龙芯28访存优化
7.4 工作负载分析
7.4.1 相关研究
7.4.2 指令局部性和关键基本块
7.4.3 程序随时间变化的运行特性
7.5 编译器的影响
7.5.1 不同编译器和编译器选项的性能
7.5.2 机器相关优化
7.5.3 链接级优化
7.6 操作系统的影响
7.6.1 操作系统对SPEC CPU2000 的影响
7.6.2 TLB分析和优化
第八章 结束语
8.1 本文工作总结
8.2 下一步工作
参考文献
中文参考文献
致谢
作者简历
发布时间: 2006-12-26
相关论文
- [1].低功耗嵌入式微处理器的VLSI设计研究[D]. 李侠.复旦大学2004
- [2].高性能嵌入式RISC微处理器核设计研究[D]. 姚英彪.浙江大学2006
- [3].高可靠处理器体系结构研究[D]. 黄海林.中国科学院研究生院(计算技术研究所)2006