首页> 中文学位 >面向Android应用的分支预测器对比与分析
【6h】

面向Android应用的分支预测器对比与分析

代理获取

目录

声明

摘要

第一章 绪论

1.1 背景与意义

1.2 国内外研究现状

1.3 研究内容与目标

1.4 论文组织

第二章 分支预测的作用及原理

2.1 分支预测的作用

2.2 分支跳转方向的预测

2.2.1 GShare分支预测器

2.2.2 Bimode分支预测器

2.3 分支目标地址的预测

2.3.1 分支目标缓冲区

2.3.2 Target Cache

2.3.3 VPC的预测

2.4 本章小结

第三章 基于Trace的仿真和分支指令Trace流的提取

3.1 本文使用的Android测试集

3.2 基于Trace的仿真方法

3.2.1 全功能仿真与Trace仿真的时间对比

3.2.2 GShare的Trace仿真

3.2.3 Bimode的Trace仿真

3.2.4 BTB的Trace仿真

3.3 从Gem5中提取分支Trace流的方法

3.3.1 Gem5仿真器中的CPU模型

3.3.2 Gem5仿真器环境的搭建

3.3.3 Gem5中Android系统的启动

3.3.4 Gem5中Android应用的启动

3.3.5 Android应用分支Trace流提取

3.4 Android应用benchmark与传统benchmark的对比

3.5 本章小结

第四章 Android应用下的分支预测器对比与分析

4.1 GShare与Bimode预测准确率对比

4.2 不同微结构参数下的BTB预测准确率

4.3 本章小结

第五章 Android应用下的VPC预测

5.1 VPC预测机制的实现

5.1.1 VPC的预测过程

5.1.2 VPC的更新过程

5.2 VPC预测实验结果与分析

5.3 本章小结

第六章 总结与展望

6.1 总结

6.2 展望

致谢

参考文献

展开▼

摘要

超标量超深流水线技术被普遍应用到现代嵌入式处理器中。其中,分支指令的高效执行是充分发挥硬件潜能的前提,因此现代处理器普遍采用分支预测技术降低分支指令造成的性能损失。另一方面,随着Android设备的普及,Android应用也越来越丰富。Android应用与传统benchmark存在差异,在Android应用下对比不同分支预测器的预测准确率、探索微结构参数对预测准确率的影响,可以为面向Android平台的移动设备的处理器设计提供参考。
  本文详细分析了Gem5仿真器中的CPU模型,通过对CPU模型的修改,从Gem5仿真器中提取出Android应用分支Trace流并用于后续Trace仿真。本文在Android应用场景下分析了微结构参数对GShare和Bimode两种分支预测器的预测准确率的影响,并在多种微结构参数下对比了两者的预测准确率。论文还分析了微结构参数对BTB预测准确率的影响以及BTB预测错误的原因。针对BTB无法有效预测间接分支目标地址的问题,本文实现了VPC间接分支预测机制,并通过对比实验验证了该机制的有效性。
  实验结果表明在Android应用下,Bimode比GShare分支预测器在多种微结构参数下都有更高的预测准确率。对于GShare预测器,在PHT小于4K时增大PHT可以有效增加预测准确率;Bimode预测器在PHT小于6K时增大PHT可以有效提升预测准确率;在假设跳转方向预测完全正确的情况下,BTB在4K以下时能够通过增加表项有效提升预测准确率。BTB增大后,无法有效预测具有多个跳转目标的间接分支成为主要瓶颈。VPC预测机制在AsimBench下,与Bimode加BTB的预测方式相比,平均分支预测正确率从90.14%提升到92.16%,分支错误引起的开销下降20.5%。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号