[发明专利]处理异常事件的装置和方法有效

专利信息
申请号: 201180014331.5 申请日: 2011-02-28
公开(公告)号: CN102804134A 公开(公告)日: 2012-11-28
发明(设计)人: 理查德·罗伊·格里森思怀特 申请(专利权)人: ARM有限公司
主分类号: G06F9/30 分类号: G06F9/30;G06F9/318;G06F9/38
代理公司: 北京东方亿思知识产权代理有限责任公司 11258 代理人: 宋鹤
地址: 英国*** 国省代码: 英国;GB
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 处理 异常 事件 装置 方法
【说明书】:

技术领域

发明涉及数据处理领域。更具体地,本发明涉及用于处理异常事件的装置和方法。

背景技术

当数据处理正进行时,可能发生异常事件,从而指示应中断数据处理以使异常处理例程得以执行。举例而言,异常事件可指示:处理结果不明确;处理资源已经溢出,或者已自外部设备接收到异常信号。可以处理多个异常状态中的异常事件。每个异常状态可具有不同的优先级别和与其相关联的不同资源。

在异常状态中对异常处理例程进行处理时,向每个异常状态提供其自身的堆栈数据储存器以储存临时变量可为有用的。堆栈数据储存器通常储存在存储器中,并且,为先进先出(first-in-first-out;FIFO)数据结构。堆栈数据储存器具有向其分配的预定量的存储器空间。如果堆栈上所储存的数据过多,则堆栈可能超过其所分配的存储器空间。堆栈可能超出页边界,并且,可能不具有在存储器中访问下一页的访问权,因此触发了存储器中止。如果处理器试图将大于堆栈内余留空间的变量储存于堆栈上,则还可能导致错误。这种类型的错误称为堆栈溢出。通常而言,堆栈溢出是与堆栈过度使用有关的任何错误,所述错误防止将数据值储存于所述堆栈上。

通常而言,当发生异常事件后,异常处理例程所执行的首要任务的一个是将一些变量压入堆栈上。因此,重要的是,堆栈容量在引入异常时对异常处理例程是可用的,以确保异常处理例程可成功地开始。如果堆栈溢出,则该溢出可能妨碍继续正常执行该异常处理例程,因为堆栈溢出自身可触发导致另一异常处理例程的异常事件来试图将变量压入堆栈上,进而导致另一堆栈溢出异常事件。此举可导致异常事件的无尽循环回路,其中每个异常事件均试图将变量加载到堆栈上并且,每个异常事件均触发由堆栈溢出所致的进一步异常事件,并且,由于此递归异常的进入,这可使系统发生崩溃。本技术试图降低这种崩溃的可能性。

发明内容

从一个方面来看,本发明提供数据处理装置,其包括:

处理电路,所述处理电路被配置为处理数据,其中,所述处理电路具有多个异常状态,所述异常状态包括基本级别异常状态及至少一个进一步的异常状态;

至少一个异常返回寄存器,所述异常返回寄存器用于储存异常返回数据以控制处理电路在处理异常事件后返回,所述至少一个进一步级别异常状态各具有相应的异常返回寄存器,所述异常返回寄存器在处于相应的进一步级别异常状态中时由处理电路专用;

基本级别堆栈指针寄存器,所述基本级别堆栈指针用于储存基本级别堆栈指针,以便在所述处理电路处于所述异常状态中任何一者时使用,所述基本级别堆栈指针指示基本级别堆栈数据储存器在存储器中的位置;

至少一个进一步级别堆栈指针寄存器,进一步堆栈指针寄存器用于储存至少一个进一步级别堆栈指针,每个进一步的堆栈指针仅供所述处理电路处于对应的进一步级别异常状态中时使用,并且,指示对应的进一步级别堆栈数据储存器在所述存储器中所处的位置;以及

堆栈指针选择电路,所述堆栈指针选择电路被配置为:选择当前堆栈指针,并且,控制所述处理电路在处理数据时使用由所述当前堆栈指针所指示的当前堆栈数据储存器;其中:

当所述处理电路处于所述基本级别异常状态中时,所述堆栈指针选择电路被配置为将所述基本级别堆栈指针选作所述当前堆栈指针;并且,

当所述处理电路处于所述至少一个进一步级别状态中的一者时,所述堆栈指针选择电路被配置为将所述基本级别堆栈指针及对应于当前进一步级别异常状态的进一步级别堆栈指针中的一者选作所述当前堆栈指针,所述处理电路继续使用对应于所述当前进一步级别异常状态的异常返回寄存器,而不论所述当前堆栈指针是所述基本级别堆栈指针还是所述进一步级别堆栈指针。

本文提供一种装置,其包括具有多个异常状态的处理电路。所述异常状态包括基本级别异常状态及至少一个进一步级别异常状态。在一个实施例中,基本级别异常状态用于处理使用者应用,而异常事件导致异常处理例程在进一步级别异常状态中的目标状态下受到处理(尽管在可替换实施例中,异常事件也可针对于基本级别异常状态)。进一步级别异常状态至少具有相应的异常返回寄存器,以用于储存异常返回数据,以在处理完异常事件后控制返回到先前程序(如果基本级别异常状态用于处理异常处理例程,则基本级别异常状态也可具有相应的异常返回寄存器)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201180014331.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top