[发明专利]一种基于RISC-V架构芯片采用软件实现中断嵌套的方法有效
申请号: | 201810339587.7 | 申请日: | 2018-04-16 |
公开(公告)号: | CN108595256B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 段志杰;胡振波;刘凌云 | 申请(专利权)人: | 武汉市聚芯微电子有限责任公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F15/78 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 赵伟 |
地址: | 430000 湖北省武汉市东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 risc 架构 芯片 采用 软件 实现 中断 嵌套 方法 | ||
1.一种基于RISC-V架构芯片采用软件实现中断嵌套的方法, 其特征在于,
进入中断时,将堆栈指针减去预设的数值以在堆栈中预先分配一定空间,将相关通用寄存器、记录当前断点位置的寄存器进行压栈保护;根据中断类型将相应控制状态寄存器压栈保护然后修改控制状态寄存器;
执行中断时,将外部中断中最高优先级的中断的优先级设置为在执行时不被任何其他中断嵌套;对外部中断中的非最高优先级的中断,则通过将PLIC的阈值设置为当前外部中断优先级来实现不同级别外部中断之间的嵌套;
通过设置定时器中断使能位、软件中断使能位以及外部中断使能位的组合,在软件层面上构成外部中断优先级高于定时器中断优先级、定时器中断优先级高于软件中断优先级来实现外部中断、定时器中断、软件中断之间的嵌套,并在执行非最高优先级的外部中断、定时器中断、软件中断时,打开全局中断使能位;
在中断结束后出栈时将堆栈指针加上减去的数值恢复入栈前的数值以回到中断前的断点处。
2.如权利要求1所述的基于RISC-V架构芯片采用软件实现中断嵌套的方法,其特征在于,出栈时优先将PLIC阈值出栈以实现更快的中断响应。
3.如权利要求2所述的基于RISC-V架构芯片采用软件实现中断嵌套的方法,其特征在于,调整压栈和出栈操作的执行顺序,使得部分压栈和出栈过程也能被打断以进一步提高中断的响应能力。
4.如权利要求1所述的基于RISC-V架构芯片采用软件实现中断嵌套的方法,其特征在于,具体包括如下步骤:
(1)在进入中断时,将堆栈指针减去预设的数值以在堆栈中预先分配一定空间;并将通用寄存器以及当前mepc寄存器进行压栈保护;
(2)判断当前中断是否为外部中断中断,若是外部中断,则进入步骤(3),若不是,则进入步骤(6);
(3)判断当前中断是否为最高优先级的外部中断,如果是则进入步骤(4),否则进入步骤(5);
(4)执行中断服务函数,中断服务函数结束后按照后进先出的顺序执行出栈操作,回到原程序被打断点继续执行;
(5)将当前PLIC的阈值进行压栈保护,将mie、mstatus寄存器压栈保护;将PLIC的阈值设置为当前中断优先级;关闭定时器中断使能位和软件中断使能位,打开外部中断使能位;打开全局中断使能位后开始执行该外部中断的中断服务函数,只允许优先级更高的外部中断对正在执行的中断服务函数进行打断;
(6)将mie、mstatus寄存器压栈保护,并进入步骤(7);
(7)判断该中断是否为定时器中断,如果是,则进入步骤(a);否则进入步骤(b);
(a)关闭定时器中断使能位和软件中断使能位,打开外部中断使能位,执行中断服务函数,中断服务函数结束后按照后进先出的顺序执行出栈操作,回到原程序被打断点继续执行;
(b)关闭软件中断使能位,打开外部中断使能位和定时器中断使能位;打开全局中断使能位,开始执行该定时器中断的中断服务函数;中断服务函数结束后按照后进先出的顺序执行出栈操作,回到原程序被打断点继续执行。
5.如权利要求4所述的基于RISC-V架构芯片采用软件实现中断嵌套的方法,其特征在于,进入中断服务函数后,如果被高优先级中断打断,则进入中断入口后,从步骤(1)开始执行;如果没有被打断,则正常执行完中断服务函数,进行出栈操作,出栈顺序按照后进先出执行,最后返回到被打断点继续执行。
6.如权利要求1或2所述的基于RISC-V架构芯片采用软件实现中断嵌套的方法,其特征在于,若接收的中断是软件中断,关闭软件中断使能位,打开外部中断使能位,打开定时器中断使能位;在软件层面上造成外部中断优先级或定时器中断优先级高于软件中断优先级;打开全局中断使能位,开始执行该软件中断的中断服务函数;允许外部中断、定时器中断对正在执行的中断服务函数进行打断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉市聚芯微电子有限责任公司,未经武汉市聚芯微电子有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810339587.7/1.html,转载请声明来源钻瓜专利网。