[发明专利]一种中断处理方法、系统及计算机可读存储介质在审
申请号: | 201810953987.7 | 申请日: | 2018-08-21 |
公开(公告)号: | CN110851384A | 公开(公告)日: | 2020-02-28 |
发明(设计)人: | 郭晖;张楠赓 | 申请(专利权)人: | 北京嘉楠捷思信息技术有限公司 |
主分类号: | G06F13/26 | 分类号: | G06F13/26 |
代理公司: | 北京市中伦律师事务所 11410 | 代理人: | 杨黎峰;钟锦舜 |
地址: | 100094 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 中断 处理 方法 系统 计算机 可读 存储 介质 | ||
1.一种中断处理方法,其特征在于,所述方法适用于基于RISC-V指令集架构的系统,所述方法包括:
将正在执行的第一中断的优先级设为中断优先级阈值;
打开处理器核心的全局中断使能;
接收第二中断,判断所述第二中断的优先级是否超过所述中断优先级阈值;
若所述第二中断的优先级超过所述中断优先级阈值,暂停执行所述第一中断,并开始执行所述第二中断;
若所述第二中断的优先级未超过所述中断优先级阈值,则继续执行所述第一中断。
2.根据权利要求1所述的方法,其特征在于,所述若所述第二中断的优先级超过所述中断优先级阈值,则暂停执行所述第一中断,并开始执行所述第二中断之后,所述方法还包括:
在所述第二中断执行完毕后,恢复执行所述第一中断。
3.根据权利要求2所述的方法,其特征在于,所述若所述第二中断的优先级超过所述中断优先级阈值,则暂停执行所述第一中断,并开始执行所述第二中断进一步包括:
所述第二中断开始执行时,将所述中断优先级阈值更新为第二中断的优先级;以及
所述第二中断执行完毕后,将所述中断优先级阈值恢复为第一中断的优先级。
4.根据权利要求3所述的方法,其中,所述将所述中断优先级阈值恢复为第一中断的优先级具体包括:
在所述第一中断或所述第二中断开始执行时,对当前的中断优先级阈值寄存器进行备份;以及
当所述第一中断或所述第二中断执行完毕时,将所述备份恢复。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述中断优先级阈值的初始值为0。
6.根据权利要求1所述的方法,其特征在于,所述打开所述处理器核心中的全局中断使能具体包括:
打开所述处理器核心的机器状态寄存器中的机器中断使能位。
7.根据权利要求1所述的方法,其特征在于,在所述至少一个处理器内核接收并执行第一中断之前,所述方法还包括:
在初始化时,为每一个中断源进行优先级赋值并存储在中断控制器中相应的优先级寄存器中,其中,所述中断源包括所述第一中断与第二中断。
8.根据权利要求4所述的方法,其特征在于,所述中断处理方法具体应用于RISC-V机器模式下。
9.一种中断处理系统,其特征在于,所述方法适用于基于RISC-V指令集架构的系统,所述系统包括:
阈值设置模块,用于将正在执行的第一中断的优先级设为中断优先级阈值;
全局中断使能模块,用于打开处理器核心中的全局中断;
中断判断模块,用于接收第二中断,判断所述第二中断的优先级是否超过所述中断优先级阈值;
中断执行模块,用于:
若所述第二中断的优先级超过所述中断优先级阈值,暂停执行所述第一中断,并开始执行所述第二中断;
若所述第二中断的优先级未超过所述中断优先级阈值,则继续执行所述第一中断。
10.根据权利要求9所述的系统,其特征在于,所述若所述第二中断的优先级超过所述中断优先级阈值,则暂停执行所述第一中断,并开始执行所述第二中断之后,所述中断执行模块还用于:
在所述第二中断执行完毕后,恢复执行所述第一中断。
11.根据权利要求10所述的系统,其特征在于,若所述第二中断的优先级超过所述中断优先级阈值,所述阈值设置模块进一步用于:
所述第二中断开始执行时,将所述中断优先级阈值更新为第二中断的优先级;以及
所述第二中断执行完毕后,将所述中断优先级阈值恢复为第一中断的优先级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京嘉楠捷思信息技术有限公司,未经北京嘉楠捷思信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810953987.7/1.html,转载请声明来源钻瓜专利网。