[发明专利]指令处理方法、指令执行方法以及处理器在审
| 申请号: | 202111551138.7 | 申请日: | 2021-12-17 |
| 公开(公告)号: | CN114281411A | 公开(公告)日: | 2022-04-05 |
| 发明(设计)人: | 胡世文 | 申请(专利权)人: | 海光信息技术股份有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/30 |
| 代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 彭久云 |
| 地址: | 300392 天津市华苑产业区*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 指令 处理 方法 执行 以及 处理器 | ||
1.一种指令处理方法,包括:
在对象指令的译码阶段,获取所述对象指令对于应用程序栈的访问地址;
在所述对象指令的执行阶段,利用所述访问地址访问所述应用程序栈。
2.根据权利要求1的指令处理方法,其中,所述获取所述对象指令对于所述应用程序栈的访问地址,包括:
确定在所述对象指令的译码阶段时第一栈顶值是否为有效值;
响应于所述第一栈顶值为有效值,使用所述第一栈顶值获取所述访问地址,
其中,所述第一栈顶值为由处理器核的流水线的译码单元维护的用于记录所述应用程序栈的栈指针的数值。
3.根据权利要求2的指令处理方法,其中,所述响应于所述第一栈顶值为有效值,使用所述第一栈顶值获取所述访问地址,包括:
响应于所述对象指令是call指令或push指令,使用所述第一栈顶值减去系统架构参数值得到所述访问地址;或者
响应于所述对象指令是ret或pop指令,使用所述第一栈顶值作为所述访问地址;或者
响应于在所述对象指令是访问所述应用程序栈的指令且为使用所述栈指针和立即数之和进行地址编码的方式,使用所述第一栈顶值加上所述立即数得到所述访问地址。
4.根据权利要求3的指令处理方法,还包括:
在所述对象指令的译码阶段,结合所述访问地址得到对应于所述对象指令的译码后指令;
其中,所述在所述对象指令的执行阶段,利用所述访问地址访问所述应用程序栈,包括:
使用所述访问地址,执行所述译码后指令以访问所述应用程序栈。
5.一种处理器,包括:
译码单元,配置为在对象指令的译码阶段,获取所述对象指令对于应用程序栈的访问地址;
执行单元,配置为在所述对象指令的执行阶段,使用所述访问地址访问所述应用程序栈。
6.根据权利要求5的处理器,其中,
所述译码单元还配置为在所述对象指令的译码阶段,得到对应于所述对象指令的译码后指令;
所述执行单元还配置为,执行所述译码后指令以使用所述访问地址访问所述应用程序栈。
7.一种指令处理方法,包括:
通过处理器核的流水线的译码单元维护用于记录应用程序栈的栈指针的第一栈顶值,
提供所述第一栈顶值用于在所述处理器核的流水线的译码单元得到对于所述应用程序栈的访问地址。
8.根据权利要求7的指令处理方法,其中,所述通过处理器核的流水线的译码单元维护用于记录所述应用程序栈的栈指针的第一栈顶值,包括:
在对象指令的译码阶段,根据所述对象指令的内容设置用于记录所述应用程序栈的栈指针的第一栈顶值。
9.根据权利要求8的指令处理方法,其中,所述根据所述对象指令的内容设置用于记录所述应用程序栈的栈指针的第一栈顶值,包括:
响应于所述对象指令为改变所述应用程序栈的栈指针的指令,确定所述对象指令属于第一类型指令还是第二类型指令,其中,所述第一类型指令是直接使用所述栈指针进行算术运算以更新所述栈顶值的指令,所述第二类型指令是非直接使用所述栈指针进行算术运算以更新所述栈顶值的指令;
响应于所述对象指令属于所述第一类型指令,根据所述对象指令的内容更新所述第一栈顶值;
响应于所述对象指令属于所述第二类型指令,将所述第一栈顶值设置为所述应用程序栈的栈指针的初始值,将所述第一栈顶值的有效性设置为无效,以及记录所述对象指令的指令序号作为所述第一栈顶值的相关指令序号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111551138.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:单霍尔传感器件和电子设备
- 下一篇:单霍尔锁存传感器和电子设备





