当前位置: 首页 > 专利查询>浙江大学专利>正文

记录式分支预测器的硬件实现方法技术

技术编号:3970775 阅读:212 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种记录式分支预测器的硬件实现方法。记录式分支预测器是一个记录式结构在两级模式分支预测器上的运用,该记录式结构记录分支预测的一些信息,并且在将来的预测过程中,这些信息按一定的规则被使用,使记录式分支预测器能够比原来预测器取得更好的性能。记录式分支预测器的理论依据是同一分支访问相同的PHT项能够比访问其他分支修改过的PHT项取得更好的预测准确率,记录式分支预测器的更新原则和原来预测器的更新原则相同。记录式结构是对分支预测过程中对GHR进行维护和使用的一个硬件结构,能够被运用在两级模式分支预测器和其他使用GHR的分支预测器中。本发明专利技术能够有效消除原来预测器中分支历史噪音和多路存取的问题。

【技术实现步骤摘要】

本专利技术涉及分支预测技术,尤其涉及一种。
技术介绍
分支指令是程序中频繁出现的指令,C语言中平均每9条指令就会出现一条分支 指令,分支指令带来了程序行为的多样性,在单发射顺序执行处理器中,分支指令不影响程 序性能。但是在具有流水的处理器中,分支指令导致流水级中需要插入气泡(Bubble),影响 处理器性能。因此分支预测应运而生,分支预测指的是在计算出分支跳转结果之前,预测分 支的跳转方向,提前执行预测结果处的指令,如果分支结果和预测结果相同,那么提前执行 的指令为有效指令,否则回滚提前执行的指令。 随着处理器技术的发展,分支预测技术对处理器性能具有非常大的影响,准确的 分支预测和高效的错误预测结果回滚能够使处理器性能更加强劲。Intel奔腾4处理器为 了能够达到更高的频率,采用了非常深的流水结构,使得流水级的每一步能够在更短的时 间内完成。但是这样设计使分支预测付出了更大的代价,由于深度的流水,当预测器错误预 测分支结果时,处理器需要回滚更多周期的错误结果,导致处理器性能低下,被人诟病。下 面几个部分将详细叙述分支预测技术的发展、先进的分支预测器以及多核时代下分支预测 面临的挑战。在指令级流水处理器发展的初始阶段,分支点之后的指令需要等到计算出分支条 件以后才能够进入流水,刚进入分支指令到计算出分支结果的时间间隔内,指令流水级中 插入气泡(Bubble),这样的方式造成了处理器资源的浪费。于是提出了一种最简单的分支 预测方法,就是当处理器在执行过程中遇到分支指令,则总认为分支指令是跳转的(Taken) 或者不跳转的(Not Taken)。这样分支点之后的指令就可以提前进入流水,等到计算出分支 的结果以后判断预测是否正确。这种方式对没有固定跳转模式的程序,预测的准确率相对 较高。静态分支预测在程序运行阶段缺乏灵活性,使得预测性能底下,于是人们就提出 了动态预测的方法。首先是一位计数器动态预测器,它记录分支指令的执行结果,以0和 1分别表示分支的不跳转和跳转,当下次再次执行到这些分支指令的时候,就可以根据预测 位来预测分支。如果是0则预测不跳转,如果是1则预测跳转。每次分支在得到实际跳转 结果以后更新预测位。和一位预测器原理相同,后来又提出了多位计数器预测器,用来记录该分支以前 的跳转情况。如果当前预测位的值大于等于预测位最大值的一半,那么预测该分支跳转,否 则就预测该分支不跳转。如果实际结果是分支跳转,那么预测位的值更新为原来的值加1, 否则减1。多位预测器能够比一位预测器取得更好的性能,因为多位预测器能够容忍分支跳 转的波动。但实验结果表名,二位计数器的预测器最适合动态分支预测,它存储空间较小而 且状态转换更快。在二位预测器中,0、1表示分支不跳转,2、3表示分支跳转。在程序的执行过程中,当前分支的跳转与否又与该分支之前的分支跳转结果有关,所以又通过一个全局历史寄存器(GHR,Global History Register)记录了当前分支之前的k条分支跳转结果,然后用GHR去索引和更新模式历史表(PHT,Pattern History Table), PHT是由二位计数器组成的一个表。这种结构也是以后GshanGselect等预测器 的基础结构。而后发现由于只有一个独立的PHT,不同地址的分支共同读取和更新PHT,导致 了严重的相互干扰,于是为了取得更高的预测效率,预测器又为不同的地址设立了不同的 PHT,一方面由PC的地址去决定索引哪个PHT,另外一方面又由GHR去索引PHT里面的内容。 这样的预测器被叫做全局分支预测器,因为不同地址的分支虽然分离的PHT,但还是共同使 用一个GHR。所以继而又提出了局部分支预测器,也就是说不同地址的分支分别维护各自的 GHR。预测过程中,首先由PC索引决定使用哪个PHT和GHR,然后再由该GHR去索引PHT的 内容作为预测。更新的过程中则只更新相应的PHT和GHR。根据GHR和PHT进行分支预测的分支预测器被称为两级模式分支预测器,这类预 测器存在三个方面的性能缺陷。首先是分支别名,分支别名指的是在分支预测的过程中,存 在PHT表项的冲突问题。即不同的分支访问相同的表项,这使得PHT的某些表项经常未被 使用,而某些表项被不同地址的分支同时使用。其次是分支历史信息干扰,它是由历史分支 与当前分支的无关性引起的,具有干扰作用的分支历史信息也被称作“噪音”,即那些分支 的结果对当前分支的结果不相关。最后是多路存取,即相同分支在预测时使用了不同的GHR 值,这导致同一分支需要访问和修改PHT中的多各项,有些时候访问多各项是必要的,而很 多时候访问多个项是由于“噪音”引起的,这将降低分支预测的效率。
技术实现思路
为了能够减少分支噪音带来的多路存取对分支预测的性能影响,避免在分支预测 过程中通过访问其他分支修改的PHT进行预测的冒险行为,提高分支预测效率,进而改进 处理器性能,本专利技术的目的在于提供一种。本专利技术解决技术问题所采用的技术方案是1)记录式分支预测器的工作过程记录式分支预测器是记录式结构在分支预测器上的运用,记录式结构具有GHR、 GHR组、PC记录、多路选择器和两个比较器;在预测时,分支的PC值和PC记录中的PC值比 较,把相关的GHR存入GHR组中,再比较当前GHR较低几位与GHR组中的值,最后决定用于 预测的GHR值,然后使用该GHR索引PHT,预测分支结果,记录式分支预测器对PHT的更新保 持原来分支预测器的更新方法;2) PC记录和GHR维护记录式分支预测器中GHR较长,其维护过程如下当得到分支结果时GHR左移,新 得到的分支结果存入GHR的最低位,PC记录是修改GHR对应位的PC值的记录,GHR左移,那 么PC记录也会左移,PC记录中的项始终与GHR中的位相对应;3) GHR组和多路选择决定由于预测的GHR GHR组用于存放临时的GHR值,通过第一比较器,将当前PC与PC记录比较以后,可 能得到多个相等的值,那么GHR组中就有多个项来存放当前PC和PC记录比较后得到的相等的值,而这些相等的值的最终使用由第二比较器控制多路选择器进行选择;4)保持原来分支预测器的更新方法记录式分支预测器在预测过程中具有和原来分支预测器不同的GHR使用方法,但是在对PHT的更新过程中,和原来分支预测器使用相同的GHR值,这个GHR值是记录式结构 中较长GHR值的较低几位。所述的预测时的三条原则1)如果某分支将要使用一个从来没有对该分支预测过的GHR值进行预测,那么采 用该分支上一次使用的GHR值进行预测,即使用上一次修改的PHT项进行预测;2)如果某分支将要使用的GHR值在该分支之前的预测中被使用过,那么使用该 GHR进行分支预测;3)如果一个分支从来没有被预测过,那么使用默认GHR进行预测。本专利技术具有的有益效果是记录式分支预测器能够有效消除原来预测器中分支历史噪音和多路存取的问题。 附图说明图1是记录式分支预测器在Gshare上的运用实例。图2是一个改进预测器预测准确率的例子。具体实施例方式下面结合附图和实施例对本专利技术作进一步的说明。1)记录式分支预测器的工作过程记录式分支预测器是记录式结构在分支预测器上的运用,如图1所示,记录式结 构具有GHR、GHR组、PC本文档来自技高网
...

