中断分发器、数据处理芯片、中断分发及数据处理方法
文献发布时间:2023-06-19 12:10:19
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种中断分发器、数据处理芯片、中断分发及数据处理方法、电子设备及存储介质。
背景技术
在异构计算系统中,存在多种不同的处理器,在提高可编程性的同时,还可以提高系统算力。在异构计算系统中,同一中断源可能会在不同的处理周期向不同的处理器发送中断信号;当前的异构机构计算系统存在中断源和处理器之间走线复杂的问题。
发明内容
本公开实施例至少提供一种中断分发器、数据处理芯片、中断分发及数据处理方法、电子设备及存储介质。
第一方面,本公开实施例提供了一种中断分发器,包括:配置寄存器以及中断集线器;其中,所述配置寄存器,用于存储当前中断发送模式下中断源与处理器之间的映射关系信息;其中,所述当前中断发送模式为至少一种中断发送模式中的任一种;所述中断集线器,用于从所述中断源接收待发送中断信号,并基于所述配置寄存器中存储的所述当前中断发送模式对应的映射关系信息,向与所述中断源对应的目标处理器发送所述待发送中断信号。
这样,无论中断源和处理器有多少,中断源均与中断分发器连接,处理器也均与中断分发器连接;减少中断源和处理器之间直接连接时的走线数量,可以降低走线的复杂度。走线复杂度降低,则能够降低芯片的设计难度,并减少走线需要的空间,使得基于异构计算系统的芯片的体积得以减小。
一种可选的实施方式中,还包括:控制器;所述控制器,用于在所述至少一种中断发送模式下确定所述当前中断发送模式,并向所述配置寄存器下发在所述当前中断发送模式下的映射关系信息。
这样,可以利用控制器控制中断分发器的中断信号分发方式,中断信号的分发更加的灵活可控。
一种可选的实施方式中,还包括:至少一个中断发送接口;所述中断发送接口与所述中断集线器连接;所述中断集线器在基于所述配置寄存器中存储的所述当前中断发送模式对应的映射关系信息,向与所述中断源对应的目标处理器发送所述待发送中断信号时,用于:基于所述映射关系信息、以及所述待发送中断信号携带的中断信号标识,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口,并向所述目标中断发送接口发送所述待发送中断信号;所述中断发送接口,用于在接收到所述中断集线器发送的待发送中断信号后,向与所述中断发送接口连接的与所述待发送中断信号对应的目标处理器发送所述待发送中断信号。
这样,利用中断发送接口,可以使多个待发送中断信号同时向多个处理器发送,因而可以减少耗费的时间。
一种可选的实施方式中,所述中断信号标识包括下述至少一种:为所述待发送中断信号确定的身份标识、与所述待发送中断信号对应的目标处理器的标识、与所述待发送中断信号对应的目标处理器与所述中断集线器连接的中断发送接口的标识。
这样,利用中断信号标识可以更快速且更准确的确定将待发送中断信号发送至对应的目标处理器和/或中断发送接口。
一种可选的实施方式中,所述至少一个中断发送接口中的各中断发送接口,还用于在与对应处理器连接时,建立与对应处理器之间的关联关系信息,并向所述中断集线器上报所述关联关系信息;所述中断集线器,在基于所述映射关系信息、以及所述待发送中断信号携带的中断信号标识,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口时,用于:基于所述映射关系信息、所述待发送中断信号携带的中断信号标识、以及所述关联关系信息,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口。
这样,能够基于处理器和中断分发器之间的实际连接,灵活配置中断分发器。
一种可选的实施方式中,所述映射关系信息,用于指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至同一处理器;和/或,指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至不同处理器。
一种可选的实施方式中,在不同的中断发送模式下,所述中断源与所述处理器之间的映射关系信息至少部分不同。
一种可选的实施方式中,所述中断分发器还包括:中断接收接口;所述中断接收接口与所述中断集线器连接;所述中断接收接口用于接收中断源发送的待发送中断信号,并向所述中断集线器发送所述待发送中断信号。
第二方面,本公开实施例还提供一种数据处理芯片,包括:上述第一方面所述的中断分发器、以及至少一个处理器;所述处理器与所述中断分发器连接。
一种可选的实施方式中,所述处理器,包括:处理器主体、以及中断控制器;所述中断控制器,用于接收所述中断分发器发送的中断信号,并基于所述中断信号的优先级信息、和/或预先设置的中断屏蔽信息,从所述中断信号中确定目标中断信号,并向所述处理器主体发送所述目标中断信号;所述处理器主体,用于接收所述中断控制器发送的所述目标中断信号,并对所述目标中断信号进行响应。
第三方面,本公开实施例还提供一种中断分发方法,应用于中断分发器,所述中断分发器包括:配置寄存器以及中断集线器;所述中断分发方法包括:所述配置寄存器存储当前中断发送模式下中断源与处理器之间的映射关系信息;其中,所述当前中断发送模式为至少一种中断发送模式中的任一种;所述中断集线器从所述中断源接收待发送中断信号,并基于所述配置寄存器中存储的所述当前中断发送模式对应的映射关系信息,向与所述中断源对应的目标处理器发送所述待发送中断信号。
一种可选的实施方式中,所述中断分发方法应用于中断分发器,所述中断分发器还包括控制器;所述中断分发方法还包括:所述控制器在所述至少一种中断发送模式下确定所述当前中断发送模式,并向所述配置寄存器下发在所述当前中断发送模式下的映射关系信息。
一种可选的实施方式中,所述中断分发方法应用于中断分发器,所述中断分发器还包括:至少一个中断发送接口;所述中断发送接口与所述中断集线器连接;所述中断集线器基于所述配置寄存器中存储的所述当前中断发送模式对应的映射关系信息,向与所述中断源对应的目标处理器发送所述待发送中断信号,包括:所述中断集线器基于所述映射关系信息、以及所述待发送中断信号携带的中断信号标识,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口,并向所述目标中断发送接口发送所述待发送中断信号;所述中断发送接口在接收到所述中断集线器发送的待发送中断信号后,向与所述中断发送接口连接的与所述待发送中断信号对应的目标处理器发送所述待发送中断信号。
一种可选的实施方式中,所述中断信号标识包括下述至少一种:为所述待发送中断信号确定的身份标识、与所述待发送中断信号对应的目标处理器的标识、与所述待发送中断信号对应的目标处理器与所述中断集线器连接的中断发送接口的标识。
一种可选的实施方式中,还包括所述至少一个中断发送接口中的各中断发送接口在与对应处理器连接时,建立与对应处理器之间的关联关系信息,并向所述中断集线器上报所述关联关系信息;所述中断集线器基于所述映射关系信息、以及所述待发送中断信号携带的中断信号标识,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口,包括:所述中断集线器基于所述映射关系信息、所述待发送中断信号携带的中断信号标识、以及所述关联关系信息,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口。
一种可选的实施方式中,所述映射关系信息,用于指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至同一处理器;和/或,指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至不同处理器。
一种可选的实施方式中,在不同的中断发送模式下,所述中断源与所述处理器之间的映射关系信息至少部分不同。
一种可选的实施方式中,所述中断分发方法应用于中断分发器,所述中断分发器还包括:中断接收接口;所述中断接收接口与所述中断集线器连接;所述中断分发方法还包括:所述中断接收接口接收中断源发送的待发送中断信号,并向所述中断集线器发送所述待发送中断信号。
第四方面,本公开实施例还提供一种数据处理方法,应用于数据处理芯片,所述数据处理芯片包括上述第一方面所述的中断分发器、以及至少一个处理器;所述处理器与所述中断分发器连接;所述处理器包括:处理器主体、以及中断控制器;所述数据处理方法包括:所述中断控制器接收所述中断分发器发送的中断信号,并基于所述中断信号的优先级信息、和/或预先设置的中断屏蔽信息,从所述中断信号中确定目标中断信号,并向所述处理器主体发送所述目标中断信号;所述处理器主体接收所述中断控制器发送的所述目标中断信号,并对所述目标中断信号进行响应。
第五方面,本公开可选实现方式还提供一种电子设备,包括:存储器和本公开第一方面提供的命令分发器和/或本公开第二方面提供的数据处理芯片。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第三方面,或第四方面中任一种可能的实施方式中的步骤。
关于上述中断分发及数据处理方法、电子设备及存储介质的效果描述参见上述对应中断分发器、数据处理芯片的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种中断分发器的示意图;
图2示出了本公开实施例所提供一种中断发生器在分发中断信号时的具体示例图;
图3示出了本公开实施例所提供的一种数据处理芯片的示意图;
图4示出了本公开实施例所提供的一种中断分发方法的流程图;
图5示出了本公开实施例所提供的一种数据处理方法的流程图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,近年来,神经网络普遍应用在预测学习、视频安防、图像处理等领域,这些应用对计算的需求已远远超出了传统中央处理器(Central Processing Unit,CPU)处理器的能力。为了满足神经网络在计算机设备中的部署,异构计算系统应运而生;异构系统往往在一台计算机上包括了多种处理器;例如,系统级芯片(System on Chip,SOC)上往往含有多核CPU、微控制单元(Microcontroller Unit,MCU)和人工智能处理核(ArtificialIntelligence Core,AI Core)等多种处理器。对于异构系统来说,每个处理器都可以独立接收和处理各种中断源传来的中断信号。在中断源向不同的处理器发送中断信号时,通常通过中断源与处理器之间的数据通路,向处理器发送中断信号。在异构计算系统中处理器和中断源的数量较多的情况下,为了将任一中断源发送的中断信号向不同的处理器传输,则需要将该中断源与多个处理器连接,使得中断源和多个处理器之间走线复杂化;这导致了基于异构计算系统的SOC的设计难度增加,且由于需要更多的走线空间,因此基于异构计算系统的SOC的体积往往较大。
另外,在同一中断源发送给不同的处理器的中断信号之间有先后的逻辑处理关系的时候,由于将中断源和处理器直接连接,因此该中断源会将终端信号分别发送给不同的处理器;而不同处理器之间并不存在对中断信号处理的交互机制,造成中断信号处理逻辑混乱。
基于上述研究,本公开提供了一种中断分发器,其中包括配置寄存器以及中断集线器。中断集线器可以在接收到中断源发送的待发送中断信号后,可以根据配置寄存器中存储的当前中断发送模式下中断源和处理器之间的映射关系信息,确定将中断源对应的目标处理器发送待发送中断信号。这样,中断分发器可以在中断源和处理器之间实现缓冲调度的功能,以使中断源可以直接在中断集线器发送待发送中断信号后,由中断集线器确定在当前中断发送模式下的目标处理器,从而完成对待发送中断信号的发送;这样,无论中断源和处理器有多少,中断源均与中断分发器连接,处理器也均与中断分发器连接;减少中断源和处理器之间直接连接时的走线数量,降低走线的复杂度。走线复杂度降低,降低芯片的设计难度,并减少走线需要的空间,使得基于异构计算系统的芯片的体积得以减小。
另外,由于通过中断集线器来控制发往各个处理器的中断信号的发送,因此在不增加芯片处理器之间对中断信号处理的交互机制的情况下,可以利用中断集线器来保证中断信号的处理逻辑。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本公开实施例中,可以将中断分发器、和中断源集成在一个芯片中;或者,将中断分发器和处理器集成在一个芯片中;或者,将中断分发器、处理器、以及中断源集成在一个芯片中。在将中断分发器和中断源、处理器中的至少一项集成在一个芯片中的情况下,中断分发器和中断源、处理器中的至少一项通过芯片内部的走线固定连接。
另外,也可以将中断分发器和其他的结构(中断源和/或处理器)分别集成在不同的芯片中,不同的芯片之间通过芯片间的总线可插拔连接。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种中断分发器进行介绍。
参见图1所示,为本公开实施例提供的一种中断分发器的示意图。中断分发器包括配置寄存器10以及中断集线器20;其中,
配置寄存器10,用于存储当前中断发送模式下中断源与处理器之间的映射关系信息;其中,当前中断发送模式为至少一种中断发送模式中的任一种;
中断集线器20,用于从中断源接收待发送中断信号,并基于配置寄存器10中存储的当前中断发送模式对应的映射关系信息,向与中断源对应的目标处理器发送待发送中断信号。
在一种可能的实施方式中,中断源可以存在多个,例如可以表示为中断源0~中断源m;处理器也可以存在的多个,例如可以表示为处理器0~处理器n。在直接将中断源0~中断源m分别与处理器0~处理器n直接连接时,为了最大限度的保证任一中断源发送的中断信号可以发送至任一处理器中,则需要n×m条中断信号的传输线路。而利用本公开实施例提供的中断分发器,中断源0~中断源m可以直接与中断分发器连接,处理器0~处理器n同样也可以直接与中断分发器连接,则所需的中断信号的传输线路的数量变为n+m条。在异构计算系统等中断源和处理器的数量均较多的情况下,较之直接将中断源与处理器连接的电路结构,本公开实施例提供的中断分发器使得中断源和处理器之间的连接布线更为简单。
下面以存在中断源0~中断源5,且存在处理器0~处理器2为例,对本公开实施例提供的中断分发器加以说明。
在不同中断发送模式下,中断源可以向不同的处理器发送中断信号,因此不同中断发送模式下中断源与处理器之间的映射关系信息可能不同。具体地,映射关系信息例如可以用于指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至同一处理器;和/或,指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至不同处理器。
在一种可能的实施方式中,例如可以确定可能的多个中断发送模式包括中断发送模式0、中断发送模式1、以及中断发送模式2。
不同中断发送模式下处理器和中断源之间的映射关系信息如下:
(1):在中断发送模式0下,处理器0对应中断源0、中断源1;处理器1对应中断源2、中断源3;处理器2对应中断源4、中断源5。
(2):在中断发送模式1下,处理器0对应中断源0;处理器1对应中断源1、中断源2、中断源3;处理器2对应中断源4、中断源5。
(3):在中断发送模式2下,处理器0对应中断源0、中断源1;处理器1对应中断源2、中断源3、中断源4、中断源5。
此处,在映射关系信息中,不同的中断发送模式下不同处理器对应的中断源的数量可以相同,也可以不同,例如上述(1)与(2)对应的映射关系信息;另外,映射关系信息中还可以仅包括部分处理器,例如上述(3)对应的映射关系信息,不存在处理器2对应的中断源。
参见图2所示,为本公开实施例提供的一种中断分发器在分发中断信号时的具体示例图。在图2中,包括多个中断源,表示为a0~a5;还包括多处理器,表示为b0~b2。
在具体实施中,在中断分发器中还包括控制器,控制器即可以用于在至少一种中断发送模式下确定当前中断发送模式,并向配置寄存器10下发在当前中断发送模式下的映射关系信息。
参见图2所示,为本公开实施例提供的一种中断发生器在分发中断信号时的具体示例图。在图2中,中断分发器中还包括控制器30。
具体地,控制器30可以根据实际处理任务的需求,在确定的多个中断发送模式下,确定当前中断发送模式;或者接收主机(host)或者其他外部设备发送的当前中断模式,并将确定的当前中断发送模式告知配置寄存器10。其中,主机向配置寄存器10发送当前中断发送模式时,例如可以采用外围配置总线(Advanced Peripheral Bus,APB)。这样,控制器30即可以在配置寄存器10中下发当前中断发送模式下的映射关系信息。
示例性的,控制器30可以在上述(1)~(3)示出的三种不同的中断发送模式下,确定当前中断发送模式为中断发送模式0,然后即可以将中断发送模式0对应的映射关系信息发送给配置寄存器10。
这样,配置寄存器10可以仅接收控制器30发送的当前中断发送模式下的映射关系信息,因此其对应的存储容量可以较小,从而减少在减小配置寄存器10的体积开销。
在具体实施中,还包括中断源向中断集线器20发送待发送中断信号的过程。中断源可以先通过中断分发器中与中断源相连接的多个中断接收接口,将其待发送的待发送中断信号通过对应的中断接收接口发送至中断集线器20中。
参见图2所示,在中断分发器中还包括多个中断接收接口40,包括中断接收接口A~中断接收接口F。在一种可能的实施方式中,在当前中断发送模式下,中断源均只发送一个待发送中断信号,则每个中断源均与其对应的中断接收接口40相连,也即在图2中示出的中断源与中断接收接口40之间的箭头指示的数据通路。在另一种可能的实施方式中,可能存在至少一个中断源向处理器发送至少两个待发送中断信号的情况,可以利用如图2示出的一个数据通路依次发送多个待发送中断信号;或者增加该中断源与其对应的中断接收接口40之间的数据通路的数量,以同时发送多个待发送中断信号。具体的中断接收接口40与中断源之间的数据通路的连接方式和数量可以根据实际情况确定,在此不做出限定。
此处,利用多个中断接收接口40和中断源分别连接,可以使多个中断源发送的待发送中断信号同时发送,相较于依次发送多个待发送中断信号的方式,可以减少所需要耗费的时间。
利用中断接收接口40,中断集线器20即可以接收到多个中断源发送的待发送中断信号,并将待发送中断信号进一步向对应的目标处理器发送该待发送中断信号。
在具体实施中,中断集线器20在基于配置寄存器10中存储的当前中断发送模式对应的映射关系信息,向与中断源对应的目标处理器发送待发送中断信号时,用于:基于映射关系信息、以及待发送中断信号携带的中断信号标识,从至少一个中断发送接口中,确定与目标处理器对应的目标中断发送接口,并向目标中断发送接口发送待发送中断信号;中断发送接口,用于在接收到中断集线器20发送的待发送中断信号后,向与中断发送接口连接的与待发送中断信号对应的目标处理器发送待发送中断信号。
其中,中断源发送的待发送信号中例如可以携带有对应的中断源的中断信号标识。中断信号源标识例如可以包括下述至少一种:为所述待发送中断信号确定的身份标识、与所述待发送中断信号对应的目标处理器的标识、与所述待发送中断信号对应的目标处理器与所述中断集线器连接的中断发送接口的标识。
示例性的,中断源0发送的待发送信号中可以携带有与中断源0对应的中断信号标识,例如“0”。在一种可能的实施方式中,中断源0发送的待发送中断信号可以包括q个,则可以利用中断源0对应的中断信号标识“0”表示为0-0、0-1、0-2、0-3、……、0-q。对于其他中断源,也可以采用类似的方法确定其中断信号标识,例如中断源1发送的待发送信号中携带有与中断源1对应的中断信号标识“1”;中断源2发送的待发送信号中携带有与中断源3对应的中断信号标识“2”;……以此类推。
中断集线器20在确定映射关系信息后,即可以确定向在映射关系信息中涉及的多个中断源发送待发送中断信号。另外,中断集线器20还可以根据接收到的待发送中断信号中携带的中断信号标识,确定将该待发送中断信号发送至在当前中断发送模式下对应的处理器,也即目标处理器。
具体地,中断集线器20在确定待发送中断信号在当前中断发送模式下对应的目标中断源外,还可以根据确定的待发送中断信号中携带的中断信号标识,或者在确定目标中断源之后,确定与中断集线器20连接的中断发送接口中与目标处理器对应的目标中断发送接口,并向目标中断发送接口发送待发送中断信号。
参见图2所示,在中断分发器中还包括多个中断发送接口50,包括中断发送接口A、中断发送接口B、中断发送接口C;多个中断发送接口50和中断集线器20连接。其中多个中断发送接口50分别与中断集线器20之间数据通路的数量由在可能的多个中断发送模式下,与中断发送接口50对应的处理器至多接收的待发送中断信号对应中断源的数量确定。以上述(1)~(3)的三种中断发送模式为例,由于处理器0最多对应2个中断源,处理器0对应的中断发送接口A则可以设置2条与中断集线器20对应的数据通路;处理器1最多对应4个中断源,处理器1对应的中断发送接口B则可以设置4条与中断集线器20对应的数据通路;处理器2最多对应2个中断源,处理器2对应的中断发送接口C则可以设置2条与中断集线器20对应的数据通路。
其中,中断发送接口50中的各中断发送接口50,还可以在与对应处理器连接时,建立与对应处理器之间的关联关系信息,并向中断集线器20上报关联关系信息。或者,由主机或者其他外部设备向中断集线器20发送预设的多个中断发送接口与对应处理器之间的关联关系信息。
参见图2所示,中断发送接口A与处理器0对应连接、中断发送接口B与处理器1对应连接、中断发送接口C与处理器2对应连接。由于处理器可能在当前中断发送模式下对应多个中断源,则可以相应的在中断发送接口50和其对应的处理器之间设置多个数据通路。与上述确定中断集线器20与中断发送接口50之间的数据通路数量类似,以上述(1)~(3)的三种中断发送模式为例,由于处理器0最多对应2个中断源,处理器0对应的中断发送接口A则可以设置2条与处理器0对应的数据通路;处理器1最多对应4个中断源,处理器1对应的中断发送接口B则可以设置4条与处理器1对应的数据通路;处理器2最多对应2个中断源,处理器2对应的中断发送接口C则可以设置2条与处理器2对应的数据通路。也即,对于任一处理器,其对应的中断发送接口50与该处理器之间的数据通路的数量,可以与其对应的中断发送接口50与中断集线器20的数量相同。
在中断发送接口50接收到待发送中断信号后,向与所述中断发送接口50连接的与所述待发送中断信号对应的目标处理器发送所述待发送中断信号。
与上述中断接收接口40类似,利用多个中断发送接口50和处理器分别连接,可以使在当前中断发送模式下中断集线器20向多个处理器同时发送待发送中断信号,相较于依照轮询的方式依次向多个处理器发送待发送中断信号的方式,可以减少所需要耗费的时间。
此时,中断发送接口50即可以将待发送中断信号发送至对应的目标处理器。
相较于图2对应实施例中不同中断发送模式下处理器和中断源之间的映射关系信息中,在任一中断发送模式下中断源唯一对应处理器的情况,在本公开另一实施例中,在同一中断发送模式下,一个中断源发送的不同待发送中断信号还可以发送至不同的处理器中。在该种情况下,中断源所发送的待发送中断信号,例如还可以携带有中断信号标识,该中断信号标识可以包括:为待发送中断信号确定的身份标识,或者与待发送中断信号对应的处理器的标识,或者与待发送中断信号对应的处理器与中断集线器20连接的中断发送接口50的标识;中断集线器20在接收到待发送中断信号后,基于待发送中断信号携带的中断信号标识,确定与待发送中断信号对应的处理器,并将待发送中断信号向与对应的目标处理器连接的中断发送接口50发送该待发送中断信号,以使中断发送接口50将该待发送中断信号发送至对应的目标处理器。
以中断信号标识包括:与待发送中断信号对应的处理器的标识为例,在中断发送模式1’下,中断源0对应处理器0和处理器1。
在该种情况下,待发送中断信号中例如携带有与其对应的处理器的标识信息。例如,对应于处理器0的标识信息包括“b0”,对应于处理器1的标识信息包括“b1”,则向处理器0发送的待发送中断信号携带有标识“b0”,向处理器1发送的待发送中断信号携带有标识“b1”。另外,中断集线器20还可以对接收到的待发送中断信号进行标识信息的识别,并可以根据识别得到的标识信息,确定该待发送中断信号对应的目标处理器。
示例性的,在中断发送模式1’下,中断0发送待发送中断信号例如包括两个,分别携带有标识信息“b0”、以及“b1”,与上述图2对应的对待发送中断信号的表示方式相似,可以对应的将两个待发送中断信号表示为b0-0-0、b1-0-1。
在中断源0将待发送中断信号b0-0-0以及b1-0-1通过中断接收接口A发送至中断集线器20后,中断集线器20通过对待发送中断信号b0-0-0以及b1-0-1中携带的处理器的标识信息,确定将该待发送中断信号发送至对应的中断发送接口。
例如,中断集线器20在对待发送中断信号b0-0-0中携带的处理器的标识信息进行检测后,可以确定其对应的目标处理器为处理器0,然后中断集线器20即可以将该待发送中断信号b0-0-0发送至与处理器0对应的中断发送接口A,以使处理器0接收到中断源0发送的与其对应的待发送中断信号。
另外,中断集线器20在对待发送中断信号b1-0-1中携带的目标处理器的标识信息进行检测后,可以确定其对应的目标处理器为处理器1,然后中断集线器20即可以将该待发送中断信号b1-0-1发送至与处理器1对应的中断发送接口B,以使处理器1接收到中断源0发送的与其对应的待发送中断信号。
这样,还可以实现在一个中断发送模式下,同一中断源向不同的处理器发送待发送中断信号,使中断分发器在工作时更加灵活。
本公开实施例还提供一种中断分发器在实际应用过程中的具体示例。
在该示例中,中断源0发送的待发送中断信号例如可以包括0-0、0-1;中断源1发送的待发送中断信号例如可以包括1-0、1-1、1-2;中断源2发送的待发送中断信号例如可以包括2-0、2-1、2-2;中断源3发送的待发送中断信号例如可以包括3-0、3-1;中断源4发送的待发送中断信号例如可以包括4-0、4-1、4-2;中断源5发送的待发送中断信号例如可以包括5-0、5-1。
在第一个中断发送模式下,中断发送模式为上述(1)所示的中断发送模式。主机向控制器30告知当前中断发送模式为上述(1)所示的中断发送模式,然后由控制器30向配置寄存器10发送当前中断发送模式(1)下中断源与处理器之间的映射关系信息。
中断源在向中断接收接口40发送待发送中断信号时:中断源0向中断分发器中与其对应的中断接收接口A发送待发送中断信号0-0;中断源1向中断分发器中与其对应的中断接收接口B发送待发送中断信号1-0;中断源2向中断分发器中与其对应的中断接收接口C发送待发送中断信号2-0;……;中断源5向中断分发器中与其对应的中断接收接口A发送待发送中断信号5-0。
中断接收接口40分别将其接收到的待发送中断信号发送至中断集线器20中。中断集线器20根据接收到的待发送中断信号中携带的中断信号标识,以及配置寄存器10下发的映射关系信息,从多个中断发送接口50中确定待发送中断信号对应的目标中断发送接口。
也即,中断集线器20将待发送中断信号0-0以及1-0发送至对应的目标中断发送接口A;将待发送中断信号2-0以及3-0发送至对应的目标中断发送接口B;将待发送中断信号4-0以及5-0发送至对应的目标中断发送接口C。此时,占用中断集线器20与中断发送接口A之间的所有数据通路、以及中断集线器20与中断发送接口C之间的所有数据通路;但不占用中断集线器20与中断发送接口B之间的所有数据通路。
然后,中断发送接口50将其分别接收到的待发送中断信号发送至与其连接的处理器中。也即中断发送接口A将待发送中断信号0-0以及1-0发送至处理器0;也即中断发送接口B将待发送中断信号2-0以及3-0发送至处理器1;也即中断发送接口C将待发送中断信号4-0以及5-0发送至处理器2。此时,占用处理器0与中断发送接口A之间的所有数据通路、以及处理器2与中断发送接口C之间的所有数据通路;但不占用处理器1与中断发送接口B之间的所有数据通路。
在当前中断发送模式切换至上述(2)所示的中断发送模式时,中断分发器在实际使用过程中与上述在上述(1)对应的中断发送模式下的具体过程相似,在此不再赘述。
在本公开另一实施例中,还提供了一种数据处理芯片的示意图。参见图3所示,为本公开实施例提供的一种数据处理芯片的示意图。在图3所示的数据处理芯片中,包括上一实施例说明的中断分发器31、以及至少一个处理器32;处理器32与中断分发器31连接。处理器32例如可以包括处理器0~处理器n。
在处理器中,参见图3所示,还包括处理器主体33、以及中断控制器34。其中,中断控制器34,用于接收中断分发器31发送的中断信号,并基于中断信号的优先级信息、和/或预先设置的中断屏蔽信息,从中断信号中确定目标中断信号,并向处理器主体33发送目标中断信号;
处理器主体33,用于接收中断控制器34发送的目标中断信号,并对目标中断信号进行响应。
示例性的,中断控制器34在接受到中断分发器31发送的中断信号后,可以先根据预先设置的中断屏蔽信息,将接收到的中断信号中与中断屏蔽信号对应的中断信号挂起;然后,在未被屏蔽的中断信号中,根据中断信号的优先级信息,从中断信号中确定目标中断信号,并向处理器主体33发送目标中断信号;处理器主体33在接收到目标中断信号后,即可以根据接收到的目标中断信号执行对应的操作。
基于同一发明构思,本公开实施例中还提供了与中断分发器对应的中断分发方法。
参见图4所示,为本公开实施例提供的一种中断分发方法的流程图;所述中断分发方法应用于中断分发器,中断分发器包括:配置寄存器以及中断集线器;中断分发方法包括:
S401:配置寄存器存储当前中断发送模式下中断源与处理器之间的映射关系信息;其中,当前中断发送模式为至少一种中断发送模式中的任一种;
S402:中断集线器从中断源接收待发送中断信号,并基于配置寄存器中存储的当前中断发送模式对应的映射关系信息,向与中断源对应的目标处理器发送待发送中断信号。
一种可选的实施方式中,所述中断分发方法应用于中断分发器,所述中断分发器还包括控制器;所述中断分发方法还包括:所述控制器在所述至少一种中断发送模式下确定所述当前中断发送模式,并向所述配置寄存器下发在所述当前中断发送模式下的映射关系信息。
一种可选的实施方式中,所述中断集线器基于所述配置寄存器中存储的所述当前中断发送模式对应的映射关系信息,向与所述中断源对应的目标处理器发送所述待发送中断信号,包括:所述中断集线器基于所述映射关系信息、以及所述待发送中断信号携带的中断信号标识,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口,并向所述目标中断发送接口发送所述待发送中断信号;所述中断发送接口在接收到所述中断集线器发送的待发送中断信号后,向与所述中断发送接口连接的与所述待发送中断信号对应的目标处理器发送所述待发送中断信号。
一种可选的实施方式中,所述中断信号标识包括下述至少一种:为所述待发送中断信号确定的身份标识、与所述待发送中断信号对应的目标处理器的标识、与所述待发送中断信号对应的目标处理器与所述中断集线器连接的中断发送接口的标识。
一种可选的实施方式中,还包括所述至少一个中断发送接口中的各中断发送接口在与对应处理器连接时,建立与对应处理器之间的关联关系信息,并向所述中断集线器上报所述关联关系信息;所述中断集线器基于所述映射关系信息、以及所述待发送中断信号携带的中断信号标识,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口,包括:所述中断集线器基于所述映射关系信息、所述待发送中断信号携带的中断信号标识、以及所述关联关系信息,从所述至少一个中断发送接口中,确定与所述目标处理器对应的目标中断发送接口。
一种可选的实施方式中,所述映射关系信息,用于指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至同一处理器;和/或,指示所述中断集线器将相同中断源发送的不同待发送中断信号发送至不同处理器。
一种可选的实施方式中,在不同的中断发送模式下,所述中断源与所述处理器之间的映射关系信息至少部分不同。
一种可选的实施方式中,所述中断分发方法应用于中断分发器,所述中断分发器还包括:中断接收接口;所述中断接收接口与所述中断集线器连接;所述中断分发方法还包括:所述中断接收接口接收中断源发送的待发送中断信号,并向所述中断集线器发送所述待发送中断信号。
本公开实施例中还提供了与数据处理芯片对应的数据处理方法。
参见图5所示,为本公开实施例提供的一种数据处理方法的流程图;所述数据处理方法应用于数据处理芯片,所述数据处理芯片包括上述实施例所述的中断分发器、以及至少一个处理器;所述处理器与所述中断分发器连接;所述处理器包括:处理器主体、以及中断控制器;所述数据处理方法包括:
S501:中断控制器接收中断分发器发送的中断信号,并基于中断信号的优先级信息、和/或预先设置的中断屏蔽信息,从中断信号中确定目标中断信号,并向处理器主体发送目标中断信号;
S502:处理器主体接收中断控制器发送的目标中断信号,并对目标中断信号进行响应。
由于本公开实施例中的方法解决问题的原理与本公开实施例对应中断分发器以及数据处理芯片相似,因此方法的实施可以参见上述中断分发器以及数据处理芯片的实施,重复之处不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
本公开实施例还提供一种电子设备,包括:存储器和本公开实施例提供的命令分发器和/或数据处理芯片。
本公开实施例提供的本公开实施例还提供一种计算机设备,包括:指令存储器、本公开实施例提供的命令分发器和/或数据处理芯片。
本公开实施例提供的数据处理装置可以包括芯片、AI芯片等。本公开实施例提供的计算机设备可以包括手机等智能终端,或者也可以是其他可以用于进行数据处理的设备、服务器等,这里并不限制。本公开实施例提供的电子设备可以包括手机等智能终端,或者也可以是其他可以用于进行数据处理的设备、服务器等,这里并不限制。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的命令分发方法或数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的命令分发方法或数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
- 中断分发器、数据处理芯片、中断分发及数据处理方法
- 一种多核处理器系统中分发中断的方法和装置