核间通信方法和代理装置的制作方法

文档序号:6401787阅读:152来源:国知局
专利名称:核间通信方法和代理装置的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种核间通信方法和代理装置。
背景技术
多核处理器也可以称为片上多处理器(Chip Mult1-Processor,CMP),其结构主要是简化超标量结构,将多个相对简单的超标量处理器核集成到一个芯片上。为了提高多核处理器的性能,需要对不同数目及结构的多处理器核采用不同的互连方法和技术,以达到性能最优。目前多核互连通信主要有核串联通信、共享总线结构、交叉开关互连等方式。核串联通信是指完成核I向核2的通信后,核2再向核3发起通信,依此类推,完成所有指定核的通信,通信采用中断的方式上报,这种系统的结构优点是结构简单,但是处理速度慢。共享总线结构(Share Bus Fabric, SBF)可以使用线性阵列的总线互连方式,能够使处理单元和存储器、外部设备在不同区段同时分段使用总线,降低了各模块之间竞争使用总线而产生的延时,大大提高了总线的使用效率,但是当连接的处理器核较多时,竞争依然会很严重。交叉开关互连允许由交叉开关(crossbar)以及crossbar接口逻辑构成,每个crossbar由一些地址线、数据线构成,crossbar接口逻辑主要由一些加载队列构成。交叉开关能够使连接在开关结构上的节点同时进行数据交换,保证了多核处理器在空间上处理数据的并行性,极大地提高了总线的带宽。但是,其结构复杂度较高,一旦集成的核数量较多,性能则会下降。

