一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

中断处理方法和装置、电子设备及计算机可读存储介质与流程

2022-05-31 23:30:01 来源:中国专利 TAG:


1.本技术涉及数据存储技术领域,尤其涉及一种中断处理方法和装置、电子设备及计算机可读存储介质。


背景技术:

2.随着网络技术的发展,可以通过网络为用户提供计算机与存储介质之间的连接。特别是原本只能够在本地实现的高速数据通道也可以通过网络来实现。例如,在现有技术中已经提出了nvme(非易失性内存主机控制器接口规范)over fabrics(通过光线的nvme)技术,该技术也被称为nof。该技术是一个相对较新的协议规范,其可以允许用户使用nvme通过网络结构将主机连接到存储。nof技术的提出允许使用各种通用的传输层协议来实现nvme功能。
3.在nof协议的基础上,现有技术中又进一步提出了pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)peer-to-peer(端到端)(p2p)协议,在该协议中可以由源设备作为主机来取得pci总线的控制权进而与pci总线上的其他目标设备进行通信和数据传输。由于p2p的传输效率高,因此当前已经成为了实现nof功能的主要方式。但是在该方案中,通常pcie-ep(端点)设备作为源设备在完成命令流程处理的结束时会发起msi(message signaled interrupt,消息信号中断)来通知目的设备介入处理,但是在使用p2p场景下使用这样的msi机制需要通过处理器来向目的设备转发该中断消息,因此需要占用处理器资源这样的中断请求的转发。


技术实现要素:

