一种基于双模结构的分支预测器研究

一种基于双模结构的分支预测器研究

论文摘要

当今世界的主流计算机大多采用超标量、深度流水的技术,控制也越来越复杂,一条指令的预测失误很可能会导致几个甚至几十周期的处理器中断,从而降低处理器的性能。因此如何用尽量小的代价获得令人满意的预测成功率,成为计算机体系结构研究的一个重要领域。目前分支预测研究的重点是动态分支预测技术,采用学科交叉的观点,提出新的预测算法。算法的研究主要包括分支历史信息的处理,分支指令地址的映射,状态转换等。还要考虑硬件开销,实现的复杂性问题。本文基于近年来国内外分支预测方法的研究分析,提出了一种对动态两级自适应分支预测进行改进的新方法,即基于双模结构的双模预测器。程序中的很多指令是相关的,我们可以根据其它转移指令的结果来预测当前转移指令的结果,这种存在于转移指令之间的相关称为转移间相关。也可以根据局部转移历史(如转移指令自身以前的转移结果)来预测一条转移指令的结果,这种存在于单一指令的多个转移结果之间的相关称为转移内相关。双模预测器能同时根据指令转移间相关和转移内相关进行转移预测,从而获得更高的预测精度。在分析双模预测器结构的同时,本文还对其性能进行了测试。数据表明,与传统的静态分支预测方法相比,双模预测器的地址和方向命中率有了很大的提高。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 分支预测的基本原理
  • 1.2 近十年国外的一些研究成果
  • 1.3 分支预测技术的发展趋势
  • 1.4 课题研究的主要内容,来源和意义
  • 1.5 本论文的结构
  • 第二章 流水线处理器研究
  • 2.1 流水线基本概念
  • 2.2 流水线指令执行路径
  • 2.2.1 取指
  • 2.2.2 译码
  • 2.2.3 执行
  • 2.2.4 存储器访问
  • 2.2.5 写回
  • 2.3 流水线的相关问题
  • 2.3.1 流水线的结构相关
  • 2.3.2 流水线的数据相关
  • 2.3.3 流水线的控制相关
  • 2.4 小结
  • 第三章 动态分支预测技术分析
  • 3.1 引言
  • 3.2 典型的动态分支预测技术
  • 3.2.1 一位/两位动态分支预测机制
  • 3.2.2 Gshare/Gselect分支预测方式
  • 3.2.3 Agree预测方式
  • 3.2.4 Bi-Mode预测方式
  • 3.3 几种新的分支预测算法
  • 3.3.1 基于布尔公式的分支预测方式
  • 3.3.2 基于傅立叶变换(FAB)的分支预测算法
  • 3.3.3 基于人工神经元网络的条件分支预测算法
  • 3.4 小结
  • 第四章 基于双模结构的分支预测研究
  • 4.1 动态自适应分支预测
  • 4.1.1 动态两级自适应分支预测
  • 4.1.2 动态自适应两级预测算法结构的改进
  • 4.2 双模预测器
  • 4.3 预测器性能测试和数据分析
  • 4.3.1 Simplescalar简介
  • 4.3.2 Simplescalar中分支预测模块的结构
  • 4.3.3 测试程序
  • 4.3.4 实验过程和数据分析
  • 4.4 小结
  • 第五章 流水线中的双模预测器结构
  • 5.1 分支造成的性能损失
  • 5.2 PowerPC 620 动态分支预测实现
  • 5.3 双模预测器在流水线中的实现
  • 5.3.1 BTB的实现
  • 5.3.2 BTB项的分配
  • 5.3.3 分支预测硬件实现
  • 5.3.4 对预测的分支指令的处理
  • 5.3.5 分支预测失效的恢复
  • 5.4 小结
  • 第六章 结束语
  • 6.1 全文工作总结
  • 6.2 工作展望
  • 致谢
  • 参考文献
  • 作者在读期间的研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  

    一种基于双模结构的分支预测器研究
    下载Doc文档

    猜你喜欢