中断转换器及中断转换方法与流程

文档序号:19015732发布日期:2019-11-01 19:44阅读:625来源:国知局
中断转换器及中断转换方法与流程

本发明涉及计算机技术领域,特别涉及中断转换器及中断转换方法。



背景技术:

随着异构加速日益广泛的应用,基于fpga(field-programmablegatearray,现场可编程门阵列)的加速卡也发展迅速,例如,dma(directmemoryaccess,直接内存存取)控制器,mac(mediaaccesscontroladdress,媒体访问控制地址)控制器都可基于fpga加速卡实现。

fpga加速卡通过pci-e接口与服务器主机(host)连接,host通过pcie接口将需要加速处理的数据发送给fpga加速卡,fpga加速卡处理完成后通过pci-e接口返回相关的数据。

在上述加速处理过程中会有大量的中断产生,fpga加速卡通过pci-e接口向host发送的中断是msi(messagesignaledinterrupt,消息信号中断)。除了msi中断,请参见图1,与服务器主机连接的外部设备(例如传感器、看门狗等)常用中断类型是传统的通过信号线电平或者沿触发的中断(int中断)。

在实际运行中,可能会遇到不同类型的模块相关联的情况:比如,某一传感器作为dma控制器的下游模块,dma控制器发出的msi中断除了要通过pci-e上传到host,还要触发下游模块进行下一步的操作。但是下游模块能够识别的中断是int中断,中断类型不同,将导致互相交流比较困难。



技术实现要素:

有鉴于此,本发明实施例提供中断转换器及中断转换方法,以实现不同中断类型的模块间的中断类型转换。

为实现上述目的,本发明实施例提供如下技术方案:

一种中断转换器,包括寄存器模块、信息比对模块和int中断生成模块;所述信息比对模块与生成msi中断的第一外设设备相连接,所述int中断生成模块具有中断接口,所述中断接口对应唯一的中断号,所述中断接口用于连接第二外设设备,所述第二外设设备的中断类型为int;

其中:

所述寄存器模块用于存储配置信息;所述配置信息包括:所述第一外设设备的msi编号与中断号的第一对应关系,以及,中断号对应的中断方式;所述中断方式包括电平中断或沿中断;

所述信息比对模块用于:接收第一外设设备的msi中断,将所述msi中断的msi编号与所述寄存器模块存储的第一对应关系进行匹配;若匹配成功,通知所述int中断生成模块匹配成功的目标中断号及目标中断方式;

所述int中断生成模块用于:根据所述目标中断方式产生int中断,输出至所述目标中断号对应的中断接口。

可选的,所述配置信息还包括屏蔽信息,所述屏蔽信息用于指示msi编号与不需进行中断转换的中断号间的第二对应关系。

可选的,所述信息比对模块还用于:若匹配不成功,或者接收到的msi中断的msi编号与屏蔽信息中的中断号相匹配,则终止工作。

可选的,所述中断转换器基于fpga板卡实现。

可选的,所述中断转换器被封装为知识产权ip包。

一种中断方法,基于中断转换器,所述中断转换器包括寄存器模块、信息比对模块和int中断生成模块;所述信息比对模块与生成msi中断的第一外设设备相连接,所述int中断生成模块具有中断接口,所述中断接口对应唯一的中断号,所述中断接口用于连接第二外设设备,所述第二外设设备的中断类型为int;所述寄存器模块用于存储配置信息;所述配置信息包括:所述第一外设设备的msi编号与中断号的第一对应关系,以及,中断号对应的中断方式;所述中断方式包括电平中断或沿中断;

所述方法包括:

所述信息比对模块接收第一外设设备的msi中断,将所述msi中断的msi编号与所述寄存器模块存储的第一对应关系进行匹配;若匹配成功,通知所述int中断生成模块匹配成功的目标中断号及目标中断方式;

所述int中断生成模块根据所述目标中断方式产生int中断,输出至所述目标中断号对应的中断接口。

