多核CPU及其核间通信方法技术

技术编号:4057937 阅读:863 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多核CPU的核间通信方法,所述多核CPU配置有介质访问控制MAC环回口,且所述MAC环回口的接收缓存为所有核的共享缓存,当作为报文发送方的源核需要将报文发送到作为报文接收方的目的核时,该方法包括:所述源核将需要向所述目的核发送的报文发送到所述MAC环回口,所述MAC环回口经过环回后将所述报文存储到该MAC环回口的接收缓存;所述MAC环回口对应的硬件转发引擎将所述报文在所述接收缓存中的存储地址发送给所述目的核;所述目的核根据该存储地址从所述MAC环回口的接收缓存中读取报文。本发明专利技术实现了在多核CPU内部进行核间报文转发,提高核间通信效率和可靠性。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种多核CPU及其核间通信方法。
技术介绍
越来越多的网络接入用户以及越来越多样化的业务需求使得各种网络设备必须提供足够的吞吐量;而另一方面,由于网络应用不断更新和变化,新业务不断涌现,又要求服务提供商能快速地满足用户的需求,增加盈利模式,从而巩固和提升竞争力。在这样的背景下,传统的处理器越来越显得力不从心,现在越来越来的设备采用了强大的多核CPU来提高产品的性能,多核CPU当前广泛应用于PC和嵌入式设备。因此,如何进行核间通信成为多核CPU设备必须解决的问题。现有技术提供的核间通信技术,大部分是通过核间直接相连的物理线路通信,但是通过这种直接相连的物理线路通信时每次发送的消息大小最多几十个字节,例如64字节等,不能适应需要大量信息快速交换的核间通信。现有技术中还有一种核间通信技术,如图1所示,以CPU中的核1和核2通信为例,核1发送的报文通过MAC(Media Access Control,介质访问控制)1口发送到CPU之外的交换芯片,由该交换芯片根据报文的目的地址通过MAC2口向CPU中的核2发送。但是,这种方式下需要在CPU之外设置交换芯片,报文转发过程中占用MAC口多,意外导致通信失败的几率大。
技术实现思路
本专利技术提供了一种多核CPU及其核间通信的方法,以实现在多核CPU内部进行核间报文转发,提高核间通信效率和可靠性。一种多核CPU的核间通信方法,所述多核CPU配置有介质访问控制MAC环回口,且所述MAC环回口的接收缓存为所有核的共享缓存,当作为报文发送方的源核需要将报文发送到作为报文接收方的目的核时,该方法包括:所述源核将需要向所述目的核发送的报文发送到所述MAC环回口,所述MAC环回口经过环回后将所述报文存储到该MAC环回口的接收缓存;所述MAC环回口对应的硬件转发引擎将所述报文在所述接收缓存中的存储地址发送给所述目的核;所述目的核根据该存储地址从所述MAC环回口的接收缓存中读取报文。所述源核将报文发送到所述MAC环回口,包括:所述源核将报文的下一跳设置为所述MAC环回口。所述MAC环回口对应的硬件转发引擎将所述报文在所述共享缓存中的存储地址发送给所述目的核,包括:所述MAC环回口对应的硬件转发引擎获取所述报文在所述共享缓存中的存储地址,解析出所述报文中携带的目的核的标识信息,并根据解析出的目的核的标识信息将获-->取到的存储地址发送给相应的目的核。在所述多核CPU初始化时,设置所述MAC环回口的接收缓存为共享缓存。所述目的核为一个或多个。一种多核CPU,包括至少2个核,所述多核CPU配置有介质访问控制MAC环回口,且所述MAC环回口的接收缓存为所有核的共享缓存,该MAC环回口还具有对应的硬件转发引擎,其中:作为报文发送方的源核,用于当需要向目的核发送报文时,将需要向所述目的核发送的报文发送到所述MAC环回口;所述MAC环回口,用于经过环回后将所述报文存储到该MAC环回口的接收缓存;所述硬件转发引擎,用于将所述报文在所述MAC环回口的接收缓存中的存储地址发送给作为报文接收方的目的核;所述目的核,用于根据接收到的存储地址从所述MAC环回口的接收缓存中读取报文。所述源核具体用于:将报文的下一跳设置为所述MAC环回口。所述硬件转发引擎具体用于:获取所述报文在所述MAC环回口的接收缓存中的存储地址,并根据解析出的目的核的标识信息将获取到的存储地址发送给相应的目的核。还包括:设置单元,用于在所述多核CPU初始化时将所述MAC环回口的接收缓存设置为共享缓存。所述目的核为多个;所述硬件转发引擎具体用于:将所述报文在所述MAC环回口的接收缓存中的存储地址分别发送给所述多个目的核;所述多个目的核具体用于:分别根据接收到的存储地址从所述MAC环回口的接收缓存中读取报文。与现有技术相比,本专利技术至少具有以下优点:多核CPU配置MAC环回口,且MAC环回口对应的接收缓存为所有核的共享缓存,核间通信时的报文通过MAC环回口后存储到共享缓存,目的核根据报文转发引擎发送的报文在共享缓存的存储地址读取报文,实现在多核CPU内部进行报文转发,转发性能高和可靠性高。附图说明图1是现有技术中一种核间通信技术示意图;图2是本专利技术提供的多核CPU的结构示意图;图3是本专利技术提供的多核CPU的核间通信的方法的流程示意图。具体实施方式为了解决现有技术存在的上述问题,本专利技术实施例中,在多核CPU上配置MAC环回口,并将该MAC环回口的buffer(缓存)配置为多核CPU内各核的共享缓存。当多核CPU中的一个核向另一个核发送报文时,作为报文发送方的源核将携带目的核的标识信息(例-->如MAC地址)的报文向MAC环回口发送,经MAC环回口环回后存储到共享缓存,共享缓存的硬件转发引擎通知作为报文接收方的目的核从共享缓存内读取报文。下面结合附图对本专利技术实施例进行详细描述。如图2所示,多核CPU中包括核1、核2、核3、MAC环回口、以及与MAC环回口对应的共享缓存和硬件转发引擎。其中,MAC环回口是预先配置的,多核CPU核间通信时源核发送的报文的下一跳均设置为MAC环回口。MAC环回口的特性是报文经过MAC环回口环回后由初始向CPU之外发送变为向CPU之内发送,并可将报文存入该MAC环回口的接收buffer。通常,多核CPU的每一接口都配置有对应的buffer,包括发送buffer和接收buffer,分别用于缓存通过该接口发送和接收的报文。本专利技术实施例中,对于MAC环回口,其对应的接收buffer配置为多核的共享缓存,使多核CPU内的各核都能够从共享缓存内读取数据。该共享缓存可以由用户预先配置好,或者在多核CPU初始化时根据配置的命令将MAC环回口的接收buffer设置为多核的共享缓存。多核CPU中接口的接收buffer通常对应有硬件转发引擎。本专利技术实施例中,预先对MAC环回口的接收buffer(即共享缓存)对应的硬件转发引擎进行配置,该硬件转发引擎根据配置可以实时获知共享缓存内存储了新的报文,并解析报文中的信息,根据报文接收方的标识信息(例如报文的目的MAC地址)向报文接收方发送报文在共享缓存内的存储地址,由报文接收方从共享缓存读取报文。具体的,当多核CPU系统中作为报文发送方的源核(如图2中的核1)需要向作为报文接收方的目的核(如图2中的核2)发送报文时,本专利技术提供的多核CPU的核间通信的方法可如图3所示,包括以下步骤:步骤301,源核将需要向目的核发送的报文发送给MAC环回口。其中,报文携带有源核的MAC地址以及目的核的MAC地址。需要说明的是,源核以及目的核均属于多核CPU系统中的核,并且目的核可以为单个,也可以为多个。当目的核为多个时,只要源核向MAC环回口发送的报文中携带多个目的核的MAC地址即可。步骤302,MAC环回口的硬件转发引擎向目的核发送报文在该MAC环回口的共享缓存内的存储地址。具体的,报文发送到MAC环回口后,根据MAC环回口的配置,出报文经过环回变为入报文,根据MAC环回口对入报文的处理机制将入报文存储到共享缓存。与共享缓存连接的硬件转发引擎获知有报文存储到共享缓存后,根据报文的目的核标识信息确定报文的目的核,并将报文在共享缓存内的存储地址向该目的核发送。其中报文的目的核标识信息可本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201010237881.html" title="多核CPU及其核间通信方法原文来自X技术">多核CPU及其核间通信方法</a>

【技术保护点】
一种多核CPU的核间通信方法,其特征在于,所述多核CPU配置有介质访问控制MAC环回口,且所述MAC环回口的接收缓存为所有核的共享缓存,当作为报文发送方的源核需要将报文发送到作为报文接收方的目的核时,该方法包括:所述源核将需要向所述目的核发送的报文发送到所述MAC环回口,所述MAC环回口经过环回后将所述报文存储到该MAC环回口的接收缓存;所述MAC环回口对应的硬件转发引擎将所述报文在所述接收缓存中的存储地址发送给所述目的核;所述目的核根据该存储地址从所述MAC环回口的接收缓存中读取报文。

【技术特征摘要】
1.一种多核CPU的核间通信方法,其特征在于,所述多核CPU配置有介质访问控制MAC环回口,且所述MAC环回口的接收缓存为所有核的共享缓存,当作为报文发送方的源核需要将报文发送到作为报文接收方的目的核时,该方法包括:所述源核将需要向所述目的核发送的报文发送到所述MAC环回口,所述MAC环回口经过环回后将所述报文存储到该MAC环回口的接收缓存;所述MAC环回口对应的硬件转发引擎将所述报文在所述接收缓存中的存储地址发送给所述目的核;所述目的核根据该存储地址从所述MAC环回口的接收缓存中读取报文。2.如权利要求1所述的方法,其特征在于,所述源核将报文发送到所述MAC环回口,包括:所述源核将报文的下一跳设置为所述MAC环回口。3.如权利要求1所述的方法,其特征在于,所述MAC环回口对应的硬件转发引擎将所述报文在所述共享缓存中的存储地址发送给所述目的核,包括:所述MAC环回口对应的硬件转发引擎获取所述报文在所述共享缓存中的存储地址,解析出所述报文中携带的目的核的标识信息,并根据解析出的目的核的标识信息将获取到的存储地址发送给相应的目的核。4.如权利要求1所述的方法,其特征在于,在所述多核CPU初始化时,设置所述MAC环回口的接收缓存为共享缓存。5.如权利要求1-4任一项所述的方法,其特征在于,所述目的核为一个或多个。6.一种多核CPU,包括至少2个核,分别作为报文发送方的源核和作为报告接收方的...

【专利技术属性】
技术研发人员:高瑞昌王琮
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1