[go: up one dir, main page]

CN103176941B - 核间通信方法和代理装置 - Google Patents

核间通信方法和代理装置 Download PDF

Info

Publication number
CN103176941B
CN103176941B CN201310120633.1A CN201310120633A CN103176941B CN 103176941 B CN103176941 B CN 103176941B CN 201310120633 A CN201310120633 A CN 201310120633A CN 103176941 B CN103176941 B CN 103176941B
Authority
CN
China
Prior art keywords
core
access request
access
accessed
valid
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.)
Active
Application number
CN201310120633.1A
Other languages
English (en)
Other versions
CN103176941A (zh
Inventor
高素月
刘圹彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310120633.1A priority Critical patent/CN103176941B/zh
Publication of CN103176941A publication Critical patent/CN103176941A/zh
Application granted granted Critical
Publication of CN103176941B publication Critical patent/CN103176941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种核间通信方法和代理装置。该方法包括代理装置接收发起访问的核发送的访问请求;所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;其中,所述代理装置介于所述发起访问的核与所述被访问的核之间。本发明实施例可以提高多核通信的处理性能。

Description

核间通信方法和代理装置
技术领域
本发明涉及通信技术,尤其涉及一种核间通信方法和代理装置。
背景技术
多核处理器也可以称为片上多处理器(ChipMulti-Processor,CMP),其结构主要是简化超标量结构,将多个相对简单的超标量处理器核集成到一个芯片上。为了提高多核处理器的性能,需要对不同数目及结构的多处理器核采用不同的互连方法和技术,以达到性能最优。目前多核互连通信主要有核串联通信、共享总线结构、交叉开关互连等方式。
核串联通信是指完成核1向核2的通信后,核2再向核3发起通信,依此类推,完成所有指定核的通信,通信采用中断的方式上报,这种系统的结构优点是结构简单,但是处理速度慢。共享总线结构(ShareBusFabric,SBF)可以使用线性阵列的总线互连方式,能够使处理单元和存储器、外部设备在不同区段同时分段使用总线,降低了各模块之间竞争使用总线而产生的延时,大大提高了总线的使用效率,但是当连接的处理器核较多时,竞争依然会很严重。交叉开关互连允许由交叉开关(crossbar)以及crossbar接口逻辑构成,每个crossbar由一些地址线、数据线构成,crossbar接口逻辑主要由一些加载队列构成。交叉开关能够使连接在开关结构上的节点同时进行数据交换,保证了多核处理器在空间上处理数据的并行性,极大地提高了总线的带宽。但是,其结构复杂度较高,一旦集成的核数量较多,性能则会下降。
发明内容
有鉴于此,本发明实施例提供了一种核间通信方法和代理装置,用以解决现有技术中存在的处理速度慢或者结构复杂、性能较低的问题。
第一方面,提供了一种核间通信方法,包括:
代理装置接收发起访问的核发送的访问请求;
所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;
所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;
其中,所述代理装置位于所述发起访问的核与所述被访问的核之间。
结合第一方面,在第一方面的第一种可能的实现方式中,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:
所述代理装置确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;
所述代理装置根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。
结合第一方面,在第一方面的第二种可能的实现方式中,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:
所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;
所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
结合第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:
所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:
将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;
将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
第二方面,提供了一种代理装置,所述代理装置位于发起访问的核与被访问的核之间,所述装置包括:
接收模块,用于接收发起访问的核发送的访问请求;
处理模块,用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核;
发送模块,用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。
结合第二方面,在第二方面的第一种可能的实现方式中,所述处理模块包括:
确定单元,用于确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;
硬件单元,用于根据自身预先配置的对应关系,确定所述访问请求对应的被访问的核。
结合第二方面,在第二方面的第二种可能的实现方式中,所述处理模块包括:
可编程单元,所述可编程单元中包括计数器和确定单元;
所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;
所述确定单元用于在所述计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:
第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述访问请求为消息,所述装置还包括:
第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
通过上述技术方案,在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种核间通信方法的流程示意图;
图2为本发明实施例提供的另一种核间通信方法的流程示意图;
图3a为本发明实施例中配置硬件单元时1对1场景下采用中断方式进行核间通信的示意图;
图3b为本发明实施例中配置硬件单元时1对1场景下采用消息方式进行核间通信的示意图;
图4a为本发明实施例中配置硬件单元时1对多场景下采用中断方式进行核间通信的示意图;
图4b为本发明实施例中配置硬件单元时1对多场景下采用消息方式进行核间通信的示意图;
图5a为本发明实施例中配置硬件单元时多对1场景下采用中断方式进行核间通信的示意图;
图5b为本发明实施例中配置硬件单元时多对1场景下采用消息方式进行核间通信的示意图;
图6a为本发明实施例中配置硬件单元时多对多场景下采用中断方式进行核间通信的示意图;
图6b为本发明实施例中配置硬件单元时多对多场景下采用消息方式进行核间通信的示意图;
图7为本发明实施例提供的另一种核间通信方法的流程示意图;
图8a为本发明实施例中配置可编程单元且访问请求为指令时采用中断方式进行核间通信的示意图;
图8b为本发明实施例中配置可编程单元且访问请求为指令时采用消息方式进行核间通信的示意图;
图9为本发明实施例提供的另一种核间通信方法的流程示意图;
图10为本发明实施例中当访问请求为消息时对访问请求进行有效性判决时的示意图;
图11a为本发明实施例中配置可编程单元且访问请求为消息时采用中断方式进行核间通信的示意图;
图11b为本发明实施例中配置可编程单元且访问请求为消息时采用消息方式进行核间通信的示意图;
图12为本发明实施例提供的一种代理装置的结构示意图;
图13为本发明实施例提供的另一种代理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种核间通信方法的流程示意图,包括:
11:代理装置接收发起访问的核发送的访问请求;
其中,该代理装置是新增加的设置于发起访问的核与被访问的核之间的装置。通过该代理装置可以完成发起访问的核与被访问的核之间的通信。
可选的,该访问请求可以为指令,即不包含具体的内容,而仅包含发起访问的核的处理器核ID和/或要访问的地址的地址信息。或者,
可选的,该访问请求可以为消息,与指令不同的是,该消息中包含具体内容,例如,包含32比特的比特串。
12:所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;
可选的,该对应关系可以配置在硬件单元中,该硬件单元预先配置在代理装置中。硬件单元的个数可以与发起访问的核一一对应,例如,发起访问的核为核0,那么对应的硬件单元可以为硬件单元0,发起访问的核为核1,那么对应的硬件单元可以为硬件单元1,依次类推。
可选的,该对应关系可以配置在可编程单元中,该可编程单元预先配置在代理装置中。该可编程单元中还可以配置计数器,以便在该计数器的数值达到预先配置的次数时,根据该对应关系发起相应的通信。
13:所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。
可选的,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:
所述代理装置确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;
所述代理装置根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:
所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;
所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:
所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:
将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;
将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
本实施例通过在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。
图2为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以配置硬件单元的方式为例,本实施例包括:
21:发起访问的核向代理装置发送访问请求;
该访问请求可以为指令,该指令中包含发起访问的核的处理器核ID和/或地址信息。
22:代理装置判断该访问请求是否有效,若是,执行23,否则执行25。
其中,代理装置可以根据访问请求中包含的处理器核ID和/或地址信息判断访问请求是否有效,例如,代理装置中可以预先配置有效的处理器核ID列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的地址信息列表,当该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的处理器核ID列表和地址信息列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表,且该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效。
23:代理装置根据访问请求确定对应的硬件单元。
在确定访问请求有效后,可以根据该访问请求中携带的处理器核ID和/或地址信息确定对应的硬件单元。例如,可以预先配置处理器核与硬件单元的对应关系,例如配置处理器核0对应硬件单元0,处理器核1对应硬件单元1,因此当处理器核ID为0时,就可以确定对应的硬件单元是硬件单元0。或者,为每个硬件单元配置地址信息,如硬件单元0的地址信息为地址0,当访问请求中包含的地址信息为地址0时,就可以确定对应的硬件单元是硬件单元0。当然,也可以结合处理器ID和地址信息联合配置相应的对应关系。
24:该对应的硬件单元根据预先配置的对应关系,确定该访问请求对应的被访问的核,并发起对该被访问的核的通信。
例如,对应的硬件单元为硬件单元0时,硬件单元0接收该次访问请求,硬件单元0中可以预先配置对应关系,例如与硬件单元0对应的被访问的核为处理器核20,那么当硬件单元0接收到该访问请求后就可以发起对处理器核20的访问。
另外,当发起访问的核的个数为多个时,可以在相应的硬件单元中设置标识信号,当所有相应的硬件单元的标识信号都有效后,发起对被访问的核的通信。其中,每个硬件单元可以是在接收到访问请求后将各自对应的硬件单元的标识信号标为有效。例如,处理器核10和处理器核11发起访问,分别对应的硬件单元为硬件单元0和硬件单元1,那么当硬件单元0接收到处理器核10发送的访问请求后,硬件单元0可以将自身的标识信号置为有效,当硬件单元1接收到处理器核11发送的访问请求后,硬件单元1可以将自身的标识信号置为有效,当硬件单元0的标识信号和硬件单元1的标识信号都有效后,硬件单元0可以根据自身配置的对应关系,向对应的被访问的核发起通信,以及硬件单元1可以根据自身配置的对应关系,向对应的被访问的核发起通信。
上述的设置标识信号有效可以是高电平有效,后者是低电平有效。
硬件单元发起的与被访问的核之间的通信可以是中断方式,也可以是消息方式。当为消息时,代理装置和被访问的核之间需要设置交叉开关。
25:结束。
下面实施例中,发起访问核为中央处理器(CentralProcessUnit,CPU)、数字信号处理器(DigitalSignalProcessor,DSP)、硬件加速器(HardwareAccelerator,HAC)和直接内存存取(DirectMemoryAccess,DMA)中的至少一个,被访问的核为CPU0、CPU1、DSP0和DSP1中的至少一个。
参见图3a和图3b,分别示出了1对1访问时的采用中断方式和采用消息方式进行核间通信的示意图。该实施例中,发起访问的核为DMA。
第一步,DMA向代理装置发送访问请求。
第二步,代理装置接收到该访问请求后,可以判断该访问请求是否有效,并确定对应的硬件单元。具体处理流程可以参见上述的22和23。
假设对应的硬件单元为硬件单元0。
第三步,硬件单元0接收该访问请求。
第四步,硬件单元0根据预先配置的对应关系,该对应关系指定的被访问的处理器核发起通信。
例如,硬件单元0中预先配置的对应的被访问的处理器核为CPU0,那么向CPU0发起通信。
图3a给出了采用中断的方式,在该方式中,代理装置可以直接通过中断接口向CPU0发起中断。
图3b给出了采用消息的方式,通常消息接口只有一个,也就是代理装置的出接口只有一个,此时可以通过交叉开关(crossbar),实现向相应的处理器核发送消息,例如,通过交叉开关将消息发送给CPU0。
参见图4a和图4b,分别示出了1对多访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,发起访问的处理器核为1个,为DMA,被访问的处理器核为多个,分别为CPU0和CPU1。与1对1场景不同的时,在硬件单元0中可以预先配置1对多的关系,例如配置的被访问的处理器核包括CPU0和CPU1,那么发起通信的被访问的核包括CPU0和CPU1。其余流程可以参见1对1的场景。
参见图5a和图5b,分别示出了多对1访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,发起访问的处理器核为多个,分别为DMA、HAC和DSP,被访问的处理器核为1个,为CPU0。与1对1场景不同的是,由于发起访问的处理器为多个,那么触发的硬件单元也可以是多个,例如分别为硬件单元0、硬件单元1和硬件单元2。另外,每个硬盘单元配置的对应关系所对应的被访问的处理器核都是相同的。例如,硬件单元0配置的被访问的处理器核为CPU0,硬件单元1配置的被访问的处理器核也为CPU0,硬件单元2配置的被访问的处理器核也为CPU0。其余流程可以参见1对1的场景。
参见图6a和图6b,分别示出了多对多访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,该场景下,发起访问的处理器核为多个,分别为DMA、HAC和DSP,被访问的处理器核为多个,分别为CPU0、CPU1和DSP0。与1对1场景不同的是,由于发起访问的处理器核为多个,那么触发的硬件单元可以也是多个,例如分别为硬件单元0、硬件单元1和硬件单元2。另外,每个硬盘单元配置的对应关系所对应的被访问的处理器核存在不同。例如,硬件单元0配置的被访问的处理器核为CPU0,硬件单元1配置的被访问的处理器核为CPU1,硬件单元2配置的被访问的处理器核为DSP0。其余流程可以参见1对1的场景。
本实施例通过配置硬件单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。
图7为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以触发可编程单元,且访问请求为指令为例,本实施例包括:
71:发起访问的核向代理装置发送访问请求;
该访问请求可以为指令,该指令中包含发起访问的核的处理器核ID和/或地址信息。
72:代理装置判断该访问请求是否有效,若是,执行73,否则执行75;
其中,代理装置可以根据访问请求中包含的处理器核ID和/或地址信息判断访问请求是否有效,例如,代理装置中可以预先配置有效的处理器核ID列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的地址信息列表,当该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的处理器核ID列表和地址信息列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表,且该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效。
73:在访问请求有效时,触发代理装置中预先设置的可编程单元。
其中,可编程单元中可以预先配置计数器,该计数器可以为递减计数器或者为递增计数器。当为递减计数器时,配置的初始值为预先设定的次数,之后每触发一次可编程单元,该计数值减1直至减为0。当为递增计数器时,配置的初始值为0,之后每触发一次可编程单元,该计数值增1直至增为预先设定的次数。
74:当可编程单元被触发的次数达到预先设定的次数时,代理装置根据预先配置的对应关系向对应的被访问的处理器核发起通信。
例如,采用递减计数器时,当计数值减为0时表明可编程单元被触发的次数达到预先设定的次数,或者,采用递增计数器时,当计数值增为预先设定的次数时表明可编程单元被触发的次数达到预先设定的次数。
发起通信同样可以采用中断方式或者消息方式。
75:结束。
参见图8a和图8b,分别示出了采用中断方式和采用消息方式进行核间通信的示意图。在具体访问时,可以根据实际情况配置对应关系以完成1对1、1对多、多对1或多对对的场景。例如,可以预先配置与DMA对应的被访问的核为CPU0,那么当发起访问的核为DMA时,当DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现1对1的场景。或者,可以预先配置与DMA对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA,且DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现1对多的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现多对1的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现多对多的场景。
本实施例通过触发可编程单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。
图9为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以触发可编程单元,且访问请求为消息为例,本实施例包括:
91:发起访问的核向代理装置发送访问请求;
与图7所示的实施例不同的是,本实施例中访问请求为消息,即该访问请求中不仅可以包含处理器核ID和/或地址信息,还可以包含消息内容。该消息内容可以具体为比特串。
92:代理装置判断该访问请求是否有效,若是,执行93,否则执行95;
与图7所示实施例不同的是,本实施例根据消息内容判断是否有效。
本实施例中可以预先配置两个比特串,分别称为第一比特串和第二比特串,第一比特串可以表示为mask,第二比特串可以表示为match。
参见图10,判断访问请求是否有效的流程可以包括:
首先,可以将访问请求中包含的消息内容的全部或部分比特与第一比特串进行按位或预算,通过该步骤可以屏蔽掉不需要检测的比特。其中,具体采用消息内容的全部比特或部分比特可以预先配置。
其次,将按位或运算后的比特串与第二比特串比较,如果两者相同,即两者每位都相同,则表明访问消息有效,否则无效。
93:在访问请求有效时,触发代理装置中预先设置的可编程单元。
94:当可编程单元被触发的次数达到预先设定的次数时,代理装置根据预先配置的对应关系向对应的被访问的处理器核发起通信。
93~94的具体内容可以参见73~74,在此不再赘述。
95:结束。
参见图11a和图11b,分别示出了采用中断方式和采用消息方式进行核间通信的示意图。在具体访问时,可以根据实际情况配置对应关系以完成1对1、1对多、多对1或多对对的场景。例如,可以预先配置与DMA对应的被访问的核为CPU0,那么当发起访问的核为DMA时,当DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现1对1的场景。或者,可以预先配置与DMA对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA,且DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现1对多的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现多对1的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现多对多的场景。
本实施例通过触发可编程单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。
图12为本发明实施例提供的一种代理装置的结构示意图,该装置位于发起访问的核与被访问的核之间,该装置120包括接收模块121、处理模块122和发送模块123;接收模块121用于接收发起访问的核发送的访问请求;处理模块122用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核;发送模块123用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。
可选的,所述处理模块122包括:
确定单元,用于确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;
硬件单元,用于根据自身预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述处理模块122包括:
可编程单元,所述可编程单元中包括计数器和确定单元;
所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;
所述确定单元用于在所述计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:
第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述访问请求为消息,所述装置还包括:
第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
参见图13,为本发明实施例提供的另一种代理装置的结构示意图,该装置130包括接收器131、处理器132和发送器133。接收器131用于接收发起访问的核发送的访问请求;处理器132用于根据预先配置的对应关系,确定所述访问请求对应的被访问的核;发送器133用于发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。
可选的,处理器132具体用于确定所述访问请求对应的硬件单元;该装置还可以包括硬件单元,所述硬件单元用于根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,该装置包括可编程单元,该可编程单元包括计数器和处理器,计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;处理器132用于在计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,处理器132还用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述访问请求为消息,处理器132还用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
在具体实现上,上述的接收器和发送器可以具体为接收接口和发送接口,上述的处理器可以具体为中央处理单元(CPU)、微处理器、单片机等。另外,该装置中还可以包括总线、存储器、定时器等通用模块。
本实施例通过在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (6)

1.一种核间通信方法,其特征在于,包括:
代理装置接收发起访问的核发送的访问请求;
所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;
所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;
其中,所述代理装置位于所述发起访问的核与所述被访问的核之间;
所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:
所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;
所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
2.根据权利要求1所述的方法,其特征在于,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
3.根据权利要求1所述的方法,其特征在于,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:
将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;
将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
4.一种代理装置,其特征在于,所述代理装置位于发起访问的核与被访问的核之间,所述装置包括:
接收模块,用于接收发起访问的核发送的访问请求;
处理模块,用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核;
发送模块,用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;
所述处理模块包括:
可编程单元,所述可编程单元中包括计数器和确定单元;
所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;
所述确定单元用于在所述计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
5.根据权利要求4所述的装置,其特征在于,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
6.根据权利要求4所述的装置,其特征在于,所述访问请求为消息,所述装置还包括:
第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
CN201310120633.1A 2013-04-09 2013-04-09 核间通信方法和代理装置 Active CN103176941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310120633.1A CN103176941B (zh) 2013-04-09 2013-04-09 核间通信方法和代理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310120633.1A CN103176941B (zh) 2013-04-09 2013-04-09 核间通信方法和代理装置

Publications (2)

Publication Number Publication Date
CN103176941A CN103176941A (zh) 2013-06-26
CN103176941B true CN103176941B (zh) 2016-08-03

Family

ID=48636828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310120633.1A Active CN103176941B (zh) 2013-04-09 2013-04-09 核间通信方法和代理装置

Country Status (1)

Country Link
CN (1) CN103176941B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019113885A1 (zh) * 2017-12-14 2019-06-20 深圳市大疆创新科技有限公司 核间通信方法、处理器和多处理器通信系统
CN110046050B (zh) * 2018-01-16 2024-03-01 华为技术有限公司 一种核间数据传输的装置和方法
CN109298961A (zh) * 2018-08-28 2019-02-01 迈普通信技术股份有限公司 多核处理器的故障处理方法、装置及网络设备
CN113703958B (zh) * 2021-07-15 2024-03-29 山东云海国创云计算装备产业创新中心有限公司 多架构处理器间的数据访问方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534504A (zh) * 2003-03-31 2004-10-06 �ձ�������ʽ���� 利用单处理器操作系统的并行处理系统及并行处理程序
CN101043510A (zh) * 2007-04-29 2007-09-26 中兴通讯股份有限公司 Pci-e总线分布式系统单板内及单板间数据通讯方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235455B2 (en) * 2011-03-16 2016-01-12 Microscan Systems, Inc. Multi-core distributed processing using shared memory and communication link

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534504A (zh) * 2003-03-31 2004-10-06 �ձ�������ʽ���� 利用单处理器操作系统的并行处理系统及并行处理程序
CN101043510A (zh) * 2007-04-29 2007-09-26 中兴通讯股份有限公司 Pci-e总线分布式系统单板内及单板间数据通讯方法

Also Published As

Publication number Publication date
CN103176941A (zh) 2013-06-26

Similar Documents

Publication Publication Date Title
US10845868B2 (en) Methods and apparatus for running and booting an inter-processor communication link between independently operable processors
US11500810B2 (en) Techniques for command validation for access to a storage device by a remote client
US11194753B2 (en) Platform interface layer and protocol for accelerators
CN113254381B (zh) 用于支持多种互连协议的方法和装置
US11372787B2 (en) Unified address space for multiple links
WO2018076793A1 (zh) 一种NVMe数据读写方法及NVMe设备
CN105247821B (zh) 用于利用自适应路由来控制资源利用的机制
CN106648832B (zh) 提高虚拟机资源利用率的装置及方法
CN103176941B (zh) 核间通信方法和代理装置
EP3812911A2 (en) System, apparatus and method for communicating telemetry information via virtual bus encodings
CN106873915A (zh) 一种基于rdma注册内存块的数据传输方法和装置
WO2022227614A1 (zh) 用于命令分发的装置、方法、芯片、计算机设备及存储介质
CN104252416A (zh) 一种加速器以及数据处理方法
CN106681948A (zh) 可编程逻辑器件的逻辑控制方法及装置
WO2023142936A1 (zh) 内存管理方法,系统以及相关装置
CN104932947B (zh) 一种栅栏同步方法及设备
CN104850517B (zh) 一种dma传输报文数据的方法及装置
CN110519333B (zh) 数据传输的方法及装置
WO2018106392A1 (en) Technologies for multi-core wireless network data transmission
CN102984084B (zh) 计算机集群中节点间数据传输方法和系统
CN109165099B (zh) 一种电子设备、内存拷贝方法及装置
CN102970245B (zh) 数据传输方法及系统
CN106445650B (zh) 一种中断处理方法、ioapic及计算机系统
CN116962542A (zh) 数据通信方法、内存池化交换设备、云计算系统以及存储介质
CN107563224B (zh) 一种多用户物理隔离方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210427

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Terminal Co.,Ltd.

Country or region after: China

Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong

Patentee before: Honor Device Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address