当前位置: 首页 > 专利查询>胡振波专利>正文

用于RISC-V架构的快速中断控制系统及方法技术方案

技术编号:20424901 阅读:119 留言:0更新日期:2019-02-23 08:24
本发明专利技术公开了一种用于RISC‑V架构的快速中断控制系统及方法,包括:匣口、中断源优先级寄存器、中断等待寄存器、优先级阈值寄存器、优先级判断模块、中断使能寄存器、中断响应寄存器、中断完成寄存器和EIP寄存器,每个中断源对应一个中断源优先级寄存器,匣口控制中断源的中断请求单一发送;中断源优先级寄存器存储中断源的优先级;中断等待寄存器用于存储表示中断等待状态的数值;优先级阈值寄存器存储中断目标的优先级阈值;优先级判断模块对比中断源和中断目标的优先级;中断使能寄存器存储屏蔽中断源的状态数值,通过在中断源与中断目标之间设置快速中断控制系统,控制中断请求的发送,达到解决在RISC‑V架构中实现中断嵌套机制问题的目的。

【技术实现步骤摘要】
用于RISC-V架构的快速中断控制系统及方法
本专利技术涉及低功耗内核中断处理
,具体涉及一种用于RISC-V架构的快速中断控制系统及方法。
技术介绍
中断机制(Interrupt),即处理器核在顺序执行程序指令流的过程中突然被别的请求打断而中止执行当前的程序,转而去处理别的事情,待其处理完了别的事情,然后重新回到之前程序中断的点继续执行之前的程序指令流。其中,打断处理器执行程序指令流的“别的请求”便称之为中断请求(InterruptRequest),而中断请求的来源则称之为中断源(InterruptSource),通常情况下,中断源主要来自外围硬件设备。而处理器转去处理“别的事情”便称之为中断服务程序(InterruptServiceRoutine,ISR)。中断处理是一种正常的机制,而非一种错误。处理器收到中断请求之后,需要保护当前程序现场,简称为保护现场。等到处理完中断服务程序之后,处理器需要恢复之前的现场,从而继续执行之前被打断的程序,简称为恢复现场。可能存在多个中断源同时向处理器发起请求的情形,因此需要对这些中断源进行仲裁,从而选择哪个中断源被优先处理,这种情况称之为中断仲裁,同时可以给不同的中断分配优先级以便于仲裁,因此中断中存在仲裁优先级。当处理器已经在处理某个中断过程,而此时有一个优先级更高的新中断请求到来,如果处理器不响应新的中断请求,而是继续执行当前正在处理的中断服务程序,待到彻底完成后才响应新的中断请求,这种情况称处理器“不支持中断嵌套”。另一种情况是处理器终止当前的中断服务程序,转而开始响应新的中断请求,并执行其中断服务程序,则称处理器“支持中断嵌套”,并且中断嵌套可以有很多层次。若新的中断请求优先级比正在处理的中断优先级低或者相同,则不管处理是否支持中断嵌套,处理器对新的中断请求不响应,直到处理完当前的中断才响应新的中断。RISC-V架构定义的中断分为:外部中断(ExternalInterrupt),是指来自处理器核外的中断,譬如外部设备UART、GPIO等产生的中断;计时器中断(TimerInterrupt),是指来自计时器的中断;软件中断(SoftwareInterrupt),是指软件自己触发的中断。如果三种中断同时发生,其响应的优先级顺序如下:外部中断优先级最高、软件中断次之,计时器中断最低。多个中断理论上上可能存在中断嵌套的情况,然而对于RISC-V架构而言,一旦响应中断进入异常模式之后,中断被全局关闭再也无法响应新的中断,因此RISC-V架构定义的硬件机制默认无法支持硬件中断嵌套行为。如果一定要支持中断嵌套,可使用软件嵌套的技术方案实现,除此之外,RISC-V架构也允许用户实现自定义的中断控制器实现硬件中断嵌套机制功能。ARM架构的STM32F103系列单片机中,由于具备中断嵌套的硬件机制NVIC,可以使用硬件实现快速的中断嵌套的功能。在张幼麟《单片机终端控制系统》的论文中指出,8051单片机的中断控制系统纯支持中断嵌套,但只支持2级嵌套。其中中断优先级的设定由特殊功能寄存器IP来进行管理,每个中断源在IP寄存器中对应一个控制位,这个控制位只有0、1两种可能,所以8051单片机只支持2级中断,其中1的优先级比0的高。但是由于RISC-V架构的默认硬件机制,故而在RISC-V架构的处理器中,既不具备ARM架构的硬件嵌套机制,也不具备8051的二级中断嵌套的机制,因此无法通过ARM架构和8051单片机的技术方案实现RISC-V架构中断嵌套机制问题,而且中断效率差。
技术实现思路
为解决上述技术问题,本专利技术提出了一种用于RISC-V架构的快速中断控制系统及方法,以达到解决在RISC-V架构中实现中断嵌套机制问题,提高中断处理的效率的目的。为达到上述目的,本专利技术的技术方案如下:一种用于RISC-V架构的快速中断控制系统,所述系统包括:匣口、中断源优先级寄存器、中断等待寄存器、优先级阈值寄存器、优先级判断模块、中断使能寄存器、中断响应寄存器、中断完成寄存器和EIP寄存器,所述系统为每个中断源分配一个匣口和编号,所述每个中断源对应一个中断源优先级寄存器,所述一个匣口对应一个中断等待寄存器;所述匣口,用于在中断请求经过匣口时控制中断源的中断请求单一发送;所述中断源优先级寄存器,用于存储系统为中断源设置的优先级;所述中断等待寄存器,用于存储表示中断等待状态的数值;所述优先级阈值寄存器,用于存储根据中断目标的优先级设置的优先级阈值;所述优先级判断模块,用于对比中断源的优先级和优先级阈值寄存器中的优先级阈值;所述中断使能寄存器用于存储表示对应中断源的屏蔽状态数值;所述中断响应寄存器,用于向处理器内核返回当前仲裁出的优先级最高的中断ID;所述中断完成寄存器,用于存储中断程序完成后写回的中断ID;所述EIP寄存器,用于指示当前有通过仲裁的中断正在发送给处理器内核。进一步地,所述匣口在接收中断请求后将不同类型的外部中断请求转换成统一的内部中断请求。进一步地,所述中断等待寄存器为只读寄存器,所述优先级阈值寄存器和所述中断使能寄存器均为存储器地址映射的可读可写寄存器,所述中断响应寄存器和所述中断完成寄存器在存储空间中映射为同一地址,该地址可读可写,中断响应时,处理器内核读此寄存器返回当前仲裁出的优先级最高的中断ID,中断完成时,处理器内核向此地址写回相应的中断ID。进一步地,所述中断源优先级寄存器、中断等待寄存器、优先级阈值寄存器、中断使能寄存器和中断完成寄存器均为32位。进一步地,所述中断源优先级寄存器的有效位数根据实际情况进行配置。进一步地,所述中断等待寄存器中置0或1,其中0表示中断未等待,1表示中断等待;所述中断使能寄存器中置0或1,其中0表示不屏蔽,1表示屏蔽。进一步地,所述EIP寄存器为只读寄存器,有效位为最低位,为0表示当前没有通过仲裁的中断,为1表示当前有通过仲裁的中断一种用于RISC-V架构的快速中断控制方法,所述方法步骤如下:Step1:中断源经过相应的匣口后被转换成统一的内部中断请求,同时硬件自动屏蔽对应闸口的中断源,并自动将相应中断源的中断等待寄存器置高;Step2:所有的内部中断请求经过硬件仲裁,选出优先级最高的中断请求,如果此中断请求的优先级高于中断目标当前的优先级阈值寄存器,系统向处理器内核发送中断通知;Step3:处理器内核收到中断通知,进入中断处理模式,并使用软件向所述系统发起中断响应读操作,作为响应反馈,所述系统返回该中断源的中断ID,同时所述系统硬件自动:将对应的中断等待寄存器清零;将优先级阈值寄存器的值存入硬件堆栈;将优先级阈值寄存器的值更新为该中断源的优先级;Step4:处理器内核根据收到的中断ID进入对应的中断服务程序中进行处理;Step5:在中断服务程序中,如果希望此中断能被更高优先级的中断打断而嵌套,则软件强行打开全局中断,全局中断打开后,处理器能再次响应中断,如有新的中断到来,所述系统将保证只有优先级更高的中断才会通过硬件仲裁和优先级阈值寄存器的比较而被发送给处理器内核,处理器内核接收到中断后会暂停当前的中断服务程序,转而响应新的中断,从而发生中断嵌套,若无新的中断请求,或者中断请求的优先级低于优先级阈值寄存器的值,则不会发生嵌套;S本文档来自技高网
...

