[发明专利]指令预取方法、装置、设备和介质在审
| 申请号: | 201911225633.1 | 申请日: | 2019-12-04 |
| 公开(公告)号: | CN112905237A | 公开(公告)日: | 2021-06-04 |
| 发明(设计)人: | 唐潮;杜学亮;徐英男 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 指令 方法 装置 设备 介质 | ||
1.一种指令预取方法,其特征在于,包括:
在处理器内核从与其对应的目标缓冲区中获取所需指令之前,对所述目标缓冲区中的指令进行预编译;
如果根据预编译结果,确定所述目标缓冲区中存在跳转指令,并且存在跳转指令的分支指令未被缓存在所述目标缓冲区中,则将未被缓存的分支指令从指令高速缓存区中预取至与所述处理器内核对应的候选缓冲区中,以等待所述处理器内核从所述候选缓冲区中获取所述分支指令;
其中,所述目标缓冲区和所述候选缓冲区在指令预取过程中被交替复用。
2.根据权利要求1所述的方法,其特征在于,所述将未被缓存的分支指令从指令高速缓存区中预取至与所述处理器内核对应的候选缓冲区中,包括:
将所述未被缓存的分支指令中最小的指令地址作为首地址,从所述指令高速缓存区中预取预设数量的指令,缓存至与所述处理器内核对应的候选缓冲区中,其中,所述未被缓存的分支指令包括在所述预设数量的指令内。
3.根据权利要求1所述的方法,其特征在于,所述将未被缓存的分支指令从指令高速缓存区中预取至与所述处理器内核对应的候选缓冲区中,包括:
确定所述未被缓存的分支指令是否被缓存在与所述处理器内核对应的候选缓冲区中;
如果否,则将所述未被缓存的分支指令从所述指令高速缓存区中预取至所述候选缓冲区中。
4.根据权利要求1所述的方法,其特征在于,所述处理器内核从所述候选缓冲区中获取所述分支指令时,当前取指缓冲区对象由所述目标缓冲区切换为所述候选缓冲区;
相应的,所述方法还包括:
在所述处理器内核从所述候选缓冲区中获取所述分支指令之前,对所述候选缓冲区中的指令进行预编译,以确定所述候选缓冲区中未缓存的分支指令。
5.根据权利要求1所述的方法,其特征在于,对所述目标缓冲区中的指令进行预编译,包括:
利用分支跳转预测算法对所述目标缓冲区中的指令进行预编译。
6.根据权利要求5所述的方法,其特征在于,在对所述目标缓冲区中的指令进行预编译之后,所述方法还包括:
如果收到预测失败信息,则在所述处理器内核执行目标跳转指令的过程中,依次在所述目标缓冲区的寄存器和所述候选缓冲区的寄存器中进行指令地址匹配,确定所述目标跳转指令的分支指令所在的缓冲区。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果基于所述指令地址匹配,确定所述目标跳转指令的分支指令均不在所述目标缓冲区和所述候选缓冲区中,则将所述目标跳转指令的分支指令的地址作为首地址,从所述指令高速缓存区中预取预设数量的指令,缓存至所述候选缓冲区中。
8.一种指令预取装置,其特征在于,包括:
指令预编译模块,用于在处理器内核从与其对应的目标缓冲区中获取所需指令之前,对所述目标缓冲区中的指令进行预编译;
指令预取模块,用于如果根据预编译结果,确定所述目标缓冲区中存在跳转指令,并且存在跳转指令的分支指令未被缓存在所述目标缓冲区中,则将未被缓存的分支指令从指令高速缓存区中预取至与所述处理器内核对应的候选缓冲区中,以等待所述处理器内核从所述候选缓冲区中获取所述分支指令;
其中,所述目标缓冲区和所述候选缓冲区在指令预取过程中被交替复用。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的指令预取方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的指令预取方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911225633.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种机械工业用零件搬运装置
- 下一篇:一种便于拆装的台灯





