[发明专利]一种用于嵌入式PowerPC处理器异常嵌套的处理电路及方法在审
| 申请号: | 201410489855.5 | 申请日: | 2014-09-23 |
| 公开(公告)号: | CN104268029A | 公开(公告)日: | 2015-01-07 |
| 发明(设计)人: | 王粟 | 申请(专利权)人: | 天津国芯科技有限公司 |
| 主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30 |
| 代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 杨慧玲 |
| 地址: | 300457 天津市滨海新区开发*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 嵌入式 powerpc 处理器 异常 嵌套 处理 电路 方法 | ||
技术领域
本发明属于计算机领域,尤其是涉及一种用于嵌入式PowerPC处理器异常嵌套的处理电路及方法。
背景技术
中断的响应和处理是嵌入式处理器的核心技术之一,各种主流处理器家族,对于中断的划分和处理方式都不尽相同。PowerPC家族处理器将中断划分为内部异常和外部中断两大类.外部中断的发起来自处理器外部的其他模块,而内部异常的发起则来自处理器内部。
内部异常的发生,是源于处理器运行过程中出现的各种错误,如指令编码未被识别,指令无执行权限,数据存取操作失败等。这些错误会导致处理器不能正确依据预先编写的程序,完成既定动作。当内部异常发生时,PowerPC家族处理器会停止当前程序的执行,并自动进入异常处理模式。
在自动进入异常处理模式后,处理器会根据预先编写好的异常处理程序,保存本次异常发生前处理器的主要状态信息,然后排查并记录异常发生的具体原因,或通过某种手段消除引起本次异常的源头事件。在完成上述动作后,如果异常处理程序认为经过上述处理,异常的源头事件已不存在,则恢复进入异常处理模式前处理器的主要状态信息,并令处理器从异常处理模式返回正常工作模式,继续执行刚才被打断的正常程序.
但在较坏的情况下,如处理器在进入异常处理模式后,未能正常执行预先编写好的异常处理程序,其原因可能为又发生了一次引起处理器异常的事件,此时,对异常的处理将失败.在上述多次异常事件嵌套发生的情况下,处理器中执行的程序流将变得不可控,即俗称的处理器跑飞现象.
发明内容
本发明要解决的问题是提供一种用于嵌入式PowerPC处理器异常嵌套的处理电路及处理方法,尤其适合于复杂情况下处理器异常嵌套的处理。
为解决上述技术问题,本发明采用的技术方案是:一种用于嵌入式PowerPC处理器异常嵌套的处理电路,包括:处理器内核、内部寄存器访问电路、用于检测处理器内部异常的检测电路、用于使处理器进入停止状态的暂停控制电路,以及一套使处理器复位的复位控制电路,其特征在于:所述的处理电路还包括:总控制开关电路、可被读写的寄存器控制位、可被读写的包含异常嵌套是否已经发生信息的寄存器标志位、一组可被读写的包含异常嵌套事件最新异常种类编号的寄存器标志段、以及一个可被读写的控制异常嵌套处理方法的寄存器控制位。
进一步的,所述的处理电路还包括:异常信息收集与记录电路,以及异常嵌套处理信号选择电路。
根据本发明的另一方面,还提供了一种用于嵌入式PowerPC处理器异常嵌套的处理电路的处理方法,所述的方法包括:
监测是否有新的异常发生,如果没有则继续监测,若监测到新的异常发生,则
监测异常嵌套开关状态,若为关闭,则按照普通异常处理流程处理,如果异常嵌套开关状态为打开,则
判断是否发生异常嵌套事件,若非异常嵌套事件转入普通异常处理流程,若为异常嵌套事件,则
读取预存在寄存器中的异常嵌套标志和编号;
异常嵌套处理信号选择电路按照对应的异常嵌套标志和编号进行处理。
更进一步的,所述的用于嵌入式PowerPC处理器异常嵌套的处理电路的处理方法,所述的方法还包括以下步骤:
异常信息收集与记录电路对异常信息进行技术和异常种类编号,并将其存入异常嵌套事件异常种类编号的寄存器标志段。
本发明具有的优点和积极效果是:由于采用上述技术方案,能够有效避免PowerPC处理器由于异常嵌套而造成的处理器进入死机或混乱状态的情况。
附图说明
图1是本发明的的一个实例中处理器异常嵌套处理电路示意图
图2是本发明的的一个实例中处理器异常嵌套处理流程示意图
具体实施方式
首先对于本发明所针对的异常事件进行说明,所述的异常事件特指引起嵌入式PowerPC家族处理器内部异常的事件,具体包括如下几类事件:
1.非法指令事件,即处理器执行一条不能识别的指令。
2.指令权限错误事件,即处理器执行一条可识别的指令,但处理器所处的当前状态,无执行此指令的权限。
3.寄存器权限错误事件,即处理器进行读或写某个寄存器的操作,但处理器所处的当前状态,无读或写此寄存器的权限。
4.寄存器地址错误事件,即处理器进行读或写某个寄存器的操作,但处理器给出的目标地址不正确。
5.存取数据地址错误事件,即处理器对与处理器相连的总线进行存或取数据的操作,但处理器给出的目标地址不正确。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津国芯科技有限公司,未经天津国芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410489855.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种三卡卡座
- 下一篇:一种基于申威平台的高性能计算作业管理实现方法





