一种中断方法、装置及fpga和存储介质
阅读说明:本技术 一种中断方法、装置及fpga和存储介质 (A kind of interrupt method, device and FPGA and storage medium ) 是由 王凯 于 2019-08-09 设计创作,主要内容包括:本申请公开了一种基于FPGA的RISC-V架构的中断方法、装置及一种FPGA和计算机可读存储介质,该方法包括:获取中断信号,根据每个中断信号的使能确定有效中断;生成每个所述有效中断的寄存器序列,并确定仲裁模式;其中,所述寄存器序列包括所述有效中断的ID和中断号;若仲裁模式为顺序仲裁,则获取内存中的寄存器序列与优先级的对应关系;若所述仲裁模式为触发仲裁,则根据目标时间段内的中断处理信息确定寄存器序列与优先级的对应关系;根据所述寄存器序列与优先级的对应关系对所述有效中断进行中断处理。本申请提供的基于FPGA的RISC-V架构的中断方法,实现了FPGA的RISC-V架构中中断系统的可配性和灵活性。(Interrupt method, device and a kind of FPGA and computer readable storage medium of this application discloses a kind of RISC-V framework based on FPGA make can determine that effective interruption according to each interrupt signal this method comprises: obtaining interrupt signal;Each register series effectively interrupted are generated, and determine arbitration mode;Wherein, the register series include the ID and interrupt number effectively interrupted;If arbitration mode is that sequence is arbitrated, the corresponding relationship of the register series and priority in memory is obtained;If the arbitration mode is triggering arbitration, the corresponding relationship of register series and priority is determined according to the interrupt processing information in target time section;Interrupt processing is carried out to effective interruption according to the register series and the corresponding relationship of priority.The interrupt method of RISC-V framework provided by the present application based on FPGA, realize in the RISC-V framework of FPGA interrupt system with property and flexibility.)
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种基于FPGA的RISC-V架构的中断方法、装置及一种FPGA和一种计算机可读存储介质。
背景技术
FPGA(中文全称:现场可编程门阵列,英文全称:Field-Programmable GateArray)由于可编程灵活性高、开发周期短、并行计算等特点,在各个领域各个业中的应用越来越广泛。
目前RISC-V(精简指令集计算)中,中断系统不具有可配性,修改中断优先级需要从硬件上修改,极大的制约了软件层的灵活性。
因此,如何实现FPGA的RISC-V架构中中断系统的可配性和灵活性是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种基于FPGA的RISC-V架构的中断方法、装置及一种FPGA和一种计算机可读存储介质,实现了FPGA的RISC-V架构中中断系统的可配性和灵活性。
为实现上述目的,本申请提供了一种基于FPGA的RISC-V架构的中断方法,包括:
获取中断信号,根据每个中断信号的使能确定有效中断;
生成每个所述有效中断的寄存器序列,并确定仲裁模式;其中,所述寄存器序列包括所述有效中断的ID和中断号;
若仲裁模式为顺序仲裁,则获取内存中的寄存器序列与优先级的对应关系;
若所述仲裁模式为触发仲裁,则根据目标时间段内的中断处理信息确定寄存器序列与优先级的对应关系;
根据所述寄存器序列与优先级的对应关系对所述有效中断进行中断处理。
其中,所述根据目标时间段内的中断处理信息确定寄存器序列与优先级的对应关系,包括:
获取所述目标时间段内每个寄存器序列对应的中断的处理次数;
根据所述处理次数确定所述寄存器序列与优先级的对应关系;其中,所述优先级与所述处理次数呈正相关。
其中,所述内存中的寄存器序列与优先级的对应关系默认为所述优先级与所述ID呈负相关。
其中,还包括:
接收更新命令,并根据所述更新命令更新所述内存中的寄存器序列与优先级的对应关系。
其中,还包括:
显示所述目标时间段内每个中断的处理次数、优先级、ID、中断号、使能中的任一项或任几项的组合。
为实现上述目的,本申请提供了一种基于FPGA的RISC-V架构的中断装置,包括:
获取模块,用于获取中断信号,根据每个中断信号的使能确定有效中断;
确定模块,用于生成每个所述有效中断的寄存器序列,并确定仲裁模式;若仲裁模式为顺序仲裁,则启动第一目标模块的工作流程;若所述仲裁模式为触发仲裁,则启动第二目标模块的工作流程;其中,所述寄存器序列包括所述有效中断的ID和中断号;
所述第一目标模块,用于获取内存中的寄存器序列与优先级的对应关系;
所述第二目标模块,用于根据目标时间段内的中断处理信息确定寄存器序列与优先级的对应关系;
处理模块,用于根据所述寄存器序列与优先级的对应关系对所述有效中断进行中断处理。
其中,还包括:
更新模块,用于接收更新命令,并根据所述更新命令更新所述内存中的寄存器序列与优先级的对应关系。
其中,还包括:
显示模块,用于显示所述目标时间段内每个中断的处理次数、优先级、ID、中断号、使能中的任一项或任几项的组合。
为实现上述目的,本申请提供了一种FPGA,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述基于FPGA的RISC-V架构的中断方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述基于FPGA的RISC-V架构的中断方法的步骤。
通过以上方案可知,本申请提供的一种基于FPGA的RISC-V架构的中断方法,包括:获取中断信号,根据每个中断信号的使能确定有效中断;生成每个所述有效中断的寄存器序列,并确定仲裁模式;其中,所述寄存器序列包括所述有效中断的ID和中断号;若仲裁模式为顺序仲裁,则获取内存中的寄存器序列与优先级的对应关系;若所述仲裁模式为触发仲裁,则根据目标时间段内的中断处理信息确定寄存器序列与优先级的对应关系;根据所述寄存器序列与优先级的对应关系对所述有效中断进行中断处理。
本申请提供的基于FPGA的RISC-V架构的中断方法,支持顺序仲裁和触发仲裁两种仲裁模式,中断方式较为灵活。对于顺序仲裁,基于内存中的寄存器序列与优先级的对应关系进行中断处理,内存中的对应关系可以通过软件进行调整,实现了优先级的可配性。对于触发仲裁,可以根据历史的中断处理信息调整寄存器序列与优先级的对应关系,实现了中断系统的自适应性,提高了中断系统的工作效率。本申请还公开了一种基于FPGA的RISC-V架构的中断装置及一种FPGA和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的
具体实施方式
一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为根据一示例性实施例示出的一种基于FPGA的RISC-V架构的中断方法的流程图;
图2为根据一示例性实施例示出的一种基于FPGA的RISC-V架构的中断系统的架构图;
图3为中断协议的处理过程图;
图4为根据一示例性实施例示出的另一种基于FPGA的RISC-V架构的中断方法的流程图;
图5为根据一示例性实施例示出的一种基于FPGA的RISC-V架构的中断装置的结构图;
图6为根据一示例性实施例示出的一种FPGA的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种基于FPGA的RISC-V架构的中断方法,实现了FPGA的RISC-V架构中中断系统的可配性和灵活性。
参见图1,根据一示例性实施例示出的一种基于FPGA的RISC-V架构的中断方法的流程图,如图1所示,包括:
S101:获取中断信号,根据每个中断信号的使能确定有效中断;
本实施例可应用于基于FPGA的RISC-V架构的中断系统,该系统的架构图如图2所示,中断信号从左侧进入,接入中断接口,通过一个选择器,该选择器由中断寄存器控制。AXI总线接口模块是符合AXI4(Advanced eXtensible Interface)协议的总线接口模块,具备总线读写功能。中断寄存器通过AXI总线接口模块确定仲裁模式,并将基于该仲裁模式仲裁后得到的中断发送顺序写入到映射内存中,此时可视内容记录RAM(中文全称:随机存取存储器,英文全称:random access memory)会从映射内存中获取当前批次的中断发送顺序,可视内容记录RAM具有地址基地址的,可由软件直接读取,实现实时获取。
在本步骤中,对于同一时间接收到的中断信号,根据其使能确定有效中断,后续步骤仅对有效中断进行处理,提高中断处理效率。
S102:生成每个所述有效中断的寄存器序列,并确定仲裁模式;若仲裁模式为顺序仲裁,则进入S103;若所述仲裁模式为触发仲裁,则进入S104;其中,所述寄存器序列包括所述有效中断的ID和中断号;
在本步骤中,对于有效中断,将其ID和中断号组成寄存器序列。由中断寄存器确定仲裁模式,若仲裁模式为顺序仲裁,则进入S103,若仲裁模式为触发仲裁,则进入S104。
S103:获取内存中的寄存器序列与优先级的对应关系;
对于顺序仲裁,基于内存中的寄存器序列与优先级的对应关系进行中断处理,内存中的对应关系可以通过软件进行调整,实现了优先级的可配性。例如,可以采用强制ID优先级,即优先级与ID呈负相关,此时ID0的优先级越高,依次类推,数字越大优先级越低。
优选的,本实施例还包括:接收更新命令,并根据所述更新命令更新所述内存中的寄存器序列与优先级的对应关系。与相关技术中的中断系统不同的是,本实施例可以通过中断寄存器修改各ID的对应中断源,进而修改了优先级。即可以直接修改从映射内存,在定义此处修改权限时,可以将其定位超户可见可修改。
S104:根据目标时间段内的中断处理信息确定寄存器序列与优先级的对应关系;
对于触发仲裁,根据了历史的中断处理信息确定优先级顺序。在具体实施中,可以根据中断处理信息中各中断的触发次数确定优先级顺序,即本步骤可以包括:获取所述目标时间段内每个寄存器序列对应的中断的处理次数;根据所述处理次数确定所述寄存器序列与优先级的对应关系;其中,所述优先级与所述处理次数呈正相关。在目标时间段内处理次数越多的中断,其优先级越高,即对该目标时间段内处理越频繁的中断进行优先处理,可以提高中断处理效率。
S105:根据所述寄存器序列与优先级的对应关系对所述有效中断进行中断处理。
在本步骤中,根据步骤S103或步骤S104中确定的寄存器序列与优先级的对应关系确定各有效中断的优先级,根据其优先级由高至低得到中断发送顺序,中断协议的处理过程如图3所示。
优选的,本实施例还可以对中断系统中的各项参数进行显示,即本实施例还包括:显示所述目标时间段内每个中断的处理次数、优先级、ID、中断号、使能中的任一项或任几项的组合。
本申请实施例提供的基于FPGA的RISC-V架构的中断方法,支持顺序仲裁和触发仲裁两种仲裁模式,中断方式较为灵活。对于顺序仲裁,基于内存中的寄存器序列与优先级的对应关系进行中断处理,内存中的对应关系可以通过软件进行调整,实现了优先级的可配性。对于触发仲裁,可以根据历史的中断处理信息调整寄存器序列与优先级的对应关系,实现了中断系统的自适应性,提高了中断系统的工作效率。
本申请实施例公开了一种基于FPGA的RISC-V架构的中断方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图4,根据一示例性实施例示出的另一种基于FPGA的RISC-V架构的中断方法的流程图,如图4所示,包括:
S201:获取中断信号,根据每个中断信号的使能确定有效中断;
S202:生成每个所述有效中断的寄存器序列,并确定仲裁模式;若仲裁模式为顺序仲裁,则进入S203;若所述仲裁模式为触发仲裁,则进入S204;
S203:获取内存中的寄存器序列与优先级的对应关系;
S204:获取所述目标时间段内每个寄存器序列对应的中断的处理次数,并根据所述处理次数确定所述寄存器序列与优先级的对应关系;其中,所述优先级与所述处理次数呈正相关。
S205:根据所述寄存器序列与优先级的对应关系对所述有效中断进行中断处理。
下面对本申请实施例提供的一种基于FPGA的RISC-V架构的中断装置进行介绍,下文描述的一种基于FPGA的RISC-V架构的中断装置与上文描述的一种基于FPGA的RISC-V架构的中断方法可以相互参照。
参见图5,根据一示例性实施例示出的一种基于FPGA的RISC-V架构的中断装置的结构图,如图3所示,包括:
获取模块501,用于获取中断信号,根据每个中断信号的使能确定有效中断;
确定模块502,用于生成每个所述有效中断的寄存器序列,并确定仲裁模式;若仲裁模式为顺序仲裁,则启动第一目标模块503的工作流程;若所述仲裁模式为触发仲裁,则启动第二目标模块504的工作流程;其中,所述寄存器序列包括所述有效中断的ID和中断号;
所述第一目标模块503,用于获取内存中的寄存器序列与优先级的对应关系;
所述第二目标模块504,用于根据目标时间段内的中断处理信息确定寄存器序列与优先级的对应关系;
处理模块505,用于根据所述寄存器序列与优先级的对应关系对所述有效中断进行中断处理。
本申请实施例提供的基于FPGA的RISC-V架构的中断装置,支持顺序仲裁和触发仲裁两种仲裁模式,中断方式较为灵活。对于顺序仲裁,基于内存中的寄存器序列与优先级的对应关系进行中断处理,内存中的对应关系可以通过软件进行调整,实现了优先级的可配性。对于触发仲裁,可以根据历史的中断处理信息调整寄存器序列与优先级的对应关系,实现了中断系统的自适应性,提高了中断系统的工作效率。
在上述实施例的基础上,作为一种优选实施方式,所述第二目标模块504包括:
获取单元,用于获取所述目标时间段内每个寄存器序列对应的中断的处理次数;
确定单元,用于根据所述处理次数确定所述寄存器序列与优先级的对应关系;其中,所述优先级与所述处理次数呈正相关。
在上述实施例的基础上,作为一种优选实施方式,所述内存中的寄存器序列与优先级的对应关系默认为所述优先级与所述ID呈负相关。
在上述实施例的基础上,作为一种优选实施方式,还包括:
更新模块,用于接收更新命令,并根据所述更新命令更新所述内存中的寄存器序列与优先级的对应关系。
在上述实施例的基础上,作为一种优选实施方式,还包括:
显示模块,用于显示所述目标时间段内每个中断的处理次数、优先级、ID、中断号、使能中的任一项或任几项的组合。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请还提供了一种FPGA,参见图6,本申请实施例提供的一种FPGA600的结构图,如图6所示,可以包括处理器11和存储器12。该FPGA600还可以包括多媒体组件13,输入/输出(I/O)接口14,以及通信组件15中的一者或多者。
其中,处理器11用于控制该FPGA600的整体操作,以完成上述的基于FPGA的RISC-V架构的中断方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该FPGA600的操作,这些数据例如可以包括用于在该FPGA600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该FPGA600与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,FPGA600可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于FPGA的RISC-V架构的中断方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述基于FPGA的RISC-V架构的中断方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由FPGA600的处理器11执行以完成上述的基于FPGA的RISC-V架构的中断方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。