可选的,所述配置信息还包括屏蔽信息,所述屏蔽信息用于指示msi编号与不需进行中断转换的中断号间的第二对应关系;所述方法还包括:若匹配不成功,或者接收到的msi中断的msi编号与屏蔽信息中的中断号相匹配,则终止工作。

可选的,所述中断转换器基于fpga板卡实现。

可选的,所述中断转换器被封装为知识产权ip包。

可见,在本发明实施例中,中断转换器在接收到第一外设设备的msi中断后,会根据配置信息将msi中断转换为int中断,输出至相应的中断接口。中断接口又与中断类型为int的第二外设设备连接,从而实现了将msi中断转换成第二外设设备的int中断,方便了不同中断类型的模块之间的交流。

附图说明

图1为本发明实施例提供的包含不同中断类型模块的硬件架构示意图;

图2为本发明实施例提供的包含中断转换器的硬件架构示意图;

图3为本发明实施例提供的中断转换器的示例性结构图;

图4为本发明实施例提供的中断转换方法示例性流程图。

具体实施方式

为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结如下:

bmc:baseboardmanagementcontroller,基板管理控制器;

fpga:field-programmablegatearray,现场可编程门阵列;

pci:peripheralcomponentinterconnect,外设部件互连标准;

pci-e:pciexpress,一种高速串行计算机扩展总线标准;

dma:directmemoryaccess,直接内存存取;dma允许不同速度的硬件装置来沟通,而不需要依赖于cpu的大量中断负载;

mac:mediaaccesscontroladdress,媒体访问控制地址;

avalon-mm:由intel提出的avalon总线的memorymap类型的接口;

avalon-st:由intel提出的avalon总线的流模式接口;

tlp:transactionlayerpackage,在pcie协议中的事务层数据包;

int:interrupt,传统中断,通过信号电平或者沿触发;

msi:messagesignaledinterrupt消息信号中断,通过写pcie的固定地址空间来触发中断,是pcie内部中断机制,有别于传统int中断。

本发明实施例提供中断转换器及中断转换方法,以实现不同中断类型的模块间的中断类型转换。

上述中断转换器为硬件结构,图2示出了包含中断转换器的fpga硬件模块系统的一种示例性结构,第一外设设备,例如dma控制器1、mac控制器2通过pci-e接口3与宿主机(host)4相连接。

而中断转换器5作为新添的器件,可基于fpga板卡(逻辑)实现。与dma控制器1、mac控制器2等可生成msi中断的第一外设设备相连接,并通过中断接口与一个或多个第二外设设备相连接。

每一中断接口都对应一个唯一的中断号。

第二外设设备的中断类型为int,其示例性得可包括:看门狗、传感器、bmc等。

中断转换器能够接收来自主机端的配置信息,然后根据配置信息与第一外设设备的msi中断信息,生成对应的中断接口的int中断输出至相应的第二外设设备。

可见,在本发明实施例中,中断转换器在接收到第一外设设备的msi中断后,会根据配置信息将msi中断转换为int中断,输出至相应的中断接口。中断接口又与中断类型为int的第二外设设备连接,从而实现了将msi中断转换成第二外设设备的int中断,方便了不同中断类型的模块之间的交流。

需要说明的是,现有的处理方式是,在生成msi中断的上游模块中额外加入生成int中断的逻辑,这样,上游模块在生成msi中断的同时,生成int中断输出给下游模块;或者不输出int中断,直接在模块内部将中断处理。

由于没有可以通用的逻辑,所以在加速卡相关的fpga开发应用过程中,如果遇到不同类型中断模块相关联的情况,就需要修改原有模块的逻辑,同时还要增加模块的端口信号,以输出int中断。

而在本发明实施例中,中断转换器可以封装成知识产权(ip)包独立使用(可理解为通用模块),这样就不需要修改原有模块的内部逻辑和端口信号,可移植性和复用性都大大增强,在项目开发中可以直接调用,为产品的开发提供便利,缩短开发周期。

