[发明专利]一种基于RISC-V架构芯片采用软件实现中断嵌套的方法有效
申请号: | 201810339587.7 | 申请日: | 2018-04-16 |
公开(公告)号: | CN108595256B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 段志杰;胡振波;刘凌云 | 申请(专利权)人: | 武汉市聚芯微电子有限责任公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F15/78 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 赵伟 |
地址: | 430000 湖北省武汉市东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 risc 架构 芯片 采用 软件 实现 中断 嵌套 方法 | ||
本发明公开了一种基于RISC‑V架构芯片采用软件实现中断嵌套的方法,进入中断时在堆栈分配空间将相关通用寄存器、记录当前断点位置的寄存器压栈保护。判断中断类型,将相应控制状态寄存器压栈保护;将外部中断中最高优先级的中断设置为在执行时不被任何其他中断嵌套;对外部中断中的非最高优先级的中断通过将PLIC的阈值设置为当前外部中断优先级来实现不同级别外部中断之间的嵌套;通过设置定时器中断使能、软件中断使能以及外部中断使能的组合来实现三种类型中断之间的嵌套优先级,并在执行非最高优先级的外部中断、定时器中断、软件中断时打开全局中断;优先将PLIC阈值出栈实现更快的中断响应;该方法可显著提高RISC‑V架构芯片对于更高优先级中断的响应能力。
技术领域
本发明属于单片机应用技术领域,更具体地,涉及一种基于RISC-V架构芯片采用软件实现中断嵌套的方法。
背景技术
RISC-V是加州大学伯克利分校于2014年正式发布的一种开源指令集架构,该架构芯片具有三种类型的中断:外部中断、定时器中断、软件中断;其中,外部中断优先级最高,软件中断优先级最低,定时器中断优先级居中。优先级最高的外部中断的中断源包括GPIO中断、PWM中断,看门狗中断以及RTC中断;这些外部中断源统一由名为PLIC的中断控制器进行管理,这些外部中断源之间可以通过编程设置7个中断优先级。只有当外部中断源的优先级大于PLIC的阈值时,PLIC才被允许响应该外部中断源。定时器中断和软件中断为独立的中断源,不受PLIC控制,只有分别使能定时器中断、软件中断,再打开全局中断时才能响应。
然而RISC-V架构芯片不具备中断嵌套的能力,即只能等待当前正在执行的中断执行完毕才能响应其它中断,不支持比当前优先级更高的中断将其打断。在比如ARM架构的STM32F103系列单片机中,由于具备中断嵌套的硬件机制NVIM,可以使用硬件实现快速的中断嵌套的功能;对于传统的8051单片机,其本身具有两个中断优先级,可实现二级中断嵌套。对于RISC-V架构芯片,既不具备STM32F103系列单片机的硬件嵌套机制,也不具备8051单片机的二级嵌套功能。因此可以通过软件的方式实现中断嵌套。
在中国专利201210397619.1中公开了一种适用于MIPS32架构处理器移植μCOS-II操作系统后的中断处理方法及装置,该方法的主要操作是:进入中断后,保存上下文,通过读取中断优先级,打开中断,使能中断嵌套,然后执行中断处理程序后,禁止中断,恢复上下文,返回打断的中断处继续执行。但该专利技术主要针对MIPS32架构处理器,虽然包括了常用的压栈、出栈的操作,但同样包括了像SR这样具体的寄存器操作,因此并不适用于RISC-V架构芯片。并且该方案中设置是否允许中断嵌套的方案也不适用于RISC-V架构芯片这样具有三种大类中断的处理器;进入中断后,三种类型中断之间并不是通过读取优先级的方式来设定是否允许嵌套需要人为控制。
在李晓明的论文《8031单片机多级中断嵌套实现》所公开的技术中提出了一种利用软件实现8031单片机多级中断嵌套的方法,由于8031仅支持两级嵌套,当需要实现更多级嵌套时,该论文提出使用RETI指令清除优先级状态触发器的方案:在中断服务函数入口插入以RETI指令结尾的程序块,该程序块的作用是将RETI指令后的第一条指令地址压栈。当第一次执行完RETI后,既清除了优先级状态触发器,从而允许中断嵌套,又能继续执行原来的中断服务函数。该方法适用于简易的中断管理系统,若要实现四级或四级以上的中断嵌套,需要设置更多的软标志,否则容易导致混乱的打断局面,而RISC-V架构芯片并不需要使用RETI类型的指令才能允许中断嵌套,因此该方法并不适用于RISC-V架构芯片。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于RISC-V架构芯片采用软件实现中断嵌套的方法,其目的在于解决了基于RISC-V架构芯片不具备中断嵌套处理能力的技术问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉市聚芯微电子有限责任公司,未经武汉市聚芯微电子有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810339587.7/2.html,转载请声明来源钻瓜专利网。