一种基于RISC-V架构的异常和中断处理系统及方法技术方案

技术编号:21453698 阅读:17 留言:0更新日期:2019-06-26 04:42
本发明专利技术涉及低功耗内核中断处理技术领域,尤其涉及一种基于RISC‑V架构的异常和中断处理系统及方法,包括模式寄存器、异常向量基址寄存器、状态寄存器、异常原因寄存器、异常返回地址寄存器、中断向量基址寄存器、中断状态寄存器、中断返回地址寄存器。有益效果:通过在处理器的内核中分别增加模式寄存器、中断向量基址寄存器、中断状态寄存器及中断返回地址寄存器,将处理器的中断处理模式与异常处理模式分开处理,以使得异常嵌套中断时,处理器的程序能从异常处理模式与中断处理模式中退出,在存在异常嵌套中断时系统能够恢复。

【技术实现步骤摘要】
一种基于RISC-V架构的异常和中断处理系统及方法
本专利技术涉及低功耗内核中断处理
,尤其涉及一种基于RISC-V架构的异常和中断处理系统及方法。
技术介绍
中断机制(Interrupt),即处理器核在顺序执行程序指令流的过程中突然被别的请求打断而中止执行当前的程序,转而去处理别的事情,待其处理完了别的事情,然后重新回到之前程序中断的点继续执行之前的程序指令流。其中,打断处理器执行程序指令流的“别的请求”便称之为中断请求(InterruptRequest),而中断请求的来源则称之为中断源(InterruptSource),通常情况下,中断源主要来自外围硬件设备。而处理器转去处理“别的事情”便称之为中断服务程序(InterruptServiceRoutine,ISR)。中断处理是一种正常的机制,而非一种错误。处理器收到中断请求之后,需要保护当前程序现场,简称为保护现场。等到处理完中断服务程序之后,处理器需要恢复之前的现场,从而继续执行之前被打断的程序,简称为恢复现场。异常(Exception)机制,即处理器核在顺序执行程序指令流的过程中突然遇到了异常的事情而中止执行当前的程序,转而去处理该异常。处理器遇到的“异常的事情”称为异常(Exception)。异常是由处理器内部事件或程序执行中的事件引起的,譬如本身硬件故障、程序故障,或者执行特殊的系统服务指令而引起的,简而言之是一种内因。异常发生后,处理器会进入异常服务处理程序。因此,在RISC-V架构中,存在异常嵌套中断时系统无法恢复的问题。
技术实现思路
针对现有技术中存在的上述问题,现提供一种基于RISC-V架构的异常和中断处理系统及方法。具体技术方案如下:一种基于RISC-V架构的异常和中断处理系统,其中包括:一模式寄存器,用于指示当前系统的工作模式;一异常向量基址寄存器,用于发生异常请求时存储异常向量的基址;一状态寄存器,用于发生异常请求时存储异常处理的状态;一异常原因寄存器,用于发生异常请求时存储异常原因;一异常返回地址寄存器,用于发生异常请求时存储异常处理完毕后的返回地址;一中断向量基址寄存器,用于发生中断时存储中断向量的基址;一中断状态寄存器,用于发生中断时存储中断处理的状态;一中断返回地址寄存器,用于发生中断时存储中断处理完毕后的返回地址。优选的,所述异常和中断处理系统还包括一出错地址或指令寄存器,用于存储引起当前异常的存储器的访问地址或者非法指令编码。优选的,所述异常向量基址寄存器、所述异常返回地址寄存器均为CSR寄存器。优选的,所述状态寄存器为CSR寄存器。优选的,所述工作模式包括机器子模式、普通模式、中断处理模式、异常处理模式、非屏蔽中断模式。优选的,所述异常处理模式至少包括异常的优先级模式、进入异常处理模式、退出异常处理模式、异常服务程序模式和异常嵌套模式;所述中断处理模式至少包括中断屏蔽模式、中断优先级与仲裁模式、进入中断处理模式、退出中断处理模式、中断服务程序模式和中断嵌套模式。本专利技术还包括一种基于RISC-V架构的异常和中断处理方法,其中,用于上述任意一项所述的基于RISC-V架构的异常和中断处理系统,所述基于RISC-V架构的异常和中断处理方法包括一中断处理方法,所述中断处理方法包括以下步骤:步骤S10、处理器的内核响应到中断请求时,更新所述处理器的当前状态及存储所述处理器的中断处理程序的返回地址,并获取所述处理器的中断向量的基址,开始执行所述中断请求对应的中断处理模式;步骤S11、在执行完所述中断请求对应的所述中断处理模式之后,更新中断处理的状态及所述处理器的当前状态,将处理器的指令地址从所述处理器的中断处理程序的返回地址中恢复,退出所述中断请求对应的所述中断处理模式。优选的,所述中断处理方法还包括以下步骤:步骤S20、处理器的内核响应到中断请求时,更新所述处理器的当前状态及存储所述处理器的返回地址,并获取所述处理器的中断向量的基址,开始执行所述中断请求对应的中断处理模式;步骤S21、在执行所述中断请求对应的所述中断处理模式时,发生了异常,此时,所述处理器的内核马上响应到异常信息,分别更新所述处理器的当前状态及存储所述处理器的异常处理程序的返回地址,并获取所述处理器的异常向量的基址,执行对应的异常处理模式;步骤S22、在执行完所述异常处理模式之后,更新所述异常处理的状态与所述处理器的当前状态,将所述处理器的指令地址从所述处理器的异常处理程序的返回地址中恢复,退出所述异常处理模式,重新回到所述中断请求对应的所述中断处理模式中执行;步骤S23、在执行完所述中断请求对应的所述中断处理模式之后,更新所述异常处理状态及所述处理器的当前状态,将所述处理器的指令地址从所述处理器的中断处理程序的返回地址中恢复,退出所述中断请求对应的所述中断处理模式。本专利技术还包括一种基于RISC-V架构的异常和中断处理方法,其中,用于上述任意一项所述的基于RISC-V架构的异常和中断处理系统,所述基于RISC-V架构的异常和中断处理方法包括一异常处理方法,所述异常处理方法包括以下步骤:步骤S30、处理器的内核响应到异常请求时,更新所述处理器的当前状态及存储所述处理器的异常处理程序的返回地址,并获取所述处理器的异常向量的基址,开始执行所述异常请求对应的异常处理模式;步骤S31、在执行完所述异常请求对应的所述异常处理模式之后,更新异常处理的状态及所述处理器的当前状态,将处理器的指令地址从所述处理器的异常处理程序的返回地址中恢复,退出所述异常请求对应的所述异常处理模式。优选的,所述异常处理方法还包括以下步骤:步骤S40、处理器的内核响应到异常请求时,更新所述处理器的当前状态及存储所述处理器的异常处理程序的返回地址,并获取所述处理器的异常向量的基址,开始执行所述异常请求对应的异常处理模式;步骤S41、在执行所述异常请求对应的所述异常处理模式时,再次发生异常,此时,所述处理器的内核的中断控制器根据所述异常处理的状态的值判断之前所述处理器是否处于所述异常处理模式;若是,则转向步骤S42;若否,则转向所述步骤S44;所述步骤S42、所述处理器的内核响应到再次异常请求时,更新所述处理器的当前状态及存储所述处理器的异常处理程序的返回地址,并获取所述处理器的异常向量的基址,开始执行再次发生异常请求对应的异常处理模式;步骤S43、在执行完再次发生异常请求对应的异常处理模式之后,更新所述异常处理的状态与所述处理器的当前状态,将所述处理器的指令地址从所述处理器的异常处理程序的返回地址中恢复,退出再次发生异常请求对应的所述异常处理模式,重新回到所述异常请求对应的所述异常处理模式中执行;步骤S44、在执行完所述异常请求对应的所述异常处理模式之后,更新所述异常处理的状态与所述处理器的当前状态,将所述处理器的指令地址从所述处理器的异常处理程序的返回地址中恢复,退出所述异常请求对应的所述与异常处理模式。本专利技术的技术方案有益效果在于:通过在处理器的内核中分别增加模式寄存器、中断向量基址寄存器、中断状态寄存器及中断返回地址寄存器,将处理器的中断处理模式与异常处理模式分开处理,从而加快中断的响应速度,以使得异常嵌套中断时,处理器的程序能从异常处理模式与中断处理模式中退出。附图说明参考所本文档来自技高网...

