[发明专利]用于在异常驱动系统中处理异常的方法有效
申请号: | 201710291010.9 | 申请日: | 2017-04-28 |
公开(公告)号: | CN107402831B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 克里斯托弗·菲利普·史密斯 | 申请(专利权)人: | 北欧半导体公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/38;G06F9/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋融冰 |
地址: | 挪威特*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 异常 驱动 系统 处理 方法 | ||
公开了用于在异常驱动系统中处理异常的方法。一种在初始化模式或异常驱动模式中操作的异常驱动的基于计算的系统中处理异常的方法。该方法包括在检测到异常已经发生时使处理器执行异常处理指令。当系统在初始化模式中操作时,异常处理指令调用第一异常处理程序,该第一异常处理程序使在处理异常之前保存主寄存器组并在处理异常之后恢复主寄存器组,且当系统在异常驱动模式中操作时,异常处理指令调用第二异常处理程序,该第二异常处理程序不会使主寄存器保存并恢复。在一些示例中,异常处理指令初始地被配置成调用第一异常处理程序并当系统从初始化模式转换到异常驱动模式时自动更新,以便调用第二异常处理程序。
背景
当由处理器执行程序时,程序的指令从一组共享的寄存器(例如,主寄存器组)读取和写入一组共享的寄存器。当发生异常(即,需要特殊处理的反常或异常状况)时,程序执行的正常流程被打断,且程序通常跳转到实现异常处理程序的异常处理指令。例如,在图1中示出的,如果正执行主程序106的指令A104的时候发生异常102,那么处理器可从主程序106跳转到异常处理程序108。
异常处理程序108可使处理器在其处理异常的时候写入主寄存器组 109和从主寄存器组109读取。然而,由于主程序106仿佛没有异常存在一样地被写入(即,如果指令A104将5写入寄存器X,那么如果指令B 112 接着从寄存器X读取,那么指令B 112预计读取值5),因此重要的是在(例如,通过异常处理程序108)处理异常)之前,将主寄存器组109的状态被保留,使得当主程序106被重新使用时,主寄存器组109的状态可被恢复,从而使得主程序106可仿佛没有异常发生一样地继续。
因此,异常处理程序108通常使处理器在处理异常之前保存主寄存器组109的状态,以允许在处理异常的同时对主寄存器组109做出的任何改变被消除。异常处理程序108然后使处理器使用主寄存器组109(例如,写入主寄存器组109和从主寄存器组109读取)来处理异常(例如,异常处理程序108可调用用于处理特定类型的异常的子例程110)。一旦异常已被处理,异常处理程序108使处理器恢复主寄存器组109并(在合适的时候)返回主程序106的执行指令(例如,返回指令B 112)。但是,在处理异常之前和之后保存并恢复主寄存器组109花费大量的时间。
为了减少异常响应时间,开发了分组(banked)寄存器或影子(shadow) 寄存器的概念。分组寄存器或影子寄存器是被用于处理异常或用于处理特定类型的异常的单独的一组寄存器。由于单独的寄存器组被用于处理异常(或特定类型的异常),因此不需要在处理异常(或特定类型的异常)之前保存并恢复主寄存器组。
例如,如图2中所示,处理器可被配置成使用第一或主寄存器组204 (例如,写入主寄存器组204和从主寄存器组204读取)来执行主程序202 的指令。当在主程序202的指令A208的处理期间发生异常206时,可调用异常处理程序210。代替了使处理器保存并恢复主寄存器组204,处理器被配置成使用第二或影子寄存器组214(例如,写入影子寄存器组214和从影子寄存器组214读取)来执行异常处理程序210(例如,其可调用用于处理特定类型的异常的子例程212)。一旦异常已被处理,处理器返回到主程序202(例如,到指令B 216),其中它回到使用主寄存器组204(例如,写入主寄存器组204和从主寄存器组204读取)。尽管这大大减少了开销并减少了与异常相关联的有效延迟,但是影子寄存器组214需要额外的硬件来实现。
该问题在具有多个嵌套异常时被加剧,这是因为对每级嵌套异常通常具有一个影子寄存器组。当特定异常(例如,高优先级异常)可中断其他异常(例如,低优先级异常)的处理时,嵌套异常发生。
下面描述的实施方式仅作为示例被提供且不是对解决处理异常的已知方法的任何或所有缺点的实现的限制。
概述
本概述被提供来以简化的形式引入一系列概念,其在下面的详细描述中被进一步描述。本概述并非旨在标识出所要求保护的主题的关键特征或必要特征,亦非旨在用于限制所要求保护的主题的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北欧半导体公司,未经北欧半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710291010.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:寄存器异常检测装置
- 下一篇:一种对存储系统上的功能模块进行自动测试的方法