体系结构学习-4-Global predictor

Global Predictor :

 Branch History Register记录了全局的跳转信息,每有一个分支语句跳转便在低位移入1,没有跳转便移入0。每次访问时得到的值是该分支语句之前的全局历史跳转信息,本次分支执行后结果才被写入。同时运用该值作为索引去读取Pattern History Table的状态信息。

缺点:
 如果是不同的分支指令遇见了一样的BHR值,那么会相互干扰。

解决方案:
 将当前的Branch PC和BHR的值做一次异或,然后取结果值作为Pattern History Table的索引值,这样就能防止不同地址的branch相互干扰。(相当于做了一次hash)

  • 该方法将全局的历史跳转信息和当前branch pc的值综合在了一起,获得了更多的跳转信息。
  • 更好地利用了PHT,让PHT的条目更加充分地利用
  • 但是增加了异或操作可能增加时延

你可能感兴趣的:(体系结构)