[发明专利]一种分支预测控制方法及装置有效
申请号: | 201710050368.2 | 申请日: | 2017-01-23 |
公开(公告)号: | CN106843816B | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 周沈刚;李任伟 | 申请(专利权)人: | 青岛专用集成电路设计工程技术研究中心 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 陆田 |
地址: | 266200 山东省青岛市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分支 预测 控制 方法 装置 | ||
本发明公开了一种分支预测控制方法及装置,取指时对分支指令进行分支预测,并对分支目标进行取指;译码时对分支指令再次进行分支预测;当需要由译码时的分支预测结果对取指时的分支预测结果进行修正时:记录当前取指PC至重新取指PC寄存器,对译码时分支预测的分支目标进行取指;当分支指令执行完分支判定时,根据分支判定结果判断修正是否正确;若是,则继续译码时分支预测的分支目标及其后续指令的取指操作,冲刷分支指令的后续指令;若否,则取消译码时分支预测的分支目标及其后续指令,按照重新取指PC寄存器中的PC进行取指;从而降低了译码时分支预测的误预测损失,提高了分支指令的执行效率。
技术领域
本发明涉及处理器技术领域,尤其涉及一种分支预测控制方法及装置。
背景技术
程序中具有大量的分支指令,分支指令也称为转移指令、跳转指令。普通情况下,处理器按照指令地址顺序取指,比如当前取指PC是上一周期取指PC+4(假设每次取指取4字节)。但是分支指令在未执行之前,处理器无法确定下一条指令地址,甚至在指令未译码之前,无法确定指令是否是分支指令。如果取指单元无条件顺序取指,待分支指令执行分支之后,所取后续指令都需要冲刷,转而对分支目标进行取指,这就造成大量的冗余操作;如果取指单元等待分支指令确定是否分支以及分支目标之后再进行取指,则这种流水线阻塞操作将严重影响流水线的效率。为了应对上述问题,当前的处理器中通常使用分支预测技术对分支目标进行预测。
通常分支预测会在每一条分支指令执行后记录该指令的PC、是否进行转移及其分支目标,并在下一次对该指令进行取指时,使用PC查找记录,若在记录中有相应PC的条目,则说明该指令是一条分支指令,然后根据该条目的分支历史,预测其是否是转移指令及其分支目标,若预测转移,则将分支目标作为新的取指PC,否则,将顺序取指。
可用于记录分支指令历史信息的存储空间是有限的,而理论上分支指令的数量是无限的,使用有限的空间记录无限的信息的一般方法是使用类Cache的方法。所以,不仅仅在所有分支指令的首次执行时无法通过查询历史记录进行分支预测,即使属于再次执行,也有可能无法进行预测。而且,在取指时进行分支预测,只能通过PC进行预测,与指令译码之后进行分支预测相比,在合理的资源使用下,前者预测精确度较低。
现有技术中,通常有两种方法解决上述问题:
一种方法是:只在取指阶段进行分支预测,在流水线中后期对预测结果进行判定,若预测错误则进行修正,预测精度较低。
另一种方法是:在取指与译码处都进行预测,其中译码处预测主要针对在取指时未能进行预测的指令,以及可以修正预测的指令,最后在流水线中后期进行判定修正。当取指阶段未进行预测的分支指令发射并且译码时,已经对该分支指令后的大量顺序指令进行了预取;在现有技术中,译码阶段的分支预测结果若进行预测修正,会冲刷所有后续指令,包括预取指令,然后对预测分支目标进行取指;如果在分支指令的中后期判定预测失败,则需要再次对被冲刷的指令进行取指。采用这种方法,译码时分支预测的误预测损失较大,降低了分支指令的执行效率。
发明内容
本发明提供了一种分支预测控制方法,降低了译码时分支预测的误预测损失,提高了分支指令的执行效率。
为解决上述技术问题,本发明采用下述技术方案予以实现:
本发明提出了一种分支预测控制方法,所述方法包括:
取指时对分支指令进行分支预测,并对分支目标进行取指;
译码时对分支指令再次进行分支预测;
当需要由译码时的分支预测结果对取指时的分支预测结果进行修正时:
记录当前取指PC至重新取指PC寄存器,对译码时分支预测的分支目标进行取指;
当分支指令执行完分支判定时,根据分支判定结果判断修正是否正确;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛专用集成电路设计工程技术研究中心,未经青岛专用集成电路设计工程技术研究中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710050368.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半挂车免空载运输系统
- 下一篇:一种半挂车牵引装置