图3示出了中断转换器的内部结构,其可包括:寄存器模块51、信息比对模块52和int中断生成模块53;其中,信息比对模块51与前述的第一外设设备相连接,而int中断生成模块53具有中断接口,中断接口与中断类型为int的第二外设设备相连接。

第二外设设备与中断接口连接后一般不会随便改变,因此,中断号除了代表中断接口,也可认为代表了某一具体的第二外设设备。

各模块作用如下:

寄存器模块51用于存储配置信息;

配置信息可包括:第一外设设备的msi编号与中断号的第一对应关系,以及,中断号对应的中断方式(电平中断或沿中断);

每一可生成msi中断的模块都会分配唯一的msi编号,而第二外设设备前已述及可用中断号表示。因此,通过第一对应关系和中断号对应的中断方式,可知道某一msi编号的msi中断要转换的int中断是沿中断还是电平中断,通过哪一个中断接口输出。

举例来讲,mac控制器2的msi编号与中断号a对应,中断号a连接的第二外设设备是看门狗,对应的中断方式是沿中断。则mac控制器发出的msi中断,最终将会被转化为脉冲(对应沿中断),传输至看门狗。

在一个示例中,msi编号具体包括能够触发msi中断的地址和数据。

信息比对模块52用于:接收第一外设设备的msi中断,将msi中断的msi编号与寄存器模块51存储的第一对应关系进行匹配;

若匹配成功,通知int中断生成模块53匹配成功的目标中断号及目标中断方式;

仍以mac控制器2为例,假定其msi编号对应中断号a,则信息比对模块52在接收到mac控制器2的msi中断后,会将其与第一对应关系进行匹配,得到的目标中断号为“a”,目标中断方式为“沿中断”。

int中断生成模块53用于:根据目标中断方式产生int中断,输出至目标中断号对应的中断接口,触发与中断接口连接的第二外设设备的相关操作。

沿用前例,int中断生成模块53将产生脉冲作为int中断,输出至中断号为a的中断接口,也即输出至看门狗。

对于中断方式为“电平中断”的情况,int中断生成模块53则会拉高相应中断接口的输出电平。

在本发明其他实施例中,上述配置信息还可包括屏蔽信息,屏蔽信息用于指示msi编号与不需进行中断转换的中断号间的第二对应关系。

则上述信息比对模块52还可用于:

若匹配不成功,或者接收到的msi中断的msi编号与屏蔽信息中的中断号相匹配,则终止工作,不发送int中断。

图4示出了由中断器所执行的中断转换方法的一种示例性流程,包括:

s0:host进行准备工作;

在一个示例中,host的准备工作可包括:

通过lspci命令获取pci-e中与msi有关的配置信息,上述配置信息包括msi编号(例如能够触发msi中断的地址和数据),然后将msi编号与中断号的第一对应关系写入中断转换器的寄存器模块51,同时将各种其他中断屏蔽信息也写入寄存器模块51。

需要说明的是,host可能支持不止一个应用,而不同的应用可能对应不同的配置信息,举例来讲,host在执行应用a之前,会把应用a对应的配置信息写入寄存器模块51,而在执行应用b之前,会把应用b对应的配置信息写入寄存器模块51。

屏蔽信息根据应用的实际需求进行人工配置。

s1:信息比对模块52接收第一外设设备的msi中断,将msi中断的msi编号与寄存器模块51存储的配置信息匹配;

以dam控制器为例,dam搬完数据后会产生msi中断,信息比对模块52收到该msi中断信息,会与寄存器模块51存储的配置信息进行比对,如果该msi中断和外设int中断都没有被屏蔽,则生成int中断的中断号。

配置信息的介绍请参见本文前述记载,在此不作赘述。

s2:若msi编号与第一对应关系匹配成功,通知int中断生成模块匹配成功的目标中断号及目标中断方式。

请参见本文前述举例,在此不作赘述。

s3:若匹配不成功,或者与屏蔽信息中的中断号相匹配,则终止工作。

请参见本文前述记载,在此不作赘述。

s4:int中断生成模块53根据目标中断方式产生int中断,输出至目标中断号对应的中断接口。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、wd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1