一种load投机唤醒方法技术

技术编号:30820787 阅读:35 留言:0更新日期:2021-11-18 11:20
本发明专利技术涉及微处理器技术领域,具体涉及一种load投机唤醒方法,本发明专利技术在load指令上pipeline的时候就投机的去唤醒对该load数据有依赖关系的指令,这样可以让该load数据有依赖关系的指令能提前2拍上pipeline;如果后面发现load指令投机执行失败,再把被唤醒并投机的上了pipeline的指令中途给cancel掉;如果load投机失败需要把被唤醒并投机的上了pipeline的指令中途给cancel掉,每个load pipeline只需2bit的比对即可完成。因此本发明专利技术只需2bit的比对即可确定,时序比较好,减少了耗资源面积,提升了CPU整体性能。提升了CPU整体性能。提升了CPU整体性能。

【技术实现步骤摘要】
一种load投机唤醒方法


[0001]本专利技术涉及微处理器
,具体涉及一种load投机唤醒方法。

技术介绍

[0002]在乱序执行的CPU系统中,由于LOAD指令LOAD的数据大概率会是后面指令的源操作数,所以LOAD指令LOAD回数据的快慢,对整个CPU系统性能具有很大的作用。
[0003]LOAD指令的执行是投机的去执行,投机的执行必然就会出现load成功或失败两种可能,所以很多CPU系统都是直到LOAD指令成功获得数据后才会唤醒对该load数据有依赖关系的指令,但是考虑到当前CPU L1_cache系统的命中率基本都在98%以上。
[0004]所以本方案提出:(1)在load指令上pipeline的时候就投机的去唤醒对该load数据有依赖关系的指令,这样可以让该load数据有依赖关系的指令能提前2拍上pipeline。
[0005](2)如果后面发现load指令投机执行失败,再把被唤醒并投机的上了pipeline的指令中途给cancel掉。
[0006]虽然有的CPU系统会提前的投机唤醒对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的val...

【专利技术属性】
技术研发人员:李长林余红斌
申请(专利权)人:广东赛昉科技有限公司
类型:发明
国别省市:

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

1