【技术实现步骤摘要】
一种处理器的异常修复方法及装置
本专利技术涉及处理器修复
,特别是一种处理器的异常修复方法及装置。
技术介绍
现有软件针对c-sky架构处理器的非对齐访问异常处理比较简单,触发异常后会抛异常,直接造成相关软件无法直接运行的情况,需要运行在c-sky架构处理器上的应用软件在编码过程中注意非对齐指令的使用,进行人为控制,影响了软件的运行。可见现有技术中,针对在c-sky架构处理器上非对齐访问异常的处理方法主要有以下缺陷和不足:①不够智能,人为避免,目前,现有方法仅仅做到CPU异常的通知功能,没有真正规避硬件异常,均由上层应用用户自身编程控制,非常繁琐。②不能通用,不利于多应用运行,这类处理器往往面对大量的用户开发各种应用软件,各软件运行时触发异常将导致原有软件停止运行,不利于多应用运行。③影响上层应用正确运行,这类异常并非致命性异常,当上层应用触发非对齐访问异常时容易忽略,此时应用执行状态,通用寄存器状态容易不正常,导致上层应用运行得到错误的执行结果。
技术实现思路
本专 ...
【技术保护点】
1.一种处理器的异常修复方法,其特征在于:该方法包括:/n检测步骤,对处理器的运行状态进行检测,如果检测到异常则设置异常标识;/n修复步骤:当操作系统SylixOS的ARCH层检测到所述异常标识时,所述ARCH层触发回调函数,在所述回调函数中对所述异常进行恢复。/n
【技术特征摘要】 【专利技术属性】
1.一种处理器的异常修复方法,其特征在于:该方法包括:
检测步骤,对处理器的运行状态进行检测,如果检测到异常则设置异常标识;
修复步骤:当操作系统SylixOS的ARCH层检测到所述异常标识时,所述ARCH层触发回调函数,在所述回调函数中对所述异常进行恢复。
2.根据权利要求1所述的方法,其特征在于,所述异常为非对齐访问异常。
3.根据权利要求2所述的方法,其特征在于,所述处理器为c-sky架构的处理器。
4.根据权利要求3所述的方法,其特征在于,在所述回调函数中对所述异常进行恢复的操作包括:基于所述异常标识获取所述异常的初始地址,将所述初始地址到下一个对齐地址ADD之间的第一数据读出并写入寄存器中,读取ADD+1对齐地址处的第二数据,将所述第二数据与所述第一数据在所述寄存器中进行组合得到组合数据,通过PC指针反汇出导致处理器异常的指令,将所述指令基于所述组合数据重新执行。
5.根据权利要求4所述的方法,所述检测步骤的操作为:检测所述处理器上的运行状态,当检测到所述处理器发生非对齐异常时,记录所述非对齐异常发生的初始地址、导致该异常的进程以及所述进程所隶属的应用,设置异常标识,并将所述非对齐异常发生的初始地址、导致该异常的进程以及所述进程所隶属的应用与所述异常标识相关联。
技术研发人员:匡晓云,黄开天,杨祎巍,于杨,姚浩,弓羽箭,闫佳伟,韩辉,徐贵洲,焦进星,
申请(专利权)人:南方电网科学研究院有限责任公司,南方电网数字电网研究院有限公司,北京翼辉信息技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。