4.本技术实施例提供一种中断处理方法和装置、电子设备及计算机可读存储介质,以解决现有技术中需要额占用处理器资源进行中断转发的缺陷。
5.为达到上述目的,本技术实施例提供了一种中断处理方法,包括:
6.获取源设备执行的命令的处理状态;
7.根据所述处理状态生成中断请求,其中,所述中断请求中包含有用于执行所述中断请求的目标设备的第一存储地址;
8.将所述中断请求发送给所述目标设备。
9.本技术实施例还提供了一种中断处理装置,包括:
10.获取模块,用于获取源设备执行的命令的处理状态;
11.生成模块,用于根据所述处理状态生成中断请求,其中,所述中断请求中包含有用于执行所述中断请求的目标设备的第一存储地址;
12.发送模块,用于将所述中断请求发送给所述目标设备。
13.本技术实施例还提供了一种电子设备,包括:
14.存储器,用于存储程序;
15.处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本技术实
施例提供的中断处理方法。
16.本技术实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本技术实施例提供的中断处理方法。
17.本技术实施例提供的中断处理方法和装置、电子设备及计算机可读存储介质,通过根据源设备执行的命令的处理状态来生成中断请求,并且在中断请求中包含目的设备中的第一存储地址,从而可以根据该中断报文中包含的目的设备的第一存储地址将该中断请求发送到目的设备,从而目的设备可以根据该中断请求来执行相应的中断操作,从而在整个中断请求的发送过程中无须使用额外的处理器进行解析来获取目的设备地址以及将目的设备地址与中断请求封装在一起,因此省去了处理器处理中断请求所导致的额外延时,而且还消除了中断请求转发过程中对于处理器资源的占用,降低了处理器的负载和资源消耗。
18.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
19.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
20.图1为本技术实施例提供的中断处理方案的应用场景示意图;
21.图2为本技术提供的中断处理方法的一个实施例的流程图;
22.图3为本技术提供的中断处理方法的一个实施例的流程图;
23.图4为本技术提供的中断处理装置的实施例的结构示意图;
24.图5为本技术提供的电子设备实施例的结构示意图。
具体实施方式
25.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
26.实施例一
27.本技术实施例提供的方案可应用于任何具有中断执行能力的pcie系统,例如包括有pcie设备和交换机的nof系统等等。图1为本技术实施例提供的中断处理方案的应用场景示意图,图1所示的场景仅仅是本技术的技术方案可应用的示例之一。
28.随着网络技术的发展,可以通过网络为用户提供计算机与存储介质之间的连接。特别是原本只能够在本地实现的高速数据通道也可以通过网络来实现。例如,在现有技术中已经提出了nvme(非易失性内存主机控制器接口规范)over fabrics(通过光线的nvme)技术,该技术也被称为nof。该技术是一个相对较新的协议规范,其可以允许用户使用nvme通过网络结构将主机连接到存储。nof技术的提出允许使用各种通用的传输层协议来实现
nvme功能。
29.在nof协议的基础上,现有技术中又进一步提出了pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)peer-to-peer(端到端)(p2p)方案,在该方案中可以由源设备作为主机来取得pci总线的控制权进而与pci总线上的其他目标设备进行通信和数据传输。由于p2p的传输效率高,因此当前已经成为了实现nof功能的主要方式。
30.例如,在如图1中所示的nof场景中,作为源设备的pcie-ep(端点)设备可以执行命令,并且在完成命令流程处理的结束时可以发起msi(message signaled interrupt,消息信号中断)已通知目的设备介入处理。为此,在现有技术中,如图1中虚线所示,源设备可以将msi或msi-x中断请求的报文发送给例如pcie交换机。该msi或msi-x中断请求可以用于请求目标设备来执行中断处理以介入处理。但是接收到该中断请求报文的pci-e交换机无法直接将该中断请求报文转发给目标设备,因为该报文中并没有包含目标设备的地址,因此,在现有技术中,该交换机只能够将该中断请求报文继续发送给处理器设备。处理器设备接收到交换机发送来的源设备的中断请求报文之后,可以根据该中断请求而确定其所针对的目标设备以及该目标设备的中断地址,例如该目标设备的基地址寄存器中用于该中断请求的存储地址。因此,处理器设备可以将该存储地址与该中断请求封装在一起,然后再发送给pcie交换机,从而该pcie交换机可以从接收到的该封装中识别出目的设备的该存储地址,从而可以将该中断请求转发到目的设备。
31.因此,在该转发过程中,如图1中所示,源设备发出的中断请求无法直接由交换机转发给目标设备,而是需要经由处理器设备来通过将该中断请求报文的目的设备中的存储地址与中断请求封装在一起的方式,来让交换机能够将该中断请求转发到目标设备。之后,目标设备就可以根据接收到的中断请求在例如基地址寄存器中的存储地址来将中断请求再次转发到对应的中断模块来执行该中断请求。
32.现有技术中使用这样的msi机制由于需要通过处理器设备来向目的设备转发该中断消息,因此需要占用处理器资源,这不仅导致了额外的延时,而且增加了处理器的负载和处理的复杂程度。
33.在本技术实施例的中断处理方案中,在源设备被初始化时,可以将该源设备对应的目的设备的例如基地址寄存器中将会用于该源设备的中断请求的空间地址预先分配给该源设备。例如,在例如如图1中所示的场景中,可以将目标设备中的基地址寄存器中的第一个地址分配给该源设备作为该源设备的中断请求的第一存储地址。例如,可以将目标设备中已经分配给该源设备的第一存储地址存储在源设备的msi/msi-x能力寄存器(capability)中的消息地址字段中。
34.在目标设备中可以进一步将该已经分配给源设备的第一存储地址映射到对应执行该源设备的中断请求的执行模块,例如soc(芯片上系统)模块的中断空间,并且在目标设备中可以将该源设备的中断请求在基地址寄存器中的第一存储地址与中断空间中的第二存储地址的映射关系存储为映射表。例如,可以将上述分配给源设备的基地址寄存器中的第一存储地址与中断空间中的第二存储地址都存储为映射表中的第一组地址映射,即给其映射关系可以分配有映射组编号1。
35.因此,在完成了初始化之后,源设备就已经被分配并存储有目标设备中的第一存
储地址。在该源设备完成了其所执行的命令过程时,就可以在生成中断请求时,在msi/msi-x中断请求报文的例如消息地址(message addr)字段中携带目标设备的该第一存储地址,并发送给交换机,从而交换机在接收到该中断请求时就可以根据该中断请求中包含的目标设备的该第一存储地址而直接将该中断请求报文转发到目标设备的对应地址,即目标设备的基地址寄存器中。
36.目标设备在接收到该中断请求报文时,可以同样地根据该中断请求报文的该第一存储地址查询上述映射表。例如,可以通过查询上述映射表而确定该源设备发送的中断请求对应的映射组编号为1,并进而可以该映射组编号1来确定该中断请求对应的中断地址,例如在图1中所示的场景中,该中断地址是目标设备中的soc设备的对应中断空间,从而目标设备可以将中断请求的消息数据发送到该中断空间中,从而该soc设备可以执行该中断请求。
37.本技术实施例提供的中断处理方案,通过根据源设备执行的命令的处理状态来生成中断请求,并且在中断请求中包含目的设备中的第一存储地址,从而可以根据该中断报文中包含的目的设备的第一存储地址直接将该中断请求转发到目的设备,从而目的设备可以根据该中断请求来执行相应的中断操作,从而在整个中断请求的转发过程中无须使用额外的处理器进行解析来获取目的设备地址以及将目的设备地址与中断请求封装在一起,因此省去了处理器处理中断请求所导致的额外延时,而且还消除了中断请求转发过程中对于处理器资源的占用,降低了处理器的负载和资源消耗。
38.上述实施例是对本技术实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本技术实施例具体技术方案进行详细描述。
39.实施例二
40.图2为本技术提供的中断处理方法的一个实施例的流程图,该方法的执行主体可以为具有中断能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该中断处理方法可以包括如下步骤:
41.s201,获取源设备执行的命令的处理状态。
42.在步骤s201中,源设备可以获取其当前正在执行的命令的处理状态。
43.s202,根据处理状态生成中断请求。
44.当步骤s201中获取到的处理状态是源设备完成了其所执行的命令时,可以发起例如msi(message signaled interrupt,消息信号中断)已通知目的设备介入处理。例如,可以在步骤s202中生成中断请求时,该msi/msi-x中断请求报文的例如消息地址(message addr)字段中可以携带目标设备的第一存储地址。该第一存储地址可以是目标设备中的基地址寄存器中分配给该源设备用于该源设备的中断请求的地址。
45.s203,将中断请求发送给目标设备。
46.在步骤s202中生成了中断请求之后,可以在步骤s203中将该中断请求发送给目标设备。例如,在本技术实施例中,可以先发送给交换机,从而交换机在接收到该中断请求时就可以根据该中断请求中包含的目标设备的该第一存储地址而直接将该中断请求报文转发到目标设备的对应地址,即目标设备的基地址寄存器中。
47.因此,目标设备在接收到该中断请求报文时,可以同样地根据该中断请求报文的该第一存储地址查询上述映射表。例如,可以通过查询上述映射表而确定该源设备发送的
中断请求对应的映射组编号为1,并进而可以该映射组编号1来确定该中断请求对应的中断地址,例如在图1中所示的场景中,该中断地址是目标设备中的soc设备的对应中断空间,从而目标设备可以将中断请求的消息数据发送到该中断空间中,从而该soc设备可以执行该中断请求。
48.本技术实施例提供的中断处理方法,通过根据源设备执行的命令的处理状态来生成中断请求,并且在中断请求中包含目的设备中的第一存储地址,从而可以根据该中断报文中包含的目的设备的第一存储地址将该中断请求发送到目的设备,从而目的设备可以根据该中断请求来执行相应的中断操作,从而在整个中断请求的转发过程中无须使用额外的处理器进行解析来获取目的设备地址以及将目的设备地址与中断请求封装在一起,因此省去了处理器处理中断请求所导致的额外延时,而且还消除了中断请求转发过程中对于处理器资源的占用,降低了处理器的负载和资源消耗。
49.实施例三
50.图3为本技术提供的中断处理方法的一个实施例的流程图,该方法的执行主体可以为通过网络连接成集群的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图3所示,该中断处理方法可以包括如下步骤:
51.s301,获取源设备执行的命令的处理状态。
52.在步骤s301中,源设备可以获取其当前正在执行的命令的处理状态。
53.s302,获取源设备在初始化时分配的目标设备的基地址寄存器的空间地址作为第一存储地址。
54.s303,生成中断请求。
55.当步骤s301中获取到的处理状态是源设备完成了其所执行的命令过程时,可以发起例如msi(message signaled interrupt,消息信号中断)已通知目的设备介入处理。在本技术实施例的中断处理方案中,在源设备被初始化时,可以将该源设备对应的目的设备的例如基地址寄存器中将会用于该源设备的中断请求的空间地址预先分配给该源设备。例如,在例如如图1中所示的场景中,可以将目标设备中的基地址寄存器中的第一个地址分配给该源设备作为该源设备的中断请求的第一存储地址。例如,可以将目标设备中已经分配给该源设备的第一存储地址存储在源设备的msi/msi-x能力寄存器(capability)中的消息地址字段中。
56.在步骤s302中可以获取该第一存储地址,并且在步骤s303中生成中断请求。例如,该msi/msi-x中断请求报文的例如消息地址(message addr)字段中可以携带目标设备的第一存储地址。该第一存储地址可以是目标设备中的基地址寄存器中分配给该源设备用于该源设备的中断请求的地址。
57.s304,发送中断请求给路由设备,以将中断请求转发给目标设备。
58.在步骤s303中生成了中断请求之后,可以在步骤s304中将该中断请求发送给交换机,从而交换机在接收到该中断请求时就可以根据该中断请求中包含的目标设备的该第一存储地址而直接将该中断请求报文转发到目标设备的对应地址,即目标设备的基地址寄存器中。
59.因此,目标设备在接收到该中断请求报文时,可以同样地根据该中断请求报文的该第一存储地址查询上述映射表。例如,可以通过查询上述映射表而确定该源设备发送的
中断请求对应的映射组编号为1,并进而可以该映射组编号1来确定该中断请求对应的中断地址,例如在图1中所示的场景中,该中断地址是目标设备中的soc设备的对应中断空间,从而目标设备可以将中断请求的消息数据发送到该中断空间中,从而该soc设备可以执行该中断请求。
60.本技术实施例提供的中断处理方法,通过根据源设备执行的命令流程的处理状态来生成中断请求,并且在中断请求中包含目的设备中的第一存储地址,从而交换机可以根据该中断报文中包含的目的设备的第一存储地址直接将该中断请求转发到目的设备,从而目的设备可以根据该中断请求来执行相应的中断操作,从而在整个中断请求的转发过程中无须使用额外的处理器进行解析来获取目的设备地址以及将目的设备地址与中断请求封装在一起,因此省去了处理器处理中断请求所导致的额外延时,而且还消除了中断请求转发过程中对于处理器资源的占用,降低了处理器的负载和资源消耗。
61.实施例四
62.图4为本技术提供的中断处理装置的实施例的结构示意图,可以用于执行图2或图3中所示的中断处理方法。如图4所示,该装置可以包括:获取模块41、生成模块42和发送模块43。
63.获取模块41可以用于获取源设备执行的命令流程的处理状态。
64.在本技术实施例中,获取模块41可以获取源设备当前正在执行的命令过程的处理状态。
65.生成模块42可以用于根据处理状态生成中断请求。
66.当获取模块41获取到的处理状态是源设备完成了其所执行的命令过程时,可以发起例如msi(message signaled interrupt,消息信号中断)已通知目的设备介入处理。例如,在源设备被初始化时,可以将该源设备对应的目的设备的例如基地址寄存器中将会用于该源设备的中断请求的空间地址预先分配给该源设备。例如,在例如如图1中所示的场景中,可以将目标设备中的基地址寄存器中的第一个地址分配给该源设备作为该源设备的中断请求的第一存储地址。例如,可以将目标设备中已经分配给该源设备的第一存储地址存储在源设备的msi/msi-x能力寄存器(capability)中的消息地址字段中。
67.生成模块42生成中断请求时,该msi/msi-x中断请求报文的例如消息地址(message addr)字段中可以携带目标设备的第一存储地址。该第一存储地址可以是目标设备中的基地址寄存器中分配给该源设备用于该源设备的中断请求的地址。
68.发送模块43可以用于将中断请求发送发给目标设备。
69.在步生成模块42生成了中断请求之后,发送模块43可以将该中断请求发送给目标设备。例如在本技术实施例中,可以将中断请求发送给交换机,从而交换机在接收到该中断请求时就可以根据该中断请求中包含的目标设备的该第一存储地址而直接将该中断请求报文转发到目标设备的对应地址,即目标设备的基地址寄存器中。
70.因此,目标设备在接收到该中断请求报文时,可以同样地根据该中断请求报文的该第一存储地址查询上述映射表。例如,可以通过查询上述映射表而确定该源设备发送的中断请求对应的映射组编号为1,并进而可以该映射组编号1来确定该中断请求对应的中断地址,例如在图1中所示的场景中,该中断地址是目标设备中的soc设备的对应中断空间,从而目标设备可以将中断请求的消息数据发送到该中断空间中,从而该soc设备可以执行该
中断请求。
71.本技术实施例提供的中断处理装置,通过根据源设备执行的命令的处理状态来生成中断请求,并且在中断请求中包含目的设备中的第一存储地址,从而可以根据该中断报文中包含的目的设备的第一存储地址将该中断请求转发到目的设备,从而目的设备可以根据该中断请求来执行相应的中断操作,从而在整个中断请求的转发过程中无须使用额外的处理器进行解析来获取目的设备地址以及将目的设备地址与中断请求封装在一起,因此省去了处理器处理中断请求所导致的额外延时,而且还消除了中断请求转发过程中对于处理器资源的占用,降低了处理器的负载和资源消耗。
72.实施例五
73.以上描述了中断处理装置的内部功能和结构,该装置可实现为一种电子设备。图5为本技术提供的电子设备实施例的结构示意图。如图5所示,该电子设备包括存储器51和处理器52。
74.存储器51,用于存储程序。除上述程序之外,存储器51还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
75.存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
76.处理器52,不仅仅局限于处理器(cpu),还可能为图形处理器(gpu)、现场可编辑门阵列(fpga)、嵌入式神经网络处理器(npu)或人工智能(ai)芯片等处理芯片。处理器52,与存储器51耦合,执行存储器51所存储的程序,以执行上述实施例二或三的中断处理方法。
77.进一步,如图5所示,电子设备还可以包括:通信组件53、电源组件54、音频组件55、显示器56等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
78.通信组件53被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件53经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件53还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
79.电源组件54,为电子设备的各种组件提供电力。电源组件54可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
80.音频组件55被配置为输出和/或输入音频信号。例如,音频组件55包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器51或经由通信组件53发送。在一些实施例中,音频组件55还包括一个扬声器,用于输出音频信号。
81.显示器56包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个
或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
82.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
83.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献