论文摘要
性能分析与优化一直是计算机研究中的热点。程序中执行时间最长的通常就是很小部分的热点函数和热点指令。性能分析与优化的目的就是要发现程序热点,分析瓶颈原因,选择合适的优化方法使之执行更快。随着嵌入式系统越来越复杂,性能分析也变得越来越困难。为了提高性能分析效率,人们设计了一系列的辅助工具。目前各种分析工具都有自身的适用范围,如果要进行系统分析就需要几种工具综合使用,从而对整个系统有个全面正确的分析。本文主要讨论龙芯嵌入式系统的性能分析与优化。首先,我们对当前普遍使用的性能分析方法作了深入的研究,比较了各种方法的优缺点。然后在龙芯Linux平台下设计实现了针对汇编程序和模拟器Trace记录的指令分析器My-Analysis,整合了网络上的一些开源资源,实现了一款利用gprofile统计信息绘出程序调用关系图的脚本程序SeeProgram2008。针对龙芯平台上的全系统的性能分析工具oprofile存在使用烦琐低效率的问题,开发出E-oprofile工具,方便用户使用,解决了大型测试程序的多事件自动连续采样问题。借助oprofile工具、sim-godson模拟器和My-Analysis等分析工具,以EEMBC嵌入式基准测试程序组作为目标工作负载,来详细地分析了龙芯处理器的IPC、Cache不命中、分支误预测率等与性能相关的事件,并根据具体程序特点提出相应的优化方法。最后,通过对EEMBC电信类典型应用自相关程序进行了分析优化,提出了一种四阶段人工优化软件流水方法(FPMO),实验结果表明FPMO方法以2.04%的代码增量为代价换来了40.678%的性能提升,而单纯的编译器自动优化则以33.35%的体积膨胀换来38.33%的性能提高。FPMO方法解决了在嵌入式系统硬件资源受限时的程序优化问题。
论文目录
摘要Abstract第一章 前言1.1 课题的提出、目的及意义1.2 国内外研究现状1.2.1 性能分析方法研究1.2.2 微处理器的性能模型研究1.2.3 性能分析工具研究1.2.4 性能测试的工作负载研究1.2.5 软件优化研究1.3 研究内容与思路1.4 论文的组织结构第二章 性能分析工具2.1 Oprofile 性能分析工具2.1.1 工作原理2.1.2 组成部分2.1.3 对oprofile工具的改进2.2 Gprof2.3 龙芯2 号模拟器2.4 SeeProgram20082.5 My-Analysis2.6 本章小结第三章 EEMBC程序行为和性能分析3.1 办公自动化(OfficeAutomation)测试程序3.1.1 OA类程序测试目的和算法特点3.1.2 Oprofile采样结果分析3.1.3 OA类程序的指令分布3.1.4 OA类程序的热点函数与热点指令分析3.1.5 OA类测试程序分析小结3.2 电信类(Telecom)测试程序3.2.1 电信类程序测试目的和算法特点3.2.2 Oprofile采样结果分析3.2.3 电信类测试程序的指令比例分布3.2.4 电信类程序的热点函数与热点指令分析3.2.5 电信类测试程序小结3.3 网络类(Network)测试程序3.3.1 网络类程序测试目的和算法特点3.3.2 Oprofile采样结果分析3.3.3 网络类测试程序的指令比例分布3.3.4 网络类程序的热点函数与热点指令分析3.3.5 网络类测试程序小结3.4 本章小结第四章 FPMO性能分析优化方法研究与应用4.1 相关工作4.2 四阶段的人工优化软件流水方法4.3 试验平台4.3.1 测试环境4.3.2 嵌入式测试程序EEMBC4.4 性能优化与分析4.4.1 测试环境4.4.2 人工优化4.4.3 实验结果分析4.4.4 进一步优化研究4.5 本章小结结论参考文献攻读硕士学位期间取得的学术成果致谢
相关论文文献
标签:代码优化论文; 软件流水论文; 模拟器论文; 性能分析论文; 四阶段人工优化论文;