[发明专利]处理异常事件的装置和方法有效
申请号: | 201180014331.5 | 申请日: | 2011-02-28 |
公开(公告)号: | CN102804134A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 理查德·罗伊·格里森思怀特 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/318;G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 宋鹤 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 异常 事件 装置 方法 | ||
1.一种数据处理装置,包括:
处理电路,所述处理电路被配置为处理数据,所述处理电路具有多个异常状态,所述异常状态包括基本级别异常状态及至少一个进一步级别异常状态;
至少一个异常返回寄存器,所述异常返回寄存器用于储存异常返回数据以控制所述处理电路从处理异常事件返回,所述至少一个进一步级别异常状态各具有相应的异常返回寄存器,在处于相应的进一步级别异常状态中时,所述异常返回寄存器由所述处理电路专用;
基本级别堆栈指针寄存器,所述基本级别堆栈指针寄存器用于储存基本级别堆栈指针以便在所述处理电路处于所述异常状态中的任何一者时使用,所述基本级别堆栈指针指示基本级别堆栈数据储存器在存储器中的位置;
至少一个进一步级别堆栈指针寄存器,所述进一步级别堆栈指针寄存器用于储存至少一个进一步级别堆栈指针,每个进一步级别堆栈指针专用于所述处理电路处于相应的进一步级别异常状态中时,并且,指示相应的进一步级别堆栈数据储存器在所述存储器中的位置;以及
堆栈指针选择电路,所述堆栈指针选择电路被配置为选择当前堆栈指针,并且,被配置为控制所述处理电路在处理数据时使用由所述当前堆栈指针所指示的当前堆栈数据储存器;其中:
当所述处理电路处于所述基本级别异常状态中时,所述堆栈指针选择电路被配置为将所述基本级别堆栈指针选作所述当前堆栈指针;以及
当所述处理电路处于所述至少一个进一步级别状态中的一者时,所述堆栈指针选择电路被配置为将所述基本级别堆栈指针及对应于当前进一步级别异常状态的所述进一步级别堆栈指针中的一者选作所述当前堆栈指针,所述处理电路继续使用对应于所述当前进一步级别异常状态的所述异常返回寄存器,而不论所述当前堆栈指针是所述基本级别堆栈指针还是所述进一步级别堆栈指针。
2.如权利要求1所述的数据处理装置,其中,所述堆栈指针选择电路响应于与目标进一步级别异常状态相关的异常事件,来将对应于所述目标进一步级别异常状态的所述进一步级别堆栈指针选作所述当前堆栈指针。
3.如权利要求2所述的数据处理装置,其中,所述处理电路响应于所述异常事件,而在所述目标进一步级别异常状态中处理异常处理例程;以及
所述堆栈指针选择电路被控制为在所述处理电路已经完成对所述异常处理例程的初始部分的处理之后,将所述当前堆栈指针自对应于所述目标进一步级别异常状态的所述进一步级别堆栈指针切换成所述基本级别堆栈指针。
4.如权利要求3所述的数据处理装置,其中,所述异常处理例程包括指令,所述指令用于控制所述堆栈指针选择电路,以将所述当前堆栈指针自对应于所述目标进一步级别异常状态的所述进一步级别堆栈指针切换成所述基本级别堆栈指针。
5.如前述权利要求中的任一项所述的数据处理装置,包括堆栈指针选择寄存器,所述堆栈指针选择寄存器被配置为储存堆栈指针选择值,所述堆栈指针选择值指示所述当前堆栈指针是所述基本级别堆栈指针还是对应于所述当前进一步级别异常状态的所述进一步级别堆栈指针。
6.如权利要求5所述的数据处理装置,其中,当所述处理电路处于所述至少一个进一步级别异常状态中的一者时,所述堆栈指针选择电路取决于所述堆栈指针选择值而选择所述当前堆栈指针。
7.如权利要求6所述的数据处理装置,其中,当所述处理电路处于所述至少一个进一步级别异常状态中的一者时,所述堆栈指针选择电路被配置为:
(i)当所述堆栈指针选择值具有第一值时,将所述基本级别堆栈指针选作所述当前堆栈指针;以及
(ii)当所述堆栈指针选择值具有第二值时,将对应于所述当前进一步级别异常状态的所述进一步级别堆栈指针选作所述当前堆栈指针。
8.如权利要求6和7中的任一项所述的数据处理装置,其中所述处理电路响应于堆栈指针选择指令,而将一更新的堆栈指针选择值写入所述堆栈指针选择寄存器。
9.如权利要求5至8中的任一项所述的数据处理装置,包括异常控制器,所述异常控制器响应于异常事件而控制所述处理电路来处理对应于所述异常事件的异常处理例程,至少一个异常事件具有多个相应的异常处理例程;
其中,一旦发生所述至少一个异常事件,则所述异常控制器选择所述多个相应的异常处理例程中的一者,以用于通过所述处理电路取决于所述堆栈指针选择值来作处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180014331.5/1.html,转载请声明来源钻瓜专利网。