【技术保护点】
1.一种基于RISC‑V架构的异常和中断处理系统,其特征在于,包括:一模式寄存器,用于指示当前系统的工作模式;一异常向量基址寄存器,用于发生异常请求时存储异常向量的基址;一状态寄存器,用于发生异常请求时存储异常处理的状态;一异常原因寄存器,用于发生异常请求时存储异常原因;一异常返回地址寄存器,用于发生异常请求时存储异常处理完毕后的返回地址;一中断向量基址寄存器,用于发生中断时存储中断向量的基址;一中断状态寄存器,用于发生中断时存储中断处理的状态;一中断返回地址寄存器,用于发生中断时存储中断处理完毕后的返回地址。

【技术特征摘要】
1.一种基于RISC-V架构的异常和中断处理系统,其特征在于,包括:一模式寄存器,用于指示当前系统的工作模式;一异常向量基址寄存器,用于发生异常请求时存储异常向量的基址;一状态寄存器,用于发生异常请求时存储异常处理的状态;一异常原因寄存器,用于发生异常请求时存储异常原因;一异常返回地址寄存器,用于发生异常请求时存储异常处理完毕后的返回地址;一中断向量基址寄存器,用于发生中断时存储中断向量的基址;一中断状态寄存器,用于发生中断时存储中断处理的状态;一中断返回地址寄存器,用于发生中断时存储中断处理完毕后的返回地址。2.根据权利要求1所述的基于RISC-V架构的异常和中断处理系统,其特征在于,所述异常和中断处理系统还包括一出错地址或指令寄存器,用于存储引起当前异常的存储器的访问地址或者非法指令编码。3.根据权利要求1所述的基于RISC-V架构的异常和中断处理系统,其特征在于,所述异常向量基址寄存器、所述异常返回地址寄存器均为CSR寄存器。4.根据权利要求1所述的基于RISC-V架构的异常和中断处理系统,其特征在于,所述状态寄存器为CSR寄存器。5.根据权利要求1所述的基于RISC-V架构的异常和中断处理系统,其特征在于,所述工作模式包括机器子模式、普通模式、中断处理模式、异常处理模式、非屏蔽中断模式。6.根据权利要求5所述的基于RISC-V架构的异常和中断处理系统,其特征在于,所述异常处理模式至少包括异常的优先级模式、进入异常处理模式、退出异常处理模式、异常服务程序模式和异常嵌套模式;所述中断处理模式至少包括中断屏蔽模式、中断优先级与仲裁模式、进入中断处理模式、退出中断处理模式、中断服务程序模式和中断嵌套模式。7.一种基于RISC-V架构的异常和中断处理方法,其特征在于,用于上述权利要求1-6任意一项所述的基于RISC-V架构的异常和中断处理系统,所述基于RISC-V架构的异常和中断处理方法包括一中断处理方法,所述中断处理方法包括以下步骤:步骤S10、处理器的内核响应到中断请求时,更新所述处理器的当前状态及存储所述处理器的中断处理程序的返回地址,并获取所述处理器的中断向量的基址,开始执行所述中断请求对应的中断处理模式;步骤S11、在执行完所述中断请求对应的所述中断处理模式之后,更新中断处理的状态及所述处理器的当前状态,将处理器的指令地址从所述处理器的中断处理程序的返回地址中恢复,退出所述中断请求对应的所述中断处理模式。8.根据权利要求7所述的基于RISC-V架构的异常和中断处理方法,其特征在于,所述中断处理方法还包括以下步骤:步骤S20、处理器的内核响应到中断请求时,更新所述处理器的当前状态及存储所述处理器的返回地址,并获取所述处理器的中断向量的基址,开始执行所述中断请求对应的中断处理模式;步骤S21、在执行所述中断请求对应的所述中断处理模式时,发生了异常,此时,所述处理...

【专利技术属性】
技术研发人员:吴俊顾冲李青
申请(专利权)人:晶晨半导体上海股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1