龙芯嵌入式系统的性能分析与优化研究

龙芯嵌入式系统的性能分析与优化研究

论文摘要

性能分析与优化一直是计算机研究中的热点。程序中执行时间最长的通常就是很小部分的热点函数和热点指令。性能分析与优化的目的就是要发现程序热点,分析瓶颈原因,选择合适的优化方法使之执行更快。随着嵌入式系统越来越复杂,性能分析也变得越来越困难。为了提高性能分析效率,人们设计了一系列的辅助工具。目前各种分析工具都有自身的适用范围,如果要进行系统分析就需要几种工具综合使用,从而对整个系统有个全面正确的分析。本文主要讨论龙芯嵌入式系统的性能分析与优化。首先,我们对当前普遍使用的性能分析方法作了深入的研究,比较了各种方法的优缺点。然后在龙芯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 Gprof
  • 2.3 龙芯2 号模拟器
  • 2.4 SeeProgram2008
  • 2.5 My-Analysis
  • 2.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 嵌入式测试程序EEMBC
  • 4.4 性能优化与分析
  • 4.4.1 测试环境
  • 4.4.2 人工优化
  • 4.4.3 实验结果分析
  • 4.4.4 进一步优化研究
  • 4.5 本章小结
  • 结论
  • 参考文献
  • 攻读硕士学位期间取得的学术成果
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    龙芯嵌入式系统的性能分析与优化研究
    下载Doc文档

    猜你喜欢