[发明专利]基于中断嵌套的中断处理方法及系统无效
申请号: | 201110208554.7 | 申请日: | 2011-07-25 |
公开(公告)号: | CN102262566A | 公开(公告)日: | 2011-11-30 |
发明(设计)人: | 田劲;朱从义;张耀辉 | 申请(专利权)人: | 记忆科技(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 黄韧敏 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 中断 嵌套 处理 方法 系统 | ||
技术领域
本发明涉及中断技术领域,尤其涉及一种基于中断嵌套的中断处理方法及系统。
背景技术
在SOC(System on Chip,片上系统)中,通常每个向量IRQ(Interrupt Request,中断请求)都会有一定的优先级,当中断处理系统正在执行一个当前中断源的当前中断请求的中断服务程序时,有另一个优先级更高的其他中断源提出其他中断请求,这时中断处理系统会打断(即暂时终止)当前正在执行的级别较低的当前中断源的中断服务程序,去处理优先级更高的其他中断源,等到优先级更高的其他中断源的中断服务程序执行完毕以后,中断处理系统再返回到刚才被打断的优先级低的中断服务程序继续执行。
图1示出了现有技术中的中断嵌套处理的流程,其包括步骤有:
步骤S101,当前中断源发出当前中断请求。
步骤S102,中断处理系统处理当前中断请求。
步骤S103,判断是否有高优先级的其他中断请求,若是则执行步骤S104,否则执行步骤S106。
步骤S104,处理所述高优先级的其他中断请求。
步骤S105,其他中断请求处理完毕,返回处理当前中断请求,即返回步骤S102。
步骤S106,当前中断请求处理完毕。
若当中断处理系统正在执行当前中断请求的中断服务程序时,中断处理系统连续接收到若干个高优先级的其他中断请求,这样可能导致中断处理系统一直处于处理优先级高的其他中断请求的循环当中,而最初被打断的优先级低的当前中断请求将一直无法得到处理,这种情况的出现在某些场合会导致SOC系统的中断处理效率降低。
综上可知,现有中断处理技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种基于中断嵌套的中断处理方法及系统,其解决了低优先级中断请求长时间无法得到处理的问题,提高了中断处理效率。
为了实现上述目的,本发明提供一种基于中断嵌套的中断处理方法,各种优先级的中断源分别设有中断计数器,各所述中断计数器设有饱和值,所述中断处理方法包括步骤如下:
处理当前中断源的当前中断请求过程中,若收到高优先级的其他中断源的其他中断请求,则打断所述当前中断请求,否则继续处理所述当前中断请求直至处理完毕;
所述当前中断源的中断计数器统计所述当前中断请求被高优先级的所述其他中断请求打断的打断次数,若所述打断次数等于所述中断计数器的所述饱和值,则将所述当前中断源的优先级升高;
处理高优先级的所述其他中断请求直至完毕,返回处理该当前中断请求。
根据本发明所述的中断处理方法,所述处理当前中断源的当前中断请求过程中,若收到高优先级的其他中断源的其他中断请求,则打断所述当前中断请求,否则继续处理所述当前中断请求直至处理完毕的步骤包括:
在闲置状态下收到当前中断源的当前中断请求时,处理该当前中断请求;
若收到所述其他中断源的其他中断请求,判断所述其他中断请求的优先级是否高于所述当前中断请求的优先级;
若所述其他中断请求的优先级高于所述当前中断请求的优先级,则打断所述当前中断请求;
若所述其他中断请求的优先级低于或等于所述当前中断请求的优先级,则继续处理所述当前中断请求直至处理完毕。
根据本发明所述的中断处理方法,所述当前中断源的中断计数器统计所述当前中断请求被高优先级的所述其他中断请求打断的打断次数,若所述打断次数等于所述中断计数器的所述饱和值,则将所述当前中断源的优先级升高的步骤包括:
所述当前中断请求被打断后,将该当前中断源的所述中断计数器加1;
判断所述当前中断源的中断计数器是否达到所述饱和值;
若达到所述饱和值,则所述当前中断源的优先级暂时升高1级,并且将所述中断计数器清零。
根据本发明所述的中断处理方法,所述继续处理所述当前中断请求直至处理完毕的步骤之后还包括:
判断所述当前中断源的优先级是否发生改变;
若发生改变,则将所述当前中断源的优先级恢复至初始值,并将所述当前中断源的中断计数器清零后返回闲置状态;
若未发生改变,则将所述当前中断源的所述中断计数器清零后返回闲置状态。
根据本发明所述的中断处理方法,所述各种优先级的中断源分别设有寄存器,所述寄存器用于存储所述当前中断源的优先级及其对应的所述饱和值。
根据本发明所述的中断处理方法,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于记忆科技(深圳)有限公司,未经记忆科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110208554.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:文件备份的方法及装置
- 下一篇:扩充卡固定装置