多核系统中共享内存的管理方法和装置制造方法及图纸

技术编号:2826212 阅读:604 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种多核系统中共享内存的管理方法和装置。该方法主要包括:在多核系统中配置全局共享的内存和局部共享的内存;多核系统中的所有中央处理器CPU都能够访问所述全局共享的内存,多核系统中的部分CPU能够访问所述局部共享的内存。该装置主要包括:全局共享内存配置模块和局部共享内存配置模块。利用本发明专利技术,可以实现共享内存在各CPU之间自由传递,支持在各CPU上灵活配置内存共享方式,实现多种内存共享方式并存。从而可以简化多核间通信的过程,大大降低共享内存访问冲突的机率,有利于提高多核系统性能。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,尤其涉及一种多核系统中共享内存的管理方法和装置
技术介绍
当今电子、通信、IT行业中,不论是嵌入式系统,还是通用计算机系统,单核处理器的局限性日益明显,已经越来越不能满足用户对高性能、大容量的要求。于是,多核(即多CPU(Central Processing Unit,中央处理器))技术应运而生,并且不断发展、成熟,在市场中应用范围迅速扩大,多核技术取缔传统的单核技术已成为不可避免的趋势。多核内存管理技术是多核技术中的一种关键技术,整个系统架构都依赖于它,其性能的好坏直接影响到多核处理器的性能及其竞争力,因此,不断改进、优化多核内存管理技术对多核系统来说是非常重要的。现有技术中一种内存管理方法为:不支持内存在多核之间传递,当多核之间进行通信时,需要对内存内容进行多次复制。在该方案中,一种两个CPU之间进行通信时的原理示意图如图1所示,具体处理流程包括如下步骤:步骤1、CPU1从自己的内存空间内申请内存块;步骤2、CPU1构造数据包,该数据包中包含CPU1与CPU2的通信内容;步骤3、CPU1将上述数据包承载在申请的内存块中,并将数据包发送到CPU1与CPU2之间的通信线路上;步骤4、CPU1释放上述申请的内存块,以便内存块重复利用;-->步骤5、上述数据包通过通信线路被传输到CPU2;步骤6、CPU2从自己的内存空间内申请内存块;步骤7、CPU2从通信线路上读取上述数据包,并数据包存放到自己申请的内存块内;步骤8、CPU2处理上述数据包;步骤9、CPU2处理上述数据包完毕,释放申请的内存块,通信结束。在实现本专利技术的过程中,专利技术人发现上述现有技术中的内存管理方法的缺点为:由于内存不能在多核间传递,导致通信过程相当繁杂,其间的内存申请、释放开销大,而且,通信过程越复杂,其开销就越大。从而降低了系统性能,不能满足多核芯片、多核操作系统等前沿技术的新需求。
技术实现思路
本专利技术实施例的目的是提供一种多核系统中共享内存的管理方法和装置,从而可以解决现有的由于内存不能在多核间传递,导致多核间通信过程繁杂,多核间通信的开销大的问题。本专利技术实施例的目的是通过以下技术方案实现的:一种多核系统中共享内存的管理方法,包括:在多核系统中配置全局共享的内存和局部共享的内存,多核系统中的所有中央处理器CPU都能够访问所述全局共享的内存,多核系统中的部分CPU能够访问所述局部共享的内存;所述多核系统中的CPU通过所述全局共享的内存和局部共享的内存来承载信息。一种多核系统中共享内存的管理装置,包括:全局共享内存配置模块,用于在多核系统中配置全局共享的内存,多核系统中的所有CPU都能够访问所述全局共享的内存;-->局部共享内存配置模块,用于在多核系统中配置局部共享的内存,多核系统中的部分CPU能够访问所述局部共享的内存。由上述本专利技术实施例提供的技术方案可以看出,本专利技术实施例通过在多核系统中配置全局共享的内存和局部共享的内存。从而可以支持共享内存在各CPU之间自由传递,大大降低了共享内存访问冲突的机率,有利于提高多核系统性能。附图说明图1为现有技术中一种两个CPU之间进行通信的原理示意图;图2为本专利技术实施例一提供的一种多种共享方式并存的内存共享示意图;图3为本专利技术实施例一提供的通过内存映射实现的全局共享区和局部共享区的划分原理示意图;图4为本专利技术实施例一提供的一种在多核间传递内存块的示意图;图5为本专利技术实施例二提供的一种多种类型的共享内存的利用率示意图;图6为本专利技术实施例二提供的一种基于最小匹配原则的内存匹配处理流程图;图7为本专利技术实施例三提供的一种内存层面的多播技术原理示意图;图8为本专利技术实施例四提供的实现多核内存共享的处理装置的实施例的结构示意图。具体实施方式本专利技术实施例提出了多核间全局共享(Global Shared)、局部共享(Local Shared)、全共享(Full Shared)、半共享(Half Shared)等多种共享方式并存的内存共享技术。下面分别介绍上述各种共享方式。全局共享:全局共享的内存从访问权限的角度考虑,所有CPU均可以访-->问;局部共享:局部共享的内存从访问权限的角度考虑,仅有部分CPU可以访问,其它CPU不能访问;全共享:全共享的内存从操作权限的角度考虑,访问的CPU可完全控制;半共享:半共享的内存从操作权限的角度考虑,访问的CPU只有部分权限,比如可读但不能写,可使用内存但不能申请内存等。基于上述各种共享方式,本专利技术实施例在多核系统中配置上述全局共享的内存和局部共享的内存。并且,在所述全局共享的内存中配置全局全共享和全局半共享的内存,多核系统中的所有CPU都能够对所述全局全共享的内存进行完全控制,多核系统中的部分CPU能够对所述全局半共享的内存进行完全控制,而其它CPU只能够对所述全局半共享的内存进行部分控制。并且,在所述局部共享的内存中配置局部全共享和局部半共享的内存,多核系统中的能够访问所述局部共享的内存的部分CPU都能够对所述局部全共享的内存进行完全控制,能够访问所述局部共享的内存的部分CPU中的特定CPU,能够对所述局部半共享的内存进行完全控制。本专利技术实施例根据多核系统中的各种业务数据包的长度,配置各种长度类型的所述全局共享的内存和局部共享的内存。当多核系统中存在多种类型的所述全局共享内存和/或所述局部共享的内存能够承载同一种业务数据包时,选择长度最小的类型的所述全局共享内存和/或所述局部共享的内存中的空闲内存块来承载所述业务数据包。本专利技术实施例将承载业务数据包的全局共享的内存在各个CPU之间进行传递,由最后使用所述全局共享的内存的CPU将所述全局共享的内存释放掉。将多播数据包承载于所述全局共享的内存中,将所述多播数据包的地址-->信息复制多份,向各个目的CPU分别发送多份所述多播数据包的地址信息,所述各个目的CPU根据所述地址信息,从所述全局共享的内存中获取所述业务数据包。下面结合附图来详细描述本专利技术实施例。实施例一、该实施例提供的一种多种共享方式并存的内存共享示意图如图2所示,该多种共享方式并存的原理是将内存共享区划分成若干个子区域,并灵活设置每个子区域的访问权限和读写权限,以实现多种共享方式并存的目的。如图2所示,根据CPU应用模型,将共享内存划分成若干个全局共享区、局部共享区,全局共享区和局部共享区的划分与各CPU上业务分布有关。全局共享区允许所有CPU访问,局部共享区允许部分(一个或几个)CPU访问,各局部共享区之间不能互相访问。如图2所示,局部共享区1只允许CPU1和CPU2访问,局部共享区m只允许CPUn访问,全局共享区则允许所有CPU(CPU1~CPUn)访问。因此,通过将共享内存区划分成全局共享区和局部共享区,可以降低多CPU竞争的可能性,把原来的所有CPU竞争变成了部分CPU竞争或者完全不竞争(一个CPU独享局部共享区)。根据可访问内存区的各个CPU的操作权限,可以进一步将某一局部共享区或全局共享区细分成全共享区和半共享区。如图2所示,局部共享区1的全共享区,CPU1和CPU2都可完全控制,而局部共享区1的半共享区,CPU1只有部分操作权限,CPU2可完全控制;局部共享区m的全共享区,CPUn可完全控制,而局部共享区m的半共享本文档来自技高网
...

