记录地址历史的装置和方法制造方法及图纸

技术编号:27876677 阅读:26 留言:0更新日期:2021-03-31 00:54
本发明专利技术提出了一种记录取指地址历史的装置和方法,该方法包括:当取指请求中的多个指令被提交后,释放与多个指令相关联的分支处理队列BPQ表项;以及响应于BPQ表项的释放,判断要释放的BPQ表项中是否包含调用指令,当要释放的BPQ表项中包含调用指令时,判断调用指令是直接将取指地址历史记录输出到指令预取器的记录表中的第一类型,还是等待与调用指令相对应的返回指令执行后将取指地址历史记录输出到指令预取器的记录表中的第二类型,基于判断结果来选择与第一类型和第二类型相对应的操作模式来将取指地址历史记录输出到指令预取器的记录表中。

【技术实现步骤摘要】
记录地址历史的装置和方法
本申请涉及处理器设计领域,且更具体地涉及一种记录地址历史的装置和方法。
技术介绍
当包含流水线技术的处理器(例如,中央处理单元CPU)处理分支指令时就会遇到一个问题,根据判定条件的真/假的不同,有可能会产生跳转,而这会打断对流水线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执行完毕。在存在分支的情况下,流水线越长,处理器等待的时间便越长,因为处理器必须等待分支指令处理完毕,才能确定下一条进入流水线的指令。分支预测技术便是为解决这一问题而出现的。分支预测是处理器在程序分支指令执行前预测其结果的一种机制,其根据历史信息来对跳转指令进行预测,是能够解决处理分支指令所导致的CPU流水线失败的数据处理方法。具体地,分支预测包括静态分支预测和动态分支预测,最简单的静态分支预测方法就是任选分支中的一条分支,这样平均命中率为50%,更精确的办法是根据先前运行的结果进行统计从而尝试预测分支是否会跳转;而动态分支预测是处理器近来已经尝试采用的技术。最简单的动态分支预测策略是使用分支目标缓冲器或分支历史表来进行分支预测。采用本文档来自技高网...

【技术保护点】
1.一种记录取指地址历史的方法,包括:/n当取指请求中的多个指令被提交后,释放与所述多个指令相关联的分支处理队列BPQ表项;以及/n响应于所述BPQ表项的释放,判断要释放的BPQ表项中是否包含调用指令;/n当要释放的BPQ表项中包含调用指令时,判断所述调用指令是直接将取指地址历史记录输出到指令预取器的记录表中的第一类型,还是等待与所述调用指令相对应的返回指令执行后将取指地址历史记录输出到指令预取器的记录表中的第二类型,并基于所述判断结果来选择与所述第一类型和所述第二类型相对应的操作模式来将取指地址历史记录输出到所述指令预取器的记录表中。/n

【技术特征摘要】
1.一种记录取指地址历史的方法,包括:
当取指请求中的多个指令被提交后,释放与所述多个指令相关联的分支处理队列BPQ表项;以及
响应于所述BPQ表项的释放,判断要释放的BPQ表项中是否包含调用指令;
当要释放的BPQ表项中包含调用指令时,判断所述调用指令是直接将取指地址历史记录输出到指令预取器的记录表中的第一类型,还是等待与所述调用指令相对应的返回指令执行后将取指地址历史记录输出到指令预取器的记录表中的第二类型,并基于所述判断结果来选择与所述第一类型和所述第二类型相对应的操作模式来将取指地址历史记录输出到所述指令预取器的记录表中。


2.根据权利要求1所述的方法,其中,所述选择与所述第一类型和所述第二类型相对应的操作模式来将取指地址历史记录输出到指令预取器的记录表中包括:
当判断所述调用指令是所述第一类型时,选择与所述第一类型相对应的操作模式来将相邻两个指令之间的取指地址历史输出到所述记录表中,其中,所述相邻两个指令是调用指令或返回指令;以及
当判断所述调用指令是所述第二类型时,选择与所述第二类型相对应的操作模式将调用指令和与所述调用指令相对应的返回指令之间的取指地址历史输出到所述记录表中。


3.根据权利要求2所述的方法,其中,当判断所述调用指令是所述第一类型时,选择与所述第一类型相对应的操作模式将相邻两个指令之间的取指地址历史输出到所述记录表中包括:
判断所述要释放的BPQ表项中是否包含返回指令;
当所述要释放的BPQ表项中包含返回指令时,基于包括指示返回指令的地址的指针的返回地址栈RAS的内容、生成与所述相邻两个指令之间的暂存地址历史相关的签名,并且将所述签名和所述暂存地址历史一起输出到指令预取器的记录表中的取指地址历史中。


4.根据权利要求3所述的方法,其中,所述暂存地址历史存储在所述RAS的RAS表项的地址历史记录结构中,并且,所述方法还包括:
在将所述签名和所述暂存地址历史一起输出指令预取器的记录表中的取指地址历史记录后,清空所述RAS表项的地址历史记录结构中的暂存地址历史。


5.根据权利要求2所述的方法,其中,当判断所述调用指令是所述第二类型时,选择与所述第二类型相对应的操作模式将调用指令和与所述调用指令相对应的返回指令之间的取指地址历史输出到所述记录表中包括:
检查所述要释放的BPQ表项是否包含返回指令;
当所述要释放的BPQ表项中包含返回指令时,基于包括指示返回指令的地址的指针的返回地址栈RAS的内容以及包括指示与所述返回指针相对应的调用指令的地址的指针的BPQ的内容、生成与所述调用指令和与所述调用指令相对应的返回指令之间的暂存地址历史相关的签名,并且将所述签名和所述暂存地址历史一起输出到指令预取器的记录表中的取指地址历史中。


6.根据权利要求5所述的方法,其中,所述暂存地址历史存储在所述RAS的RAS表项的地址历史记录结构中,并且,所述方法还包括:
在将所述签名...

【专利技术属性】
技术研发人员:崔泽汉
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:天津;12

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

1