发明内容
有鉴于此,本发明实施例提供了一种核间通信方法和代理装置,用以解决现有技术中存在的处理速度慢或者结构复杂、性能较低的问题。第一方面,提供了一种核间通信方法,包括:代理装置接收发起访问的核发送的访问请求;所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;其中,所述代理装置位于所述发起访问的核与所述被访问的核之间。结合第一方面,在第一方面的第一种可能的实现方式中,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:所述代理装置确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;所述代理装置根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。结合第一方面,在第一方面的第二种可能的实现方式中,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:
所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。结合第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。第二方面,提供了一种代理装置,所述代理装置位于发起访问的核与被访问的核之间,所述装置包括:接收模块,用于接收发起访问的核发送的访问请求;处理模块,用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核;发送模块,用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。结合第二方面,在第二方面的第一种可能的实现方式中,所述处理模块包括:确定单元,用于确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;硬件单元,用于根据自身预先配置的对应关系,确定所述访问请求对应的被访问的核。结合第二方面,在第二方面的第二种可能的实现方式中,所述处理模块包括:可编程单元,所述可编程单元中包括计数器和确定单元;所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;所述确定单元用于在所述判断单元的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述访问请求为消息,所述装置还包括:第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。通过上述技术方案,在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种核间通信方法的流程示意图;图2为本发明实施例提供的另一种核间通信方法的流程示意图;图3a为本发明实施例中配置硬件单元时I对I场景下采用中断方式进行核间通信的示意图;图3b为本发明实施例中配置硬件单元时I对I场景下采用消息方式进行核间通信的示意图;图4a为本发明实施例中配置硬件单元时I对多场景下采用中断方式进行核间通信的示意图;图4b为本发明实施例中配置硬件单元时I对多场景下采用消息方式进行核间通信的示意图;图5a为本发明实施例中配置硬件单元时多对I场景下采用中断方式进行核间通信的示意图;图5b为本发明实施例中配置硬件单元时多对I场景下采用消息方式进行核间通信的示意图;图6a为本发明实施例中配置硬件单元时多对多场景下采用中断方式进行核间通信的示意图;图6b为本发明实施例中配置硬件单元时多对多场景下采用消息方式进行核间通信的示意图;图7为本发明实施例提供的另一种核间通信方法的流程示意图;图8a为本发明实施例中配置可编程单元且访问请求为指令时采用中断方式进行核间通信的示意图;图Sb为本发明实施例中配置可编程单元且访问请求为指令时采用消息方式进行核间通信的示意图;图9为本发明实施例提供的另一种核间通信方法的流程示意图10为本发明实施例中当访问请求为消息时对访问请求进行有效性判决时的示意图;图1la为本发明实施例中配置可编程单元且访问请求为消息时采用中断方式进行核间通信的示意图;图1lb为本发明实施例中配置可编程单元且访问请求为消息时采用消息方式进行核间通信的示意图;图12为本发明实施例提供的一种代理装置的结构示意图;图13为本发明实施例提供的另一种代理装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例提供的一种核间通信方法的流程示意图,包括:11:代理装置接收发起访问的核发送的访问请求;其中,该代理装置是新增加的设置于发起访问的核与被访问的核之间的装置。通过该代理装置可以完成发起访问的核与被访问的核之间的通信。可选的,该访问请求可以为指令,即不包含具体的内容,而仅包含发起访问的核的处理器核ID和/或要访问的地址的地址信息。或者,可选的,该访问请求可以为消息,与指令不同的是,该消息中包含具体内容,例如,包含32比特的比特串。12:所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;可选的,该对应关系可以配置在硬件单元中,该硬件单元预先配置在代理装置中。硬件单元的个数可以与发起访问的核一一对应,例如,发起访问的核为核0,那么对应的硬件单元可以为硬件单元0,发起访问的核为核1,那么对应的硬件单元可以为硬件单元1,依次类推。可选的,该对应关系可以配置在可编程单元中,该可编程单元预先配置在代理装置中。该可编程单元中还可以配置计数器,以便在该计数器的数值达到预先配置的次数时,根据该对应关系发起相应的通信。13:所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。可选的,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:所述代理装置确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;所述代理装置根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。
可选的,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。可选的,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。可选的,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。本实施例通过在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。图2为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以配置硬件单元的方式为例,本实施例包括:21:发起访问的核向代理装置发送访问请求;该访问请求可以为指令,该指令中包含发起访问的核的处理器核ID和/或地址信
肩、O22:代理装置判断该访问请求是否有效,若是,执行23,否则执行25。其中,代理装置可以根据访问请求中包含的处理器核ID和/或地址信息判断访问请求是否有效,例如,代理装置中可以预先配置有效的处理器核ID列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的地址信息列表,当该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的处理器核ID列表和地址信息列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表,且该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效。23:代理装置根据访问请求确定对应的硬件单元。在确定访问请求有效后,可以根据该访问请求中携带的处理器核ID和/或地址信息确定对应的硬件单元。例如,可以预先配置处理器核与硬件单元的对应关系,例如配置处理器核O对应硬件单元0,处理器核I对应硬件单元1,因此当处理器核ID为O时,就可以确定对应的硬件单元是硬件单元O。或者,为每个硬件单元配置地址信息,如硬件单元O的地址信息为地址0,当访问请求中包含的地址信息为地址O时,就可以确定对应的硬件单元是硬件单元O。当然,也可以结合处理器ID和地址信息联合配置相应的对应关系。24:该对应的硬件单元根据预先配置的对应关系,确定该访问请求对应的被访问的核,并发起对该被访问的核的通信。例如,对应的硬件单元为硬件单元O时,硬件单元O接收该次访问请求,硬件单元O中可以预先配置对应关系,例如与硬件单元O对应的被访问的核为处理器核20,那么当硬件单元O接收到该访问请求后就可以发起对处理器核20的访问。另外,当发起访问的核的个数为多个时,可以在相应的硬件单元中设置标识信号,当所有相应的硬件单元的标识信号都有效后,发起对被访问的核的通信。其中,每个硬件单元可以是在接收到访问请求后将各自对应的硬件单元的标识信号标为有效。例如,处理器核10和处理器核11发起访问,分别对应的硬件单元为硬件单元O和硬件单元I,那么当硬件单元O接收到处理器核10发送的访问请求后,硬件单元O可以将自身的标识信号置为有效,当硬件单元I接收到处理器核11发送的访问请求后,硬件单元I可以将自身的标识信号置为有效,当硬件单元O的标识信号和硬件单元I的标识信号都有效后,硬件单元O可以根据自身配置的对应关系,向对应的被访问的核发起通信,以及硬件单元I可以根据自身配置的对应关系,向对应的被访问的核发起通信。上述的设置标识信号有效可以是高电平有效,后者是低电平有效。硬件单元发起的与被访问的核之间的通信可以是中断方式,也可以是消息方式。当为消息时,代理装置和被访问的核之间需要设置交叉开关。25:结束。下面实施例中,发起访问核为中央处理器(Central Process Unit, CPU)、数字信号处理器(Digital Signal Processor,DSP)、硬件加速器(Hardware Accelerator,HAC)和直接内存存取(Direct Memory Access,DMA)中的至少一个,被访问的核为CPUO、CPU1、DSPO和DSPl中的至少一个。参见图3a和图3b,分别示出了 I对I访问时的采用中断方式和采用消息方式进行核间通信的示意图。该实施例中,发起访问的核为DMA。第一步,DMA向代理装置发送访问请求。第二步,代理装置接收到该访问请求后,可以判断该访问请求是否有效,并确定对应的硬件单元。具体处理流程可以参见上述的22和23。假设对应的硬件单元为硬件单元O。第三步,硬件单元O接收该访问请求。第四步,硬件单元O根据预先配置的对应关系,该对应关系指定的被访问的处理器核发起通信。例如,硬件单元O中预先配置的对应的被访问的处理器核为CPU0,那么向CPUO发
起通信。图3a给出了采用中断的方式,在该方式中,代理装置可以直接通过中断接口向CPUO发起中断。图3b给出了采用消息的方式,通常消息接口只有一个,也就是代理装置的出接口只有一个,此时可以通过交叉开关(crossbar),实现向相应的处理器核发送消息,例如,通过交叉开关将消息发送给CPU0。
参见图4a和图4b,分别示出了 I对多访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,发起访问的处理器核为I个,为DMA,被访问的处理器核为多个,分别为CPUO和CPU1。与I对I场景不同的时,在硬件单元O中可以预先配置I对多的关系,例如配置的被访问的处理器核包括CPUO和CPU1,那么发起通信的被访问的核包括CPUO和CPUl。其余流程可以参见I对I的场景。参见图5a和图5b,分别示出了多对I访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,发起访问的处理器核为多个,分别为DMA、HAC和DSP,被访问的处理器核为I个,为CPU0。与I对I场景不同的是,由于发起访问的处理器为多个,那么触发的硬件单元也可以是多个,例如分别为硬件单元O、硬件单元I和硬件单元2。另外,每个硬盘单元配置的对应关系所对应的被访问的处理器核都是相同的。例如,硬件单元O配置的被访问的处理器核为CPU0,硬件单元I配置的被访问的处理器核也为CPU0,硬件单元2配置的被访问的处理器核也为CPU0。其余流程可以参见I对I的场景。参见图6a和图6b,分别示出了多对多访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,该场景下,发起访问的处理器核为多个,分别为DMA、HAC和DSP,被访问的处理器核为多个,分别为CPUO、CPUl和DSP0。与I对I场景不同的是,由于发起访问的处理器核为多个,那么触发的硬件单元可以也是多个,例如分别为硬件单元
O、硬件单元I和硬件单元2。另外,每个硬盘单元配置的对应关系所对应的被访问的处理器核存在不同。例如,硬件单元O配置的被访问的处理器核为CPUO,硬件单元I配置的被访问的处理器核为CPU1,硬件单元2配置的被访问的处理器核为DSP0。其余流程可以参见I对I的场景。本实施例通过配置硬件单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。图7为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以触发可编程单元,且访问请求为指令为例,本实施例包括:71:发起访问的核向代理装置发送访问请求;该访问请求可以为指令,该指令中包含发起访问的核的处理器核ID和/或地址信
肩、O72:代理装置判断该访问请求是否有效,若是,执行73,否则执行75 ;其中,代理装置可以根据访问请求中包含的处理器核ID和/或地址信息判断访问请求是否有效,例如,代理装置中可以预先配置有效的处理器核ID列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的地址信息列表,当该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的处理器核ID列表和地址信息列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表,且该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效。73:在访问请求有效时,触发代理装置中预先设置的可编程单元。其中,可编程单元中可以预先配置计数器,该计数器可以为递减计数器或者为递增计数器。当为递减计数器时,配置的初始值为预先设定的次数,之后每触发一次可编程单元,该计数值减I直至减为O。当为递增计数器时,配置的初始值为O,之后每触发一次可编程单元,该计数值增I直至增为预先设定的次数。74:当可编程单元被触发的次数达到预先设定的次数时,代理装置根据预先配置的对应关系向对应的被访问的处理器核发起通信。例如,采用递减计数器时,当计数值减为O时表明可编程单元被触发的次数达到预先设定的次数,或者,采用递增计数器时,当计数值增为预先设定的次数时表明可编程单元被触发的次数达到预先设定的次数。发起通信同样可以采用中断方式或者消息方式。75:结束。参见图8a和图Sb,分别示出了采用中断方式和采用消息方式进行核间通信的示意图。在具体访问时,可以根据实际情况配置对应关系以完成I对1、1对多、多对I或多对对的场景。例如,可以预先配置与DMA对应的被访问的核为CPU0,那么当发起访问的核为DMA时,当DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPUO的访问,此时可以实现I对I的场景。或者,可以预先配置与DMA对应的被访问的核为CPUO和CPUl,当发起访问的核为DMA,且DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPUO和CPUl的访问,此时可以实现I对多的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPUO的访问,此时可以实现多对I的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPUO和CPU1,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPUO和CPUl的访问,此时可以实现多对多的场景。本实施例通过触发可编程单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。图9为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以触发可编程单元,且访问请求为消息为例,本实施例包括:91:发起访问的核向代理装置发送访问请求;与图7所示的实施例不同的是,本实施例中访问请求为消息,即该访问请求中不仅可以包含处理器核ID和/或地址信息,还可以包含消息内容。该消息内容可以具体为比特串。92:代理装置判断该访问请求是否有效,若是,执行93,否则执行95 ;与图7所示实施例不同的是,本实施例根据消息内容判断是否有效。本实施例中可以预先配置两个比特串,分别称为第一比特串和第二比特串,第一比特串可以表示为mask,第二比特串可以表示为match。参见图10,判断访问请求是否有效的流程可以包括:
首先,可以将访问请求中包含的消息内容的全部或部分比特与第一比特串进行按位或预算,通过该步骤可以屏蔽掉不需要检测的比特。其中,具体采用消息内容的全部比特或部分比特可以预先配置。其次,将按位或运算后的比特串与第二比特串比较,如果两者相同,即两者每位都相同,则表明访问消息有效,否则无效。93:在访问请求有效时,触发代理装置中预先设置的可编程单元。94:当可编程单元被触发的次数达到预先设定的次数时,代理装置根据预先配置的对应关系向对应的被访问的处理器核发起通信。93 94的具体内容可以参见73 74,在此不再赘述。95:结束。参见图1la和图11b,分别示出了采用中断方式和采用消息方式进行核间通信的示意图。在具体访问时,可以根据实际情况配置对应关系以完成I对1、1对多、多对I或多对对的场景。例如,可以预先配置与DMA对应的被访问的核为CPU0,那么当发起访问的核为DMA时,当DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPUO的访问,此时可以实现I对I的场景。或者,可以预先配置与DMA对应的被访问的核为CPUO和CPUl,当发起访问的核为DMA,且DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPUO和CPUl的访问,此时可以实现I对多的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPUO的访问,此时可以实现多对I的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPUO和CPU1,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPUO和CPUl的访问,此时可以实现多对多的场景。本实施例通过触发可编程单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。图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-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
权利要求
1.一种核间通信方法,其特征在于,包括: 代理装置接收发起访问的核发送的访问请求; 所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核; 所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信; 其中,所述代理装置位于所述发起访问的核与所述被访问的核之间。
2.根据权利要求1所述的方法,其特征在于,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括: 所述代理装置确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中; 所述代理装置根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。
3.根据权利要求1所述的方法,其特征在于,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括: 所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元; 所述代理装置在 判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
4.根据权利要求2或3所述的方法,其特征在于,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
5.根据权利要求3所述的方法,其特征在于,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括: 将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算; 将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
6.一种代理装置,其特征在于,所述代理装置位于发起访问的核与被访问的核之间,所述装置包括: 接收模块,用于接收发起访问的核发送的访问请求; 处理模块,用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核; 发送模块,用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。
7.根据权利要求6所述的装置,其特征在于,所述处理模块包括: 确定单元,用于确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中; 硬件单元,用于根据自身预先配置的对应关系,确定所述访问请求对应的被访问的核。
8.根据权利要求6所述的装置,其特征在于,所述处理模块包括:可编程单元,所述可编程单元中包括计数器和确定单元; 所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元; 所述确定单元用于在所述判断单元的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
9.根据权利要求7或8所述的装置,其特征在于,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。
10.根据权利要求8所述的装置,其特征在于,所述访问请求为消息,所述装置还包括: 第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。
全文摘要
本发明实施例提供一种核间通信方法和代理装置。该方法包括代理装置接收发起访问的核发送的访问请求;所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;其中,所述代理装置介于所述发起访问的核与所述被访问的核之间。本发明实施例可以提高多核通信的处理性能。
文档编号G06F15/163GK103176941SQ20131012063
公开日2013年6月26日 申请日期2013年4月9日 优先权日2013年4月9日
发明者高素月, 刘圹彬 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1