【技术保护点】
一种多核系统中共享内存的管理方法,其特征在于,包括:    在多核系统中配置全局共享的内存和局部共享的内存,多核系统中的所有中央处理器CPU都能够访问所述全局共享的内存,多核系统中的部分CPU能够访问所述局部共享的内存;    所述多核系统中的CPU通过所述全局共享的内存和局部共享的内存来承载信息。

【技术特征摘要】
1、一种多核系统中共享内存的管理方法,其特征在于,包括:在多核系统中配置全局共享的内存和局部共享的内存,多核系统中的所有中央处理器CPU都能够访问所述全局共享的内存,多核系统中的部分CPU能够访问所述局部共享的内存;所述多核系统中的CPU通过所述全局共享的内存和局部共享的内存来承载信息。2、根据权利要求1所述的多核系统中共享内存的管理方法,其特征在于,所述在多核系统中配置全局共享的内存和局部共享的内存具体包括:将多核系统中的各个CPU的虚拟地址空间映射到同一个物理地址空间,为各个CPU配置所述全局共享的内存;将多核系统中的各个CPU的虚拟地址空间映射到不同的物理地址空间,为各个CPU配置所述局部共享的内存。3、根据权利要求1所述的多核系统中共享内存的管理方法,其特征在于,所述在多核系统中配置全局共享的内存和局部共享的内存具体包括:根据多核系统中的各种业务数据包的长度,配置各种长度类型的所述全局共享的内存和局部共享的内存。4、根据权利要求1所述的多核系统中共享内存的管理方法,其特征在于:所述全局共享的内存中包括全局全共享的内存和全局半共享的内存,多核系统中的所有CPU都能够对所述全局全共享的内存进行完全控制,多核系统中的部分CPU能够对所述全局半共享的内存进行完全控制,而其它CPU只能够对所述全局半共享的内存进行部分控制。5、根据权利要求1所述的多核系统中共享内存的管理方法,其特征在于:所述局部共享的内存中包括:局部全共享的内存、局部半共享的内存,多核系统中的能够访问所述局部共享的内存的部分CPU都能够对所述局部全共享的内存进行完全控制,多核系统中的能够访问所述局部共享的内存的部分CPU中的特定CPU,能够对所述局部半共享的内存进行完全控制。6、根据权利要求1至5任一项所述的多核系统中共享内存的管理方法,其特征在于,所述方法还包括:当多核系统中存在多种类型的所述全局共享内存和/或所述局部共享的内存能够承载同一种业务数据包时,选择长度最小的类型的所述全局共享内存和/或所述局部共享的内存中的空闲内存块来承载所述业务数据包。7、根据权利要求6所述的多核系统中共享内存的管理方法,其特征在于,所述方法还包括:将承载所述业务数据包的全局共享的内存在各个CPU之间进行传递,由最后使用所述全局共享的内存的CPU将所述全局共享的内存释放掉。8、根据权利要求6所述的多核系统中共享内存的管理方法,其特征在于,所述方法还包括:将多播数据包承载于所述全局共享的内存中,将所述多播数据包的地址信息复制多份,向各个目的CPU分别发送多份所述多播数据包的地址信息,所述各个目的CPU根据所述地址信息,从所述全局共享的内存中获取所述多播数据包。9、一种多核系统中共享内存的管理装置,其特征在于,包括:全局共享内存配置模块,用于在多核系统中配...

【专利技术属性】
技术研发人员:陈定春
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1
相关领域技术
  • 暂无相关专利