【技术保护点】
1.一种用于RISC‑V架构的快速中断控制系统,其特征在于,所述系统包括:匣口、中断源优先级寄存器、中断等待寄存器、优先级阈值寄存器、优先级判断模块、中断使能寄存器、中断响应寄存器、中断完成寄存器和EIP寄存器,所述系统为每个中断源分配一个匣口和编号,所述每个中断源对应一个中断源优先级寄存器,所述一个匣口对应一个中断等待寄存器;所述匣口,用于在中断请求经过匣口时控制中断源的中断请求单一发送;所述中断源优先级寄存器,用于存储系统为中断源设置的优先级;所述中断等待寄存器,用于存储表示中断等待状态的数值;所述优先级阈值寄存器,用于存储根据中断目标的优先级设置的优先级阈值;所述优先级判断模块,用于对比中断源的优先级和优先级阈值寄存器中的优先级阈值;所述中断使能寄存器,用于存储表示对应中断源的屏蔽状态数值;所述中断响应寄存器,用于向处理器内核返回当前仲裁出的优先级最高的中断ID;所述中断完成寄存器,用于存储中断程序完成后写回的中断ID;所述EIP寄存器,用于指示当前有通过仲裁的中断正在发送给处理器内核。

【技术特征摘要】
1.一种用于RISC-V架构的快速中断控制系统,其特征在于,所述系统包括:匣口、中断源优先级寄存器、中断等待寄存器、优先级阈值寄存器、优先级判断模块、中断使能寄存器、中断响应寄存器、中断完成寄存器和EIP寄存器,所述系统为每个中断源分配一个匣口和编号,所述每个中断源对应一个中断源优先级寄存器,所述一个匣口对应一个中断等待寄存器;所述匣口,用于在中断请求经过匣口时控制中断源的中断请求单一发送;所述中断源优先级寄存器,用于存储系统为中断源设置的优先级;所述中断等待寄存器,用于存储表示中断等待状态的数值;所述优先级阈值寄存器,用于存储根据中断目标的优先级设置的优先级阈值;所述优先级判断模块,用于对比中断源的优先级和优先级阈值寄存器中的优先级阈值;所述中断使能寄存器,用于存储表示对应中断源的屏蔽状态数值;所述中断响应寄存器,用于向处理器内核返回当前仲裁出的优先级最高的中断ID;所述中断完成寄存器,用于存储中断程序完成后写回的中断ID;所述EIP寄存器,用于指示当前有通过仲裁的中断正在发送给处理器内核。2.根据权利要求1所述的用于RISC-V架构的快速中断控制系统,其特征在于,所述匣口在接收中断请求后将不同类型的外部中断请求转换成统一的内部中断请求。3.根据权利要求1或2所述的用于RISC-V架构的快速中断控制系统,其特征在于,所述中断等待寄存器为只读寄存器,所述优先级阈值寄存器和所述中断使能寄存器均为存储器地址映射的可读可写寄存器,所述中断响应寄存器和所述中断完成寄存器在存储空间中映射为同一地址,该地址可读可写,中断响应时,处理器内核读此寄存器返回当前仲裁出的优先级最高的中断ID,中断完成时,处理器内核向此地址写回相应的中断ID。4.根据权利要求3所述的用于RISC-V架构的快速中断控制系统,其特征在于,所述中断源优先级寄存器、中断等待寄存器、优先级阈值寄存器、中断使能寄存器和中断完成寄存器均为32位。5.根据权利要求4所述的用于RISC-V架构的快速中断控制系统,其特征在于,所述中断源优先级寄存器的有效位数根据实际情况进行配置。6.根据权利要求4所述的用于RISC-V架构的快速中断控制系统,其特征在于,所述中断等待寄存器中置0或1,其中0表示中断未等待,1表示中断等待;所述中断使能寄存器中置0或1,其中0表示不屏蔽,1表示屏蔽。7.根据权利要求4所述的用于RISC-V架构的快速中断控制系统,其特征在于,所述EIP寄存器为只读寄存器,有效位为最低位,为0表示当前没有通过仲裁的中断,为1表示当前有通过仲裁的中断。8.一种用于RISC-V架构的快速中断控制方法,其特征在于,所述方法步骤如下:Step1:中断源经过相应的匣口后被转换成统一的内部中断请求,同时硬件自动屏蔽对应闸口的中断源,并自动将相应中断源的中断等待寄存器置高;Step2:所有的内部中断请求经过硬件仲裁,选出优先级最高的中断请求,如果...

【专利技术属性】
技术研发人员:胡振波
申请(专利权)人:胡振波
类型:发明
国别省市:上海,31

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

1