面向小容量指令缓存的软件优化技术
发布时间:2017-09-17 01:06
本文关键词:面向小容量指令缓存的软件优化技术
更多相关文章: 高速缓存 优化的缓存块着色算法 过程排序 缓存锁定 选择性不缓存
【摘要】:随着集成电路制造工艺的和计算机体系结构的不断进步,处理器与存储器之间速度的差距也越来越大,处理器读取指令的速度对处理器性能的发挥产生了极大的影响。因此如何提高处理器指令高速缓存的性能,从而提高处理器性能成为研究的焦点。尤其在低成本的嵌入式处理器中,为了降低成本,通常采用小容量的缓存,此时,指令缓存命中率对性能的影响尤为显著。 本文针对小容量缓存缺失的特点,从软件优化的角度,提出了几种指令高速缓存的优化方法。针对原始高速缓存软件优化计算方法复杂、适用性差的特点,提出基于统计分析方法的指令高速缓存的软件优化技术,采用gcov和gprof工具对代码静态分析,能大量减低优化过程中的计算复杂度,针对PH算法、缓存块着色算法没有将缓存大小、程序大小、缓存块大小考虑在内,在子函数大小接近或大于缓存大小时,优化效果不佳的特点,提出了优化的缓存块着色算法,在进行着色排序之前,先判断子函数的大小,将过大的子函数进行拆分。本文提出了“缓存锁定选择排序”公式,用于评估判断选择代码段是否锁定或不缓存,大大简化了选择锁定内容时的计算。实验表明,缓存的软件优化技术能使程序执行时间平均减少8%,缓存命中率平均提高23%,有明显的优化效果。
【关键词】:高速缓存 优化的缓存块着色算法 过程排序 缓存锁定 选择性不缓存
【学位授予单位】:浙江大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP311.5;TP333
【目录】:
- 致谢4-5
- 摘要5-6
- Abstract6-7
- 目录7-10
- 图目录10-11
- 表目录11-12
- 1 绪论12-19
- 1.1 课题背景12-14
- 1.1.1 高速缓存的意义12-13
- 1.1.2 高速缓存优化思路13-14
- 1.2 研究现状14-16
- 1.3 本文工作16-17
- 1.3.1 指令缓存优化技术的研究16-17
- 1.3.2 GCC编译器中gcov和gprof工具流程分析17
- 1.3.3 面向小容量缓存的优化技术实现17
- 1.4 论文结构17-19
- 2 高速缓存原理概述19-27
- 2.1 高速缓存的原理19-21
- 2.1.1 缓存命中20
- 2.1.2 缓存缺失20
- 2.1.3 缓存替换20-21
- 2.2 高速缓存的组织形式21-22
- 2.3 高速缓存的性能22-24
- 2.3.1 高速缓存的性能指标22
- 2.3.2 高速缓存容量对性能的影响22
- 2.3.3 高速缓存块大小对性能的影响22-23
- 2.3.4 相连度对性能的影响23
- 2.3.5 写策略对缓存性能的影响23-24
- 2.4 高速缓存的常用优化方法介绍24-26
- 2.4.1 局部性原理24-25
- 2.4.2 指令预取25-26
- 2.4.3 关键词优先26
- 2.4.4 路预测26
- 2.5 本章小结26-27
- 3 基于gcov和gprof的统计分析方法27-38
- 3.1 基于gcov的代码覆盖率与执行次数统计27-33
- 3.1.1 代码覆盖率基本概念27-28
- 3.1.2 gcov简介28
- 3.1.3 gcvo工作流程28-30
- 3.1.4 gcov工作原理30-32
- 3.1.5 gcvo优缺点分析32-33
- 3.2 基于gprof的代码调用信息统计33-37
- 3.2.1 gprof简介33-34
- 3.2.2 gprof工作原理34
- 3.2.3 gprof工作流程34-36
- 3.2.4 gprof优缺点分析36-37
- 3.3 本章小结37-38
- 4 指令高速缓存优化技术38-49
- 4.1 针对小容量缓存优化的过程排序38-44
- 4.1.1 PH算法中的过程排序38-39
- 4.1.2 缓存块着色算法39-42
- 4.1.3 针对小容量缓存的优化42-44
- 4.2 基于gcov信息的地址段静态锁定44-46
- 4.3 基于gcov信息的代码段选择性不缓存46-47
- 4.4 本章小结47-49
- 5 优化技术实现49-59
- 5.1 仿真平台49-51
- 5.1.1 CK803处理器49-50
- 5.1.2 缓存命中率统计工具50-51
- 5.2 仿真流程51-52
- 5.3 优化技术实现52-55
- 5.4 仿真结果分析55-57
- 5.5 本章小结57-59
- 6 总结与展望59-61
- 6.1 本文总结59-60
- 6.2 未来工作展望60-61
- 参考文献61-65
- 作者简历及在学习期间取得的科研成果65
【参考文献】
中国期刊全文数据库 前9条
1 邓宇;王蕾;张明;龚锐;郭御风;窦强;;一个基于图着色的CACHE优化方法[J];国防科技大学学报;2012年06期
2 杜贵然,罗金平,徐明,胡瀚涛,周兴铭;Trace Cache及Trace处理器技术[J];计算机工程与科学;2001年01期
3 刘扬;安虹;邓博斌;毛梦捷;刘玉;;程序局部性的量化分析[J];计算机工程;2013年01期
4 刘利,李文龙,郭振宇,李胜梅,汤志忠;避免模调度中cache代价的优化方法[J];软件学报;2005年10期
5 杨夏;;基于profile指导的代码放置[J];计算机工程与设计;2008年21期
6 曾辉;;最小化最坏执行时间的指令缓存锁定算法[J];武汉大学学报(理学版);2010年06期
7 田芳芳;樊晓桠;靖朝鹏;靳战鹏;;一种基于流水线的指令CACHE优化设计[J];微电子学与计算机;2006年01期
8 陈章龙;嵌入式处理器的Cache结构研究[J];小型微型计算机系统;2004年07期
9 林传文;顾乃杰;蔡嵩松;;Java虚拟机中的动态锁cache优化[J];中国科学技术大学学报;2013年04期
,本文编号:866351
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/866351.html