[发明专利]指令处理方法及设备有效
申请号: | 201310011219.7 | 申请日: | 2013-01-11 |
公开(公告)号: | CN103116484A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 惠卫锋;朱小刚 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 黄厚刚 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 处理 方法 设备 | ||
1.一种指令处理方法,其特征在于,所述方法包括:
在接收到中断请求后,记录当前流水线中正在执行的第一指令的地址;
设置缓存器的控制信息,以便所述缓存器根据所述控制信息对所述流水线中正在取指的第二指令进行恢复,所述第一指令和第二指令存储在所述缓存器中且所述第二指令的取指时刻为所述第一指令的执行时刻;
根据所述第一指令的地址从所述第一指令之后的指令处进行指令处理,所述第一指令之后的指令包括恢复后的所述第二指令。
2.根据权利要求1所述的指令处理方法,其特征在于,所述设置缓存器的控制信息之前,还包括:
检测所述中断请求是否是所述缓存器出错而触发的;
若检测到是所述缓存器出错而触发的,则确定执行设置缓存器的控制信息的步骤。
3.根据权利要求2所述的指令处理方法,其特征在于,所述检测所述中断请求是否是所述缓存器出错而触发的,包括:
检测状态寄存器中与所述缓存器对应的标志位的数值是否发生变化,所述状态寄存器用来标识触发中断请求的中断源;
若检测到所述状态寄存器中与所述缓存器对应的标志位的数值发生变化,则确定所述中断请求是所述缓存器出错而触发的。
4.根据权利要求1所述的指令处理方法,其特征在于,所述设置缓存器的控制信息,包括:
将所述缓存器中所述第二指令所属的缓存行设置为禁止访问状态,以便后续所述流水线取指所述第二指令时,所述缓存器根据所述禁止访问状态对所述缓存行中的指令进行恢复且将所述缓存行恢复为允许访问状态,并将所述第二指令发送给所述流水线,所述缓存行包括至少一条指令。
5.根据权利要求2所述的指令处理方法,其特征在于,所述根据所述第一指令的地址从所述第一指令之后的指令处进行指令处理之后,还包括:
若再次接收到所述中断请求,则获取本次的错误信息和上次的错误信息,所述上次的错误信息用来记录上次所述缓存器中出错的指令的信息;
检测所述本次的错误信息与所述上次的错误信息是否相同;
若检测到所述本次的错误信息与所述上次的错误信息相同,则清除所述流水线中的指令和所述缓存器中的指令,并从所述第一指令所属的指令集的第一条指令处进行指令处理。
6.一种指令处理设备,其特征在于,所述设备包括:
记录模块,用于在接收到中断请求后,记录当前流水线中正在执行的第一指令的地址;
设置模块,用于所述记录模块记录当前流水线中正在执行的第一指令的地址之后,设置缓存器的控制信息,以便所述缓存器根据所述控制信息对所述流水线中正在取指的第二指令进行恢复,所述第一指令和第二指令存储在所述缓存器中且所述第二指令的取指时刻为所述第一指令的执行时刻;
第一处理模块,用于根据所述记录模块第一指令的地址从所述第一指令之后的指令处进行指令处理,所述第一指令之后的指令包括恢复后的所述第二指令。
7.根据权利要求6所述的指令处理设备,其特征在于,所述设备,还包括:
第一检测模块,用于所述设置模块设置缓存器的控制信息之前,检测所述中断请求是否是所述缓存器出错而触发的;
确定模块,用于若所述第一检测模块检测到是所述缓存器出错而触发的,则确定执行设置缓存器的控制信息的步骤。
8.根据权利要求7所述的指令处理设备,其特征在于,所述第一检测模块,包括:
检测单元,用于检测状态寄存器中与所述缓存器对应的标志位的数值是否发生变化,所述状态寄存器用来标识触发中断请求的中断源;
确定单元,用于若所述检测单元检测到所述状态寄存器中与所述缓存器对应的标志位的数值发生变化,则确定所述中断请求是所述缓存器出错而触发的。
9.根据权利要求6所述的指令处理设备,其特征在于,所述设置模块,用于将所述缓存器中所述第二指令所属的缓存行设置为禁止访问状态,以便后续所述流水线取指所述第二指令时,所述缓存器根据所述禁止访问状态对所述缓存行中的指令进行恢复且将所述缓存行恢复为允许访问状态,并将所述第二指令发送给所述流水线,所述缓存行包括至少一条指令。
10.根据权利要求7所述的指令处理设备,其特征在于,所述设备,还包括:
获取模块,用于所述第一处理模块根据所述第一指令的地址从所述第一指令之后的指令处进行指令处理之后,若再次接收到所述中断请求,则获取本次的错误信息和上次的错误信息,所述上次的错误信息用来记录上次所述缓存器中出错的指令的信息;
第二检测模块,用于检测所述获取模块获取的本次的错误信息与所述上次的错误信息是否相同;
第二处理模块,用于若所述第二检测模块检测到所述本次的错误信息与所述上次的错误信息相同,则清除所述流水线中的指令和所述缓存器中的指令,并从所述第一指令所属的指令集的第一条指令处进行指令处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310011219.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:空气滤清器
- 下一篇:终端界面的展示方法和装置