[发明专利]一种分支预测控制方法及装置有效
申请号: | 201710050368.2 | 申请日: | 2017-01-23 |
公开(公告)号: | CN106843816B | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 周沈刚;李任伟 | 申请(专利权)人: | 青岛专用集成电路设计工程技术研究中心 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 陆田 |
地址: | 266200 山东省青岛市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分支 预测 控制 方法 装置 | ||
1.一种分支预测控制方法,其特征在于:所述方法包括:
取指时对分支指令进行分支预测,并对分支目标进行取指;
译码时对分支指令再次进行分支预测;
当需要由译码时的分支预测结果对取指时的分支预测结果进行修正时:
记录当前取指PC至重新取指PC寄存器,对译码时分支预测的分支目标进行取指;
当分支指令执行完分支判定时,根据分支判定结果判断修正是否正确;
若是,则继续译码时分支预测的分支目标及其后续指令的取指操作,冲刷分支指令的后续指令;
若否,则取消译码时分支预测的分支目标及其后续指令,按照重新取指PC寄存器中的PC进行取指。
2.根据权利要求1所述的方法,其特征在于:在对译码时分支预测的分支目标进行取指时,所述方法还包括:
在流水线中取指时间n1小于分支判定时间n2时:将译码时分支预测的分支目标取指返回后的指令写入预取缓存单元中,且写在预取缓存单元中原指令的后面。
3.根据权利要求1所述的方法,其特征在于:在对译码时分支预测的分支目标进行取指时,所述方法还包括:
在流水线中取指时间n1小于分支判定时间n2时:将译码时分支预测的分支目标取指返回后的指令写入备用缓存单元。
4.根据权利要求1所述的方法,其特征在于:在对译码时分支预测的分支目标进行取指时,所述方法还包括:
在流水线中取指时间n1小于分支判定时间n2时:将预取缓存单元中的首条指令的PC保存至重新取指PC寄存器,清空预取缓存单元,将分支目标取指返回后的指令写入预取缓存单元。
5.根据权利要求1所述的方法,其特征在于:在需要由译码时的分支预测结果对取指时的分支预测结果进行修正时,对译码时分支预测的分支目标及其后续指令进行流水级标记。
6.一种分支预测控制装置,其特征在于:所述装置包括:
取指单元,用于将取指PC输入取指时分支预测单元,并发送取指请求至流水线;
取指时分支预测单元,用于根据取指单元的取指PC进行分支预测,给出预测分支目标;
取指流水寄存器,用于记录取指请求的信息,并将取指返回后的指令写入预取缓存单元;
预取缓存单元:用于保存取指返回后的指令;
译码单元,用于对指令进行译码,译码后的指令发送至执行流水单元和译码时分支预测单元;
执行流水单元,用于执行译码单元发送的指令;
译码时分支预测单元,用于根据译码单元发送的指令进行分支预测,给出预测分支目标;当需要对取指时的分支预测结果进行修正时,将预测分支目标的取指PC发送至取指单元;
重新取指PC寄存器,用于记录当前取指PC;
分支判定单元,用于判定分支指令目标,并根据判定结果判断修正是否正确;若是,则申请流水线控制器冲刷分支指令的后续指令;
若否,则申请流水线控制器取消译码时分支预测的分支目标及其后续指令,控制取指单元按照重新取指PC寄存器中的PC进行取指;
流水线控制器,根据分支判定单元的申请,对流水线进行冲刷。
7.根据权利要求6所述的装置,其特征在于:所述装置还包括:
备用缓存单元,用于在流水线中取指时间n1小于分支判定时间n2时,保存分支目标取指返回后的指令。
8.根据权利要求6所述的装置,其特征在于:所述装置还包括:
预测流水级标记单元,用于在需要由译码时的分支预测结果对取指时的分支预测结果进行修正时,对译码时分支预测的分支目标及其后续指令进行流水级标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛专用集成电路设计工程技术研究中心,未经青岛专用集成电路设计工程技术研究中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710050368.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:半挂车免空载运输系统
- 下一篇:一种半挂车牵引装置