[发明专利]一种load投机唤醒方法在审
申请号: | 202110684064.8 | 申请日: | 2021-06-21 |
公开(公告)号: | CN113656075A | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 李长林;余红斌 | 申请(专利权)人: | 广东赛昉科技有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F8/71 |
代理公司: | 上海邦德专利代理事务所(普通合伙) 31312 | 代理人: | 袁步兰 |
地址: | 528300 广东省佛山市顺德*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 load 投机 唤醒 方法 | ||
1.一种load投机唤醒方法,其特征在于,所述方法包括以下步骤:
S1利用load指令投机的唤醒一条alu指令,同时更新alu指令在保留站的ld_wakeup_info为01,ready信息更新为1,并且将该信息左移一位为10;
S2指令被选中issue上pipeline pileline上的ld_wakeup_info为01,同时将pipeline上的ld_wakeup_info信息左移一位后更新为10,将ld_wakeup_info信息左移一位后为10;
S3如果load_mispredict=0,则保持ready=1指令正常执行下去;如果load_mispredict=1,更新ready=0,指令在pipeline的valid cancel掉;
S4指令被选中issue上pipeline pileline上的ld_wakeup_info为10,同时将pipeline上的ld_wakeup_info信息左移一位后更新为00;
S5如果load_mispredict=0,保持ready=1指令正常执行下去;如果load_mispredict=1,check发现pipeline中ld_wakeup_info[1]==1,指令在pipeline的valid cancel掉。
2.根据权利要求1所述的一种load投机唤醒方法,其特征在于,所述方法中,alu指令在保留站的ld_wakeup_info为10,将ld_wakeup_info信息左移一位后更新为00。
3.根据权利要求1所述的一种load投机唤醒方法,其特征在于,所述方法中,如果load_mispredict=0,也就是在该cycle load投机执行成功,保持ready=1。
4.根据权利要求1所述的一种load投机唤醒方法,其特征在于,所述方法中,如果load_mispredict=1,也就是在该cycle load投机执行失败,更新ready=0。
5.根据权利要求1所述的一种load投机唤醒方法,其特征在于,所述方法中,在load指令上pipeline时,就投机的去唤醒对该load数据有依赖关系的指令,若后面发现load指令投机执行失败,则把被唤醒并投机的上了pipeline的指令中途给cancel掉。
6.根据权利要求5所述的一种load投机唤醒方法,其特征在于,所述方法中,如果load投机失败需要把被唤醒并投机的上了pipeline的指令中途给cancel掉,每个loadpipeline只需2bit的比对即可完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东赛昉科技有限公司,未经广东赛昉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110684064.8/1.html,转载请声明来源钻瓜专利网。