[发明专利]异常现场恢复方法、装置及计算机可读存储介质有效
申请号: | 201710594077.X | 申请日: | 2017-07-20 |
公开(公告)号: | CN107436752B | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 邢金璋;杨灿;汪文祥 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F11/07 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨泽;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异常 现场 恢复 方法 装置 计算机 可读 存储 介质 | ||
1.一种异常现场恢复方法,其特征在于,包括:
获取异常返回指令,所述异常返回指令包括操作码,所述操作码用于指示处理器执行到异常处理函数的最后一条指令;其中,所述处理器包括正常执行通路和异常栈维护通路;所述异常返回指令用于标识所述异常处理函数结束,以控制在所述正常执行通路和异常栈维护通路中执行所述异常现场恢复的如下步骤;
执行所述异常返回指令,以修改程序计数器值以及将压入异常栈的目标寄存器堆的信息从所述异常栈弹出,并返回继续执行被打断的正常处理函数;
所述修改程序计数器值的步骤占用所述处理器的正常执行通路;同时,将压入异常栈的目标寄存器堆的信息从异常栈弹出的步骤占用后台异常栈维护通路;所述正常执行通路中执行的修改程序计数器值的步骤与所述异常栈维护通路中执行的将压入异常栈的目标寄存器堆的信息从异常栈弹出的步骤并行执行。
2.根据权利要求1所述的方法,其特征在于,所述获取异常返回指令,包括:
在存储所述异常处理函数的存储器中获取一条指令;
解析所述指令,获取所述指令中的操作码;
在所述指令中的操作码与预设的所述异常返回指令的操作码一致时,确定所述指令为所述异常返回指令。
3.根据权利要求1或2所述的方法,其特征在于,在所述获取异常返回指令之前,还包括:
在获取到异常请求时,打断正在执行的所述正常处理函数;
将所述正常处理函数对应的所述目标寄存器堆中的信息压入所述异常栈,并转向执行所述异常请求对应的异常处理函数。
4.根据权利要求3所述的方法,其特征在于,所述处理器中设置有栈维护模块;
所述将所述正常处理函数对应的所述目标寄存器堆中的信息压入所述异常栈,包括:
通过所述栈维护模块将所述正常处理函数对应的所述目标寄存器堆中的信息压入所述异常栈;
所述执行所述异常返回指令,以修改程序计数器值以及将压入异常栈的目标寄存器堆的信息从所述异常栈弹出,并返回继续执行被打断的正常处理函数,包括:
执行所述异常返回指令,以修改程序计数器值以及通过所述栈维护模块将压入所述异常栈中的信息依次弹出并写入所述目标寄存器堆中对应号码的寄存器中;
在压入所述异常栈的所有信息全部弹出时,返回继续执行被打断的所述正常处理函数。
5.根据权利要求4所述的方法,其特征在于,所述栈维护模块中设置有寄存器保护域和异常栈指针;
所述寄存器保护域用于指示所述目标寄存器堆的数量,所述异常栈指针用于指示所述目标寄存器堆的位置。
6.根据权利要求1或2所述的方法,其特征在于,所述目标寄存器堆包括:通用寄存器堆和系统控制寄存器堆;
所述通用寄存器堆为所述处理器中用于保存数据运算的通用寄存器的组合,所述系统控制寄存器堆为所述处理器中用于保存处理器状态的系统控制寄存器的组合。
7.一种异常现场恢复装置,其特征在于,包括:
指令获取模块,用于获取异常返回指令,所述异常返回指令包括操作码,所述操作码用于指示处理器执行到异常处理函数的最后一条指令;其中,所述处理器包括正常执行通路和异常栈维护通路;所述异常返回指令用于标识所述异常处理函数结束,以控制在所述正常执行通路和异常栈维护通路中执行所述异常现场恢复的如下步骤;
指令执行模块,用于执行所述异常返回指令,以修改程序计数器值以及将压入异常栈的目标寄存器堆的信息从所述异常栈弹出,并返回继续执行被打断的正常处理函数;
其中,所述修改程序计数器值的步骤占用所述处理器的正常执行通路;同时,将压入异常栈的目标寄存器堆的信息从异常栈弹出的步骤占用后台异常栈维护通路;所述正常执行通路中执行的修改程序计数器值的步骤与所述异常栈维护通路中执行的将压入异常栈的目标寄存器堆的信息从异常栈弹出的步骤并行执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710594077.X/1.html,转载请声明来源钻瓜专利网。