CN116150054A - 一种基于pcie的中断信息处理方法 - Google Patents
一种基于pcie的中断信息处理方法 Download PDFInfo
- Publication number
- CN116150054A CN116150054A CN202310174347.7A CN202310174347A CN116150054A CN 116150054 A CN116150054 A CN 116150054A CN 202310174347 A CN202310174347 A CN 202310174347A CN 116150054 A CN116150054 A CN 116150054A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- vector
- information
- pcie
- request signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本申请实施例公开了一种基于PCIE的中断信息处理方法,该方法包括:在设备端每次检测到中断事件时,发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对中断请求信号进行第一标记;PCIE端接收应答帧和中断向量,并将应答帧发送至PC端,确定中断向量对应的中断信息,并判断中断向量是否被屏蔽,若被屏蔽,则不对中断信息进行响应,并在预设时间内再次接收中断向量,若未被屏蔽,则发送中断应答信号至设备端,发送中断信息至PC端;设备端接收中断应答信号,对中断请求信号进行第二标记;PC端分别接收中断信息和应答帧,基于每个中断信息查找对应的应答帧,并进行相应处理,节约了数据通道资源,避免了中断信息丢失和大量占用PC端CPU。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种基于PCIE的中断信息处理方法、装置及存储介质。
背景技术
在计算机***中,计算机在执行程序的过程中,当出现异常情况或特殊情况时,计算机停止现行的程序运行,会针对异常处理或特殊请求进行处理,从而产生中断向量。
现有技术中,针对中断向量通常PCIE接口设备在需要上报中断时,一般需要通过数据通道与PCIE Controller交互中断信息,长时间占用数据通道资源,同时控制流程和接口较复杂,且当对应的中断向量被屏蔽时,有可能导致中断信息的丢失;或者设备仅通过返回应答帧的方式来实现完成信息上报,PC端CPU本身要应对大量的数据处理和搬移等事务,将导致CPU需不断轮巡应答帧地址,从而设备对CPU占用率较大。
发明内容
本申请实施例提供一种基于PCIE的中断信息处理方法及存储介质,以解决数据通道资源被占用和中断信息丢失以及设备CPU占用率较大的问题,节约了数据通道资源,避免了中断信息丢失和大量占用设备CPU。
在第一方面,本申请实施例提供了一种基于PCIE的中断信息处理方法,包括:
在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送;
所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号;
所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送;
所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
进一步的,在设备端检测到中断事件之前,还包括:
所述PC端配置预设数量的所述中断向量,用于确定所述中断信息能否发送成功,其中所述中断请求信号的数量与所述中断向量的数量相同,一个所述中断请求信号对应一个所述中断向量。
进一步的,所述对所述中断请求信号进行第一标记,包括:
通过拉高所述中断请求信号对应的信号值标记所述中断请求信号;
所述对所述中断请求信号进行第二标记,包括:
通过拉低所述中断请求信号对应的信号值标记所述中断请求信号。
进一步的,基于所述中断信息查找相应应答帧,包括:
接收到所述中断信息后,根据所述中断信息中的所述中断向量号到应答帧地址中查找相应应答帧。
进一步的,发送所述中断信息至所述PC端,包括:
以TLP报文形式发送所述中断信息至所述PC端。
进一步的,若检测到所述中断向量未被屏蔽之后,还包括:
对所述中断向量对应的比特值进行调整,用于表示所述PC端是否已处理所述中断信息。
进一步的,对所述比特值进行调整,用于表示所述PC端是否已处理所述中断信息,包括:
若所述比特值为1,则表示PC端未处理所述中断信息;
若所述比特值为0,则表示PC端已处理所述中断信息。
在第二方面,本申请实施例提供了一种基于PCIE的中断信息处理装置,包括:
发送模块:用于设备端发送中断信息和中断请求信号并上报应答帧至PCIE端;还用于PCIE端将应答帧发送至PC端,当检测到中断向量未被屏蔽时,用于发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端;
确定模块:用于PCIE端确定所述中断向量对应的中断信息;
接收模块:用于PCIE端接收所述应答帧和所述中断向量,当所述中断向量被屏蔽时,用于在预设时间内再次接收所述设备端发送的所述中断向量;
判断模块:用于PCIE端判断所述中断向量是否被屏蔽;
标记模块:用于所述设备端对所述中断请求信号进行标记,以指示所述中断向量已发送,所述中断信息包括中断向量号,还用于所述设备端接收所述中断应答信号后,对所述中断请求信号进行标记,以指示所述中断向量发送成功,并停止进行所述中断向量的发送;
查找模块:在所述PC端分别接收所述中断信息和所述应答帧后,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
在第三方面,本申请实施例提供了一种基于PCIE的中断信息处理方法,包括存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的一种基于PCIE的中断信息处理方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于PCIE的中断信息处理方法。
本申请实施例通过,在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送;所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号,避免设备发出的应答帧存在丢失的情况,所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送,通过中断请求信号与中断应答信号握手的方式避免了对数据通道的长时间常用,简化了信息的上报流程和接口;所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理,避免CPU不断轮询应答帧,降低了设备对CPU的占用率。
附图说明
图1是本申请实施例提供的一种基于PCIE的中断信息处理方法的流程图;
图2是本申请实施例提供的一种中断信息上报方法的示意图;
图3是本发明实施例提供的一种对中断请求信号进行标记的方法的流程图;
图4是本申请实施例提供的对中断向量对应的比特值进行调整的方法的流程图;
图5是本申请实施例提供的一种基于PCIE的中断信息处理方法的模块结构框图;
图6是本申请实施例提供的一种基于PCIE的中断信息处理设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本发明实施例提供的一种基于PCIE的中断信息处理方法的流程图,如图1所示,具体包括:
步骤S101、在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送。
本方案的应用场景为通过PC端接收到中断信息的上报后对应答帧的查找和处理,从而避免CPU资源的占用。在此过程中,会涉及到对中断信息的具体上报过程以及中断请求信号与中断应答信号之间握手的过程。图2是本申请实施例提供的一种中断信息上报方法的示意图,如图2所示,其中包括设备端、PCIE端以及PC端的信息交互。其中,设备端可以是手机、平板电脑或笔记本电脑等,PC端包括内存和CPU等,PCIE端包括查询查询模块、中断信息控制模块、TLP模块、配置模块以及数据控制模块等。通过数据通路实现PC端与设备端待处理数据和应答帧的传输。
在一个实施例中,中断事件可以是CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程,中断事件可以包括外部中断和内部中断,其中内部中断可以是来由软件中断指令启动的中断事件。外部中断可以是来自CPU外部的中断,也可以称为硬件中断。由于外部设备在种类和数量上都非常多,CPU不可能为每个外部设备专门设计一个接口去处理他的中断信号。所以只能提供统一的接口作为中断信号的公共线路,所有来自外设的中断信号都共享公共线路连接都CPU。CPU通过数据通道将待处理数据发送给设备端,设备端对待处理数据进行数据处理,从而获取中断事件具体发生的情况。中断向量可以是指微机***中由硬件产生的中断入口地址或存放中断服务程序的首地址。中断请求信号可以用于传输中断向量的传输信号,其中中断请求信号中每个bit信号表示一个确定的中断向量,可以用req[n:0]的形式表示,用于表示设备端包括功能n至功能0等n+1个功能,其中n表示功能n对应第nbit,0表示功能0对应第0bit。示例性的,若设备中共包含三个功能,分别为功能0、功能1和功能2,则中断请求信号可以表示为req[2:0]。应答帧中可以包含不同的字段,不同的字段表示不同的含义,其中可以包括帧头、表地址、数据长度、数据类型、校验以及帧尾等。第一标记可以用于标记某一确定的中断向量是否已发送。
在一个实施例中,设备端通过对待处理数据进行数据处理,检测所述设备端是否发生中断事件,当每检测到某一功能的中断事件发生时,则发送该功能中断事件对应的中断向量、中断请求信号以及应答帧至PCIE端。当中断请求信号发出后,设备端通过对所述中断请求信号进行标记的方式记录所述某一中断事件对应的中断向量已发出,从而便于设备端及时了解各中断事件对应的中断向量是否已发出,避免中断信息上报被遗漏的情况。
步骤S102、所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号。
在一个实施例中,中断信息可以是用于表示中断向量的具体信息,用于提示PC端某一功能的应答帧已经上传,可以去应答帧地址查询该应答帧。可选的,在一个实施例中,中断信息包括中断向量号。中断向量号可以用于区分设备的不同功能,一个中断向量号对应设备的一个功能,即对应一个中断向量。中断应答信号可以是对中断请求信号进行反馈的信号,其表示方式可以是ack[n:0],其中ack[n:0]中n,与req[n:0]中n保持一致。
在一个实施例中,PCIE端接收设备端发送的中断向量和应答帧。具体的,是通过PCIE端的中断信息控制模块接收中断向量,通过数据控制模块接收应答帧。进一步的,查询模块根据中断信息模块中接收到的中断向量主动查询该中断向量是否被屏蔽。若能够查询到该中断向量对应的中断信息,则认为该中断向量未被屏蔽,反之,若不能查询到该中断向量对应的中断信息,则认为该中断向量被屏蔽。进一步的,若检测到中断向量被屏蔽,未查询到该中断向量对用的中断信息,则PCIE端无法响应中断信息,并在预设时间内再次接收该功能对应的中断向量。具体的,当中断向量被屏蔽,则设备端无法接收到中断请求信号的反馈信号。因此在一个实施例中,设备端会预先设置一个预设时间,当设备端在预设内未接收到中断请求信号对应的反馈信号,则会再次发送相同的中断向量和中断请求信号至PCIE端。因此若检测到中断向量未被屏蔽,则在预设时间内再次接收设备端发送的中断向量和中断请求信号,此时中断请求信号保持不变。若检测到中断向量未被屏蔽,则将该中断向量对应的中断信息发送至PC端,并发送该中断向量对应的中断应答信号至设备端。通过判断中断向量是否被屏蔽的方式,避免PC端遗漏设备中相应功能对应的中断信息。
步骤S103、所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送。
第二标记可以用于标记某一确定的中断向量已发送成功。在一个实施例中,设备端接收PCIE端反馈的中断应答信号,并标记所述中断应答信号,从而确定该中断应答信号对应的中断向量未被屏蔽,并且将该中断向量对应的中断信息发送至PC端。设备端根据接收到的该中断应答信号可确定不必在预设时间内再次发送该功能对应的中断向量。通过中断请求信号和中断应答信号之间的握手实现设备与PCIE端中断向量的交互,使中断信息上报流程更简单,避免长时间占用数据通道。
步骤S104、所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
在一个实施例中,PC端分别接收中断信息和所述应答帧,其中由于中断向量可能存在被屏蔽的情况,因此PC端并不一定同时接收同一个功能对应的中断信息和应答帧,其接收时间存在时间差。并且每次检测到中断事件的发生时都会接收到应答帧,因此CPU中可能会存在多个应答帧。当PC端接收到中断信息后,根据中断信息查找相应的应答帧,并根据所发送的待处理数据的不同而对查找到的应答帧进行处理。其中PC端接收到中断信息后再查找相应的应答帧能够避免CPU不断轮询应答帧,从而占用CPU的资源,同时也能够避免中断信息的丢失。
由上述可知,在一个实施例中,在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送,便于设备端及时了解各中断事件对应的中断向量是否已发出,避免中断信息上报被遗漏的情况;所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号;通过判断中断向量是否被屏蔽的方式,避免PC端遗漏设备中相应功能对应的中断信息;所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送,通过中断请求信号和中断应答信号之间的握手实现设备与PCIE端中断向量的交互,使中断信息上报流程更简单,避免长时间占用数据通道;所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理,能够避免CPU不断轮询应答帧,从而占用CPU的资源,同时也能够避免中断信息的丢失。
在一个实施例中,可选的,在设备端检测到中断事件之前,还包括:
所述PC端配置预设数量的所述中断向量,用于确定所述中断信息能否发送成功,其中所述中断请求信号的数量与所述中断向量的个数相同,一个所述中断请求信号对应一个所述中断向量。
在一个实施例中,所述中断请求信号的数量即发生中断事件的数量。可选的,中断请求信号的数量与所述中断向量的数量相同,一个所述中断请求信号对应一个所述中断向量。PC端会预先为设备配置预设数量的中断向量,当相应中断事件发生时便于及时上报中断信息。其中配置中断向量的数量可根据设备中功能的数量进行确定,设备端中的一个功能对应一个中断向量,即设备端中的一个功能对应一个中断请求信号。
由上述可知,在一个实施例中,所述PC端配置预设数量的所述中断向量,用于确定所述中断信息能否发送成功,其中所述中断请求信号的数量与所述中断向量的数量相同,一个所述中断请求信号对应一个所述中断向量,能够便于及时上报中断信息。
在一个实施例中,可选的,基于所述中断信息查找相应应答帧,包括:
接收到所述中断信息后,根据所述中断信息中的所述中断向量号到应答帧地址中查找相应应答帧。
应答帧地址可以用于标识某一功能对应的应答帧的具***置,其中,设备端中同一功能可能对应多个应答帧地址。在一个实施例中,当PC端接收到中断信息后,确定该中断信息中包含的中断向量号,进一步的,根据该中断向量号在应答帧地址中查找所有该功能对应的应答帧。由上述可知,在一个实施例中,PC端只有接收到中断信息后,才基于中断信息查找相应应答帧,避免了CPU不断轮询应答帧,降低了设备对CPU的占用率。
在一个实施例中,可选的,发送所述中断信息至所述PC端,包括:
以TLP报文形式发送所述中断信息至所述PC端。
在一个实施例中,PCIE端的TLP模块负责在发送端生成TLP传输层数据包,以及在接收端解码TLP数据包,负责服务质量流控制和中断信息的传输次序。在一个实施例中,以TLP报文的形式传输中断信息至PC端,有利于实现不同类型的数据中断设备间进行相互通信,且能够大大提高线路的传输效率。
图3为本发明实施例提供的一种对中断请求信号进行标记的方法的流程图,如图3所示,具体包括:
步骤S301、在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,通过拉高所述中断请求信号对应的信号值标记所述中断请求信号,以用于指示所述中断请求信号对应的中断向量已发送。
信号值可以包括0和1。拉高中断请求信号对应的信号值可以是在设备端将相应功能对应的信号值调整为1。在一个实施例中,在每次检测中断事件发生时则会相应确定发生该中断事件对应的功能,从而将该功能对应的信号值拉高,用于表示该功能对应的中断向量已经发送至PCIE端。示例性的,若设备端包括3个功能,分别为功能0、功能1和功能2,当功能1发生中断事件时,则发送req[2:0]至PCIE端,并相应在设备端将该功能1对应的信号值拉高。具体的,将该功能1对应的信号值调整为1,用于表示该功能1对应的中断向量已发送至PCIE端。
步骤S302、所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号。
步骤S303、所述设备端接收所述中断应答信号,通过拉低所述中断请求信号对应的信号值标记所述中断请求信号,以用于指示所述中断请求信号对应的中断向量发送成功,并停止进行所述中断向量的发送。
拉低中断请求信号对应的信号值可以是在设备端将相应功能对应的信号值调整为0。在一个实施例中,当PCIE端检测到某一中断向量未被屏蔽,则发送中断应答信号至设备端,设备端接收到该中断应答信号后,相应的,确定该中断应答信号对用的功能,从而将该功能对应的信号值拉低,用于表示该功能对应的中断向量已经发送成功。示例性的,若设备端包括3个功能,分别为功能0、功能1和功能2,当功能1发生中断事件时,则发送req[2:0]至PCIE端,PCIE端检测到该功能对应的中断向量未被屏蔽,则发送ack[2:0]至设备端,设备端接收PCIE端发送的ack[2:0],并相应的将该功能1对应的信号值拉低。具体的,将该功能1对应的信号值调整为0,用于表示该功能1对应的中断向量已发送成功。
步骤S304、所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
由上述可知,在一个实施例中,通过拉高所述中断请求信号对应的信号值标记所述中断请求信号,以用于指示所述中断请求信号对应的中断向量已发送,通过拉低所述中断请求信号对应的信号值标记所述中断请求信号,以用于指示所述中断请求信号对应的中断向量发送成,并停止进行所述中断向量的发送。通过中断请求信号与中断应答信号握手的方式,避免了对数据通道的长时间常用,简化了信息的上报流程和接口。
图4是本申请实施例提供的对中断向量对应的比特值进行调整的方法的流程图,如图4所示,具体包括:
步骤S401、在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送。
步骤S402、所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,对所述中断向量对应的比特值进行调整,用于表示所述PC端是否已处理所述中断信息。
比特值(Pending bit)可以包括0和1。具体的,通过PCIE端的配置模块配置比特值。在一个实施例中,当PCIE端的查询模块检测到所述中断向量未被屏蔽后,将中断信息对应的中断信息发送至PC端,并相应调整比特值,通过比特值表示PC端是否对所接收到的中断信息进行处理。
步骤S403、所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送。
步骤S404、所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
由上述可知,在一个实施例中,通过对中断向量对应的比特值进行调整,表示所述PC端是否已处理所述中断信息,有利于保证应答帧不丢失。
在一实施例中,可选的,对比特值进行调整,用于表示所述PC端是否已处理所述中断信息,包括:
若所述比特值为1,则表示PC端未处理所述中断信息;
若所述比特值为0,则表示PC端已处理所述中断信息。
对中断信息进行处理可以是根据中断信息中的中断向量号对应答帧进行查找。在一个实施例中,当中断向量未被屏蔽,则将比特值调整为1,若比特值已经为1则保持不同,表示存在未处理的中断信息。当所有中断信息处理完成后,将比特值信息调整为0,则表示不存在未处理的中断信息。
由上述可知,在一个实施例中,通过比特值的方式表示是否存在未处理的中断信息,有利于对未处理的中断信息进行及时处理,也避免遗漏某个中断信息,从而导致应答帧丢失。
图5是本申请实施例提供的一种基于PCIE的中断信息处理方法的模块结构框图,如图5所示,具体包括:
发送模块51:用于设备端发送中断信息、中断请求信号以及应答帧至PCIE端;还用于PCIE端将应答帧发送至PC端,当检测到中断向量未被屏蔽时,用于发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端;
确定模块52:用于PCIE端确定所述中断向量对应的中断信息;
接收模块53:用于PCIE端接收所述应答帧和所述中断向量,当所述中断向量被屏蔽时,用于在预设时间内再次接收所述设备端发送的所述中断向量;
判断模块54:用于PCIE端判断所述中断向量是否被屏蔽;
标记模块55:用于所述设备端对所述中断请求信号进行标记,以指示所述中断向量已发送,所述中断信息包括中断向量号,还用于所述设备端接收所述中断应答信号后,对所述中断请求信号进行标记,以指示所述中断向量发送成功,并停止进行所述中断向量的发送;
查找模块56:在所述PC端分别接收所述中断信息和所述应答帧后,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
由上述可知,在一个实施例中,在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送,便于设备端及时了解各中断事件对应的中断向量是否已发出,避免中断信息上报被遗漏的情况;所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号;通过判断中断向量是否被屏蔽的方式,避免PC端遗漏设备中相应功能对应的中断信息;所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送,通过中断请求信号和中断应答信号之间的握手实现设备与PCIE端中断向量的交互,使中断信息上报流程更简单,避免长时间占用数据通道;所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理,能够避免CPU不断轮询应答帧,从而占用CPU的资源,同时也能够避免中断信息的丢失。
在一个可能的实施例中,所述装置还包括配置模块,所述配置模块用于:
所述PC端配置预设数量的所述中断向量,用于确定所述中断信息能否发送成功,其中所述中断请求信号的数量与所述中断向量的数量相同,一个所述中断请求信号对应一个所述中断向量。
在一个可能的实施例中,所述标记模块55具体用于:
通过拉高所述中断请求信号对应的信号值标记所述中断请求信号;
通过拉低所述中断请求信号对应的信号值标记所述中断请求信号。
在一个可能的实施例中,所述查找模块56具体用于:
接收到所述中断信息后,根据所述中断信息中的所述中断向量号到应答帧地址中查找相应应答帧
在一个可能的实施例中,所述发送模块51具体用于:
以TLP报文形式发送所述中断信息至所述PC端。
在一个可能的实施例中,所述装置还包括数值调整模块,所述数值调整模块用于:
对所述中断向量对应的比特值进行调整,用于表示所述PC端是否已处理所述中断信息。
在一个可能的实施例中,所述数值调整模块具体用于:
若所述中断向量对应的比特值为1,则表示PC端未处理所述中断信息;
若所述中断向量对应的比特值为0,则表示PC端已处理所述中断信息。
图6是本申请实施例提供的一种基于PCIE的中断信息处理设备的结构示意图,如图6所示,该设备包括处理器601、存储器602、输入装置603和输出装置604;设备中处理器601的数量可以是一个或多个,图6中以一个处理器601为例;设备中的处理器601、存储器602、输入装置603和输出装置604可以通过总线或其他方式连接,图6中以通过总线连接为例。存储器602作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于PCIE的中断信息处理方法方法对应的程序指令/模块。处理器601通过运行存储在存储器602中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于PCIE的中断信息处理方法。输入装置603可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置604可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于PCIE的中断信息处理方法,该方法包括:在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送;所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号;所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送;所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
值得注意的是,上述基于PCIE的中断信息处理方法装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (10)
1.一种基于PCIE的中断信息处理方法,其特征在于,包括:
在设备端每次检测到中断事件时,所述设备端发送对应的中断向量、中断请求信号以及应答帧至PCIE端,并对所述中断请求信号进行第一标记,以用于指示所述中断向量已发送;
所述PCIE端接收所述应答帧和所述中断向量,并将所述应答帧发送至PC端,确定所述中断向量对应的中断信息,并判断所述中断向量是否被屏蔽,若所述中断向量被屏蔽,则不对所述中断信息进行响应,并在预设时间内再次接收所述设备端发送的所述中断向量和所述中断请求信号,若检测到所述中断向量未被屏蔽,则发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端,所述中断信息包括中断向量号;
所述设备端接收所述中断应答信号,并对所述中断请求信号进行第二标记,以用于指示所述中断向量发送成功,并停止进行所述中断向量的发送;
所述PC端分别接收所述中断信息和所述应答帧,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
2.根据权利要求1所述的基于PCIE的中断信息上报方法,其特征在于,在设备端检测到中断事件之前,还包括:
所述PC端配置预设数量的所述中断向量,用于确定所述中断信息能否发送成功,其中所述中断请求信号的数量与所述中断向量的数量相同,一个所述中断请求信号对应一个所述中断向量。
3.根据权利要求1所述的基于PCIE的中断信息上报方法,其特征在于,所述对所述中断请求信号进行第一标记,包括:
通过拉高所述中断请求信号对应的信号值标记所述中断请求信号;
所述对所述中断请求信号进行第二标记,包括:
通过拉低所述中断请求信号对应的信号值标记所述中断请求信号。
4.根据权利要求1所述的基于PCIE的中断信息上报方法,其特征在于,基于所述中断信息查找相应应答帧,包括:
接收到所述中断信息后,根据所述中断信息中的所述中断向量号到应答帧地址中查找相应应答帧。
5.根据权利要求1-3中任一项所述的基于PCIE的中断信息上报方法,其特征在于,发送所述中断信息至所述PC端,包括:
以TLP报文形式发送所述中断信息至所述PC端。
6.根据权利要求1-3中任一项所述的基于PCIE的中断信息上报方法,其特征在于,若检测到所述中断向量未被屏蔽之后,还包括:
对所述中断向量对应的比特值进行调整,用于表示所述PC端是否已处理所述中断信息。
7.根据权利要求6中所述的基于PCIE的中断信息上报方法,其特征在于,对所述比特值进行调整,用于表示所述PC端是否已处理所述中断信息,包括:
若所述比特值为1,则表示PC端未处理所述中断信息;
若所述比特值为0,则表示PC端已处理所述中断信息。
8.一种基于PCIE的中断信息上报装置,其特征在于,所述装置包括:
发送模块:用于设备端发送中断信息、中断请求信号以及应答帧至PCIE端;还用于PCIE端将应答帧发送至PC端,当检测到中断向量未被屏蔽时,用于发送中断应答信号至所述设备端,并发送所述中断信息至所述PC端;
确定模块:用于PCIE端确定所述中断向量对应的中断信息;
接收模块:用于PCIE端接收所述应答帧和所述中断向量,当所述中断向量被屏蔽时,用于在预设时间内再次接收所述设备端发送的所述中断向量;
判断模块:用于PCIE端判断所述中断向量是否被屏蔽;
标记模块:用于所述设备端对所述中断请求信号进行标记,以指示所述中断向量已发送,所述中断信息包括中断向量号,还用于所述设备端接收所述中断应答信号后,对所述中断请求信号进行标记,以指示所述中断向量发送成功,并停止进行所述中断向量的发送;
查找模块:在所述PC端分别接收所述中断信息和所述应答帧后,并基于每个所述中断信息查找对应的应答帧,并进行相应处理。
9.一种基于PCIE的中断信息上报设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的一种基于PCIE的中断信息上报方法。
10.一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一项所述的一种基于PCIE的中断信息上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310174347.7A CN116150054B (zh) | 2023-02-24 | 2023-02-24 | 一种基于pcie的中断信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310174347.7A CN116150054B (zh) | 2023-02-24 | 2023-02-24 | 一种基于pcie的中断信息处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116150054A true CN116150054A (zh) | 2023-05-23 |
CN116150054B CN116150054B (zh) | 2023-09-05 |
Family
ID=86338878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310174347.7A Active CN116150054B (zh) | 2023-02-24 | 2023-02-24 | 一种基于pcie的中断信息处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150054B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116743317A (zh) * | 2023-06-29 | 2023-09-12 | 上海奎芯集成电路设计有限公司 | 基于通用芯片互联标准的数据传输方法 |
CN117873672A (zh) * | 2023-12-26 | 2024-04-12 | 象帝先计算技术(重庆)有限公司 | 中断处理***、组件、设备、方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11232210A (ja) * | 1998-02-16 | 1999-08-27 | Fuji Xerox Co Ltd | 情報処理装置 |
US6098144A (en) * | 1996-09-20 | 2000-08-01 | U.S. Philips Corporation | Solid state data processor with versatile multisource interrupt organization |
CN103150146A (zh) * | 2013-01-31 | 2013-06-12 | 西安电子科技大学 | 基于可扩展处理器架构的专用指令集处理器及其实现方法 |
CN111656336A (zh) * | 2018-06-30 | 2020-09-11 | 华为技术有限公司 | 一种pcie发送、接收方法及装置、设备和*** |
CN115422106A (zh) * | 2022-09-30 | 2022-12-02 | 新华三信息技术有限公司 | 一种中断请求的处理方法和装置 |
-
2023
- 2023-02-24 CN CN202310174347.7A patent/CN116150054B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098144A (en) * | 1996-09-20 | 2000-08-01 | U.S. Philips Corporation | Solid state data processor with versatile multisource interrupt organization |
JPH11232210A (ja) * | 1998-02-16 | 1999-08-27 | Fuji Xerox Co Ltd | 情報処理装置 |
CN103150146A (zh) * | 2013-01-31 | 2013-06-12 | 西安电子科技大学 | 基于可扩展处理器架构的专用指令集处理器及其实现方法 |
CN111656336A (zh) * | 2018-06-30 | 2020-09-11 | 华为技术有限公司 | 一种pcie发送、接收方法及装置、设备和*** |
CN115422106A (zh) * | 2022-09-30 | 2022-12-02 | 新华三信息技术有限公司 | 一种中断请求的处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
来宾等: "Linux内核实时性能改进方案", 微计算机应用, vol. 28, no. 03 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116743317A (zh) * | 2023-06-29 | 2023-09-12 | 上海奎芯集成电路设计有限公司 | 基于通用芯片互联标准的数据传输方法 |
CN116743317B (zh) * | 2023-06-29 | 2024-01-23 | 上海奎芯集成电路设计有限公司 | 基于通用芯片互联标准的数据传输方法 |
CN117873672A (zh) * | 2023-12-26 | 2024-04-12 | 象帝先计算技术(重庆)有限公司 | 中断处理***、组件、设备、方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116150054B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116150054B (zh) | 一种基于pcie的中断信息处理方法 | |
US11438776B2 (en) | Control channel monitoring method, monitoring indication method, user equipment and network device | |
WO2023284699A1 (zh) | 基于Linux***的协议栈数据传输方法、计算机设备和存储介质 | |
US9009373B2 (en) | Method for implementing audio transmission and mobile terminal | |
US11968012B2 (en) | Information transmission method and terminal | |
US20220191291A1 (en) | Method, apparatus, and system for session reestablishment or session sharing, and storage medium | |
WO2016107270A1 (zh) | 管理设备的方法、设备和设备管理控制器 | |
US20230205870A1 (en) | Control instruction processing method, apparatus and device, and computer storage medium | |
CN111447686A (zh) | 一种harq-ack反馈方法、终端和网络设备 | |
CN115941382A (zh) | 一种spi通信的流控方法、装置、终端设备及存储介质 | |
WO2022188614A1 (zh) | 图像形成装置监控装置、方法、***和存储介质 | |
WO2020119243A1 (zh) | 物理上行控制信道传输方法、网络侧设备和终端 | |
JP2017062711A (ja) | 通信方法、通信プログラムおよび情報処理装置 | |
US11265807B2 (en) | Method for network sharing on a terminal, apparatus, air conditioner and storage medium | |
US20230034859A1 (en) | Method for determining conflicting resource, terminal, and network device | |
KR102274930B1 (ko) | 채널 연결 관리 방법 및 장치 | |
US20220124742A1 (en) | Sending method, interference handling method, terminal, and network-side device | |
US9619005B2 (en) | Apparatus and method for saving power of USB device | |
CN111857996B (zh) | 一种中断处理方法、***、设备及计算机可读存储介质 | |
CN114024878A (zh) | 数据传输方法、装置、介质和设备 | |
WO2020250778A1 (ja) | 通信装置および通信方法、並びにプログラム | |
US20240045827A1 (en) | Management system, processing chip, apparatus, device, and method | |
US11847089B2 (en) | Electronic device and method for sharing data lanes of a network interface device between two or more computing devices | |
WO2023226787A1 (zh) | 通信方法、***、装置和电子设备 | |
WO2021228080A1 (zh) | 信息传输、harq-ack码本的生成、传输方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |