公开/公告号CN101146280A
专利类型发明专利
公开/公告日2008-03-19
原文格式PDF
申请/专利权人 中兴通讯股份有限公司;
申请/专利号CN200710030050.4
申请日2007-11-27
分类号H04Q7/32(20060101);H04B1/40(20060101);
代理机构
代理人
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦
入库时间 2023-12-17 19:54:11
法律状态公告日
法律状态信息
法律状态
2018-01-12
未缴年费专利权终止 IPC(主分类):H04L12/56 授权公告日:20091209 终止日期:20161127 申请日:20071127
专利权的终止
2009-12-09
授权
授权
2008-05-14
实质审查的生效
实质审查的生效
2008-03-19
公开
公开
技术领域
本发明涉及处理器领域,更具体地说,涉及一种分布式移动通信系统中多核处理器对外通信的方法。
背景技术
随着移动通信技术的迅猛发展,使用移动通信的终端用户越来越多。为了保证终端用户使用语音业务时通话质量和使用数据业务时的带宽,移动运营商对移动系统设备的可扩容性需求也越来越高。为了满足可扩容需求,目前移动通信设备多采用分布式系统架构。
对于采用分布式系统架构的移动通信系统,系统设备多数由接口板、媒体面处理板和控制面处理板构成。接口板负责对外收发消息和分离媒体面消息和控制面信令消息。对于媒体面消息通过媒体面交换网送给媒体面处理板处理。控制面信令消息通过接口板控制面CPU通过控制面交换网发送给控制面板处理。为了提供设备的接入能力,很多移动通信设备接口板开始采用具有高处理性能且一片芯片上集中多个核的多核处理器实现,其中多核处理器一部分核运行商用操作系统,作为控制面CPU和系统中其他控制面处理板进行通信以转发信令消息转发和交互会话,另外一部分核进行媒体面处理。由于移动通信系统中信令消息占媒体面消息的10%-20%,媒体面处理能力强而并发会话也比较多,因此需要使用多个核作为控制面核。
多核处理器中多控制面核运行操作系统时可以有SMP(Symmetric Multiprocessing,对称多处理)模式、AMP(AsymmetricMultiprocessing,非对称多处理)模式和BMP(Bound multiprocessing,绑定多处理)模式。目前多数嵌入式操作系统还不支持SMP模式,因此多控制面核还多数采用AMP模式,即每个核运行一套操作系统,作为一个独立CPU对外通信。在正常情况下,控制面核中以太网驱动程序需要有一个独立的网口才能与其它单板通信,但在分布式系统中一些单板由于背板限制或交换网端口个数限制,以及设备成本考虑,要求多核处理器单板只能有一个控制面网口,因此就存在多个控制面核通过一个网口与其它单板通信的问题。
专利申请号为200510087321.0的中国专利申请公开了“嵌入式实时操作系统中多核处理器的核间通信方法及装置”。该专利不足之处在于主要描述一个装置中核间通信方法,而没有对多核处理器中作为控制面核与其他单板的通信方法,扩展性不好,不适合在采用分布式架构的系统设备中使用。
发明内容
本发明解决的技术问题是提供了一种分布式系统中实现多核处理器对外通信的方法,以解决在分布式系统中,多核处理器单板在只有一个控制网口而有多个控制面核、且多控制面核操作系统工作在AMP模式时无法与其他单板通信的问题。
为解决上述问题,本发明提供的方法包括:
方法多核处理器接收消息包括步骤:
A多核处理器单板控制面网口(101)接收其他单板发送的消息,根据共享内存指针将接收消息移至共享内存(103)中;同时多核处理器中分发器(102)提取接收消息的识别信息;
B分发器102根据接收消息的识别信息判断出与其匹配的控制面核,向匹配的控制面核发送通知消息,通知消息中携带接收消息的共享内存指针;
C匹配的控制面核收到通知消息后,根据通知消息中的指针将接收消息从共享内存103中移到其接收队列中,取出接收消息进行处理;
方法中多核处理器发送消息包括步骤:
D控制面核直接将发送消息放入共享内存(103)中,发送命令给控制面网口(101)的MAC器件,MAC器件接到命令后将发送消息发送出去。
上述的方法,其中,步骤A之前,分布式系统进行初始化,包括:
多核处理器分配存放接收消息的共享内存,将共享内存指针放入控制面网口(101)MAC器件的描述符中;
为控制面核分配用于对外通信的IP地址;
上述的方法,其中,步骤A中,若多核处理器中分发器(103)为硬件单元,则MAC器件自动通知分发器有接收消息到达;否则,采用多核处理器中一个控制面核作为分发器。
上述的方法,其中,接收消息的识别信息是目的IP地址。
上述的方法,其中,步骤B具体为:
B1分发器判断目的IP地址与接收消息匹配的控制面核IP地址是否相同,若不相同,则直接丢弃接收消息;
B2若相同,分发器向匹配的控制面核发送通知消息,通知消息中携带接收消息的共享内存指针。
上述的方法,其中,步骤C中,匹配的控制面核取出接收消息进行处理具体为:
匹配控制面核中以太网驱动程序轮询接收队列,取出接收消息派发给相应的进程或任务处理。
上述的方法,其中,接收队列由控制面核从其堆里分配内存建立。
与现有技术相比较,本发明实现的是多核处理器中多控制面核在只有一个控制面网口时对外通信方法,该方法使用的是虚拟驱动技术,可以让每个控制面核都认为自己有一个独立的控制面网口,而不需要修改操作系统中的以太网驱动程序,避免多控制面核必须使用多控制面网口的缺陷,这样不但可以降低设备成本,而且方便操作系统从AMP模式过渡到SMP模式,有很好的扩展性。该方法同时适用控制面有多个网口,而不需要修改任何代码。
附图说明
图1是本发明实施例应用的方案示意图;
图2是本发明的方法实施例中控制面核对外通信接收流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细说明。
图1是本发明实施例应用的方案示意图。多核处理器单板上包括控制面网口101核和多核处理器,多核处理器包括分发器102、共享内存103、接收队列104和控制面核105。其中多核处理器单板控制面网口用于接收其他单板发送的消息,并将多核处理器对外发送的消息发送出去。多核处理器分发器可以为硬件单元,硬件分发器需要配置消息提取、分类和分发规则;如果没有硬件分发器,多核处理器中一个控制面核作为分发器,同时配置消息提取、分类和分发规则。分发器102用于根据接收消息的识别信息判断出与其匹配的控制面核,向与其匹配的控制局核发送通知消息,通知消息中携带消息的共享内存指针。共享内存103是由多核处理器分配用于存放接收消息。接收队列由控制面核105从其堆里分配内存建立,与控制面核一一对应。控制面核105用于接收通知消息,根据通知消息中的指针将接收消息从共享内存103中移到其接收队列中,取出接收消息进行处理;而且,用于直接将发送消息放入共享内存103中,并发送命令给控制面网口101的MAC器件,MAC器件接到命令后将消息发送出去。
图2是本发明的方法实施例中控制面核对外通信接收流程图。从本发明具体实施方式可知,由于两个控制面核独立工作,因此在发送消息时每个控制面核都相当有一个独立的控制面网口,仍然可以利用操作系统中现有的以太网驱动程序,不需要特殊处理。因此下面具体描述本发明中控制面核对外通信接收流程。
步骤201,系统启动,多核处理器单板开始上电,进行系统初始化工作,系统初始化主要包括:
多核处理器分配存放消息的共享内存103,将共享内存指针放入控制面网口101 MAC器件的描述符中;
为控制面核105分配用于对外通信的IP地址;
控制面核105从其堆里分配内存建立接收队列104;
如果分发器为硬件单元,则配置消息提取、分类和分发规则。
步骤202,控制网口101有接收消息到达,根据预先存放的指针通过DMA引擎将接收消息移入共享内存103中;
步骤203,如果多核处理器板分发器是硬件分发器102,则根据配置的规则从接收消息的头中提取目的IP地址。如果为软件分发器102,则设置软件规则从接收消息的头中提取目的IP地址。
步骤204,分发器判断目的IP地址是否与控制面核105的IP地址相同,如果都不同,则为无效消息,转步骤205直接丢弃。
步骤206,如果目的IP地址与控制面核105中的任意一个控制面核IP相同,则分发器102发送通知消息通知控制面核105有接收消息到达,通知消息中要包含消息的存放在共享内存103中的指针。
步骤207,控制面核105收到通知消息后,从通知消息中取出接收消息的共享内存指针,然后将消息从共享内存103中拷贝到其接收队列104中。
步骤208,控制面核105利用以太网驱动程序中守护任务不断轮询接收消息的接收队列104,如果队列中有接收消息,则取出,根据消息类型然后派发给本核相应的任务或进程处理。
机译: 使用mmWave无线电在多核系统中实现处理器间通信
机译: 使用mmWAVE无线电在多核系统中实现处理器间通信
机译: 使用mmWAVE无线电在多核系统中实现处理器间通信