【技术保护点】
一种记录式分支预测器的硬件实现方法,其特征在于:1)记录式分支预测器的工作过程:记录式分支预测器是记录式结构在分支预测器上的运用,记录式结构具有GHR、GHR组、PC记录、多路选择器和两个比较器;在预测时,分支的PC值和PC记录中的PC值比较,把相关的GHR存入GHR组中,再比较当前GHR较低几位与GHR组中的值,最后决定用于预测的GHR值,然后使用该GHR索引PHT,预测分支结果,记录式分支预测器对PHT的更新保持原来分支预测器的更新方法;2)PC记录和GHR维护:记录式分支预测器中GHR较长,其维护过程如下:当得到分支结果时GHR左移,新得到的分支结果存入GHR的最低位,PC记录是修改GHR对应位的PC值的记录,GHR左移,那么PC记录也会左移,PC记录中的项始终与GHR中的位相对应;3)GHR组和多路选择决定由于预测的GHR:GHR组用于存放临时的GHR值,通过第一比较器(1),将当前PC与PC记录比较以后,可能得到多个相等的值,那么GHR组中就有多个项来存放当前PC和PC记录比较后得到的相等的值,而这些相等的值的最终使用由第二比较器(2)控制多路选择器进行选择;4)保持原来分支预测器的更新方法:记录式分支预测器在预测过程中具有和原来分支预测器不同的GHR使用方法,但是在对PHT的更新过程中,和原来分支预测器使用相同的GHR值,这个GHR值是记录式结构中较长GHR值的较低几位。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈天洲袁辉施青松胡威蒋冠军
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1