用于提供多核心编程平台的装置和方法制造方法及图纸

技术编号:10978930 阅读:107 留言:0更新日期:2015-01-30 15:26
一种用于生成目标计算机的存储器映射的计算机实现的方法,包括根据存储在主机计算机的存储器中的多个标识符规定与目标计算机的存储器布局关联的至少一个标识符。该方法还包括规定与所规定的至少一个标识符关联的值。该方法还包括利用所述至少一个标识符和关联的至少一个值生成存储器映射的存储器映射定义。该方法还包括在目标计算机上部署软件,该软件结合了存储器映射定义并且包括引用用关联的值替换的所述至少一个标识符的可执行指令。

【技术实现步骤摘要】
【国外来华专利技术】用于提供多核心编程平台的装置和方法相关申请的交叉引用本申请根据美国法典第35章119条第e项要求于2012年3月23日提交且标题为“ApparatusandMethodforProvidingaMulticoreProgrammingPlatform”的美国临时申请No.61/615,095的在先提交日的权益,该申请的全部内容通过引用被结合于此。
技术介绍
存储器访问是计算机性能中的主要限制因素。虽然处理器已经变得更快,但是存储器访问时间没有以同样的速度而改善。用来改善计算机性能的增加数量的计算机元件,例如多核心处理器和硬件加速器,对于访问相同的处理器发生竞争,从而恶化了这个问题。为了缓解这种日益扩大的存储器访问差距,存储器体系架构不断发展并且变得日趋复杂,例如多级高速缓存、本地和全局存储器,以及片上网络、统一存储器体系架构(UMA)或非统一存储器体系架构(NUMA)。存储器体系架构变得更加复杂并且不同的多核心平台一般具有不同的存储器布局。多核心应用从一个版本发展到下一个版本,是复杂而且昂贵的,并且必须以最少量的修改可移植到众多平台。从应用管理存储器布局导致不可移植的应用以及次优的存储器利用率。需要提供高度的应用可移植性和优化的新方法来利用存储器体系架构的进步。当前用于规定存储器的方法主要是基于通过链接器命令控制的存储器分段、特定于平台的开发和配置工具并且常常引用从应用和其它软件中直接“硬编码”的存储器布局。这些方法常常是依赖于编译器工具链的,不提供应用可移植性并且特定于平台的优化是耗时而且昂贵的。因此,目前的解决办法或者是特定于体系架构,因此不提供应用可移植性的,或者没有提供足够的方法用于处理多核心计算机存储器,或者二者兼有,从而导致复杂性和不可移植性。对于用于以可移植的方式处理复杂的多核心计算机存储器的新方法存在很大的需求。
技术实现思路
根据示例性实施例,用于生成目标计算机的存储器映射(memorymap)的计算机实现的方法包括根据存储在主机计算机的存储器中的多个标识符规定与目标计算机的存储器布局关联的至少一个标识符。该方法还包括规定与所规定的至少一个标识符关联的值。该方法还包括利用所述至少一个标识符和关联的至少一个值生成存储器映射的存储器映射定义。该方法还包括在目标计算机上部署软件,所述软件结合了所述存储器映射定义并且包括引用用关联的值替换的所述至少一个标识符的可执行指令。根据示例性实施例,主机计算机包括存储器和处理器。处理器被配置为根据存储在存储器中的多个标识符规定与目标计算机的存储器布局关联的至少一个标识符。处理器还被配置为规定与所规定的至少一个标识符关联的值。处理器还被配置为利用所述至少一个标识符和关联的至少一个值生成存储器映射的存储器映射定义。处理器还被配置为在目标计算机上部署软件,所述软件结合了所述存储器映射定义并且包括引用用关联的值替换的所述至少一个标识符的可执行指令。根据示例性实施例,非暂时性计算机可读介质中存储有可执行指令,所述可执行指令在被主机计算机的处理器执行时,使处理器执行用于生成目标计算机的存储器映射的方法。该方法包括根据存储在主机计算机的存储器中的多个标识符规定与目标计算机的存储器布局关联的至少一个标识符。该方法还包括规定与所规定的至少一个标识符关联的值。该方法还包括利用所述至少一个标识符和关联的至少一个值生成存储器映射的存储器映射定义。该方法还包括在目标计算机上部署软件,所述软件结合了所述存储器映射定义并且包括引用用关联的值替换的所述至少一个标识符的可执行指令。附图说明本进步及其许多附属优点的更完整理解将很容易获得,因为,当结合附图考虑时,通过参考以下具体描述,这些变得更好理解。但是,附图及其示例叙述不是要以任何方式限制本说明书所包含的本进步的范围。说明书及附图所包含的本进步的范围是由权利要求的言辞定义的。图1说明了可移植存储器映射部署处理的示例性实施例。图2说明了多核心计算机系统的示例性实施例。图3说明了用于创建和验证(validate)存储器映射的处理的示例性实施例。图4a-4t说明了存储器映射编辑器工具的示例性实施例。图5a说明了用于两个不同的多核心计算机平台的示例存储器布局。图5b和5c说明了存储器映射定义的示例性实施例。图5d说明了使用存储器映射定义的程序代码的示例性实施例。图6a说明了用于创建拓扑图的处理的示例性实施例。图6b—6e-2说明了拓扑图编辑器工具的示例性实施例。图7说明了用于拓扑图资源池创建的处理的示例性实施例。图8说明了利用链接器指令把存储器分成段的示例性实施例。图9a说明了用于映射、配置和分配存储器的可移植存储器映射方法的示例性实施例。图9b-9d说明了存储器映射定义的示例性实施例。图10说明了来自生成的存储器映射定义的示例摘录。图11a-11j说明了可移植存储器映射的示例性应用。图12说明了示例性处理器图。具体实施方式本文所述的本进步针对可以出口(ported)到多个多核心平台的可移植存储器映射。可移植存储器映射方法和装置,也称为存储器映射,提供了完全可移植的存储器映射定义以及大大简化的特定于多核心平台的存储器布局和存储器利用率,见图1。根据实施例,多核心计算机或平台中的多个核心可以在单个芯片上或者在多个芯片上。存储器映射定义是从用户定义的存储器映射生成的。在一些实施例中,存储器映射定义包括代表以描述符文件格式提供的存储器映射的符号(symbolically)定义的值。描述符文件格式是独立于体系架构工具和开发工具的。即,描述符文件格式是独立于编译器、汇编器和链接器的。在一些实施例中,存储器映射定义是从软件而符号引用的并且对存储器映射的改变导致存储器映射定义的重新生成,而无需应用或其它软件中的改变。作为例子,两个多核心系统可以具有相似的存储器映射,其中布局中的一些是完全相同的并且其它部分(诸如SRAM和DRAM的量)不同。具有多种类型功能的应用,其中一种功能可以在一个系统上被强调,并且另一种类型的功能在不同的系统上被强调。为了最优的存储器利用率,用于每个多核心系统的存储器映射可以鉴于这些区别而不同地定义。可移植存储器映射提供了应用以及其它软件与多核心平台存储器布局之间的抽象,从而启用不同平台之间的应用可移植性以及平台存储器利用率的迭代优化。利用可移植存储器映射,为开发者提供了应用可移植性、减少的开发和调试(即上市时间)、以及多核心平台存储器的最优利用率。例如,电信设备提供商常常具有几个平台,既有内部开发的又有收购的。二者就存储器布局、处理器类型以及数量而言,底层的多核心硬件平台可以基本上不同。电信设备提供商对于通常模块化的应用(和系统)软件具有大量的投资。电信设备提供商需要能够在只有很少或没有改变的情况下跨众多平台以不同的组合来使用这些模块,同时仍然从每个平台中获得最大化的存储器利用率,即性能。因此,本文所公开的存储器映射和对应的存储器映射定义提供了电信设备提供商所需的应用可移植性。可移植存储器映射在一些实施例中,在可移植存储器映射中,存储器布局被结构化并分段成块或单个的位置,其中每个块和位置都被指定标识符和值,即符号定义。该符号定义可以利用标识符从多核心平台软件被引用。通过使用标识符,存储器映射可以出于优化的目的或者为了适应具有不同本文档来自技高网
...
用于提供多核心编程平台的装置和方法

【技术保护点】
一种用于生成目标计算机的存储器映射的计算机实现的方法,包括:根据存储在主机计算机的存储器中的多个标识符,规定与所述目标计算机的存储器布局关联的至少一个标识符;规定与所规定的至少一个标识符关联的值;利用所述至少一个标识符及关联的至少一个值生成所述存储器映射的存储器映射定义;及在所述目标计算机上部署软件,所述软件结合了所述存储器映射定义并且包括引用用关联的值替换的所述至少一个标识符的可执行指令。

【技术特征摘要】
【国外来华专利技术】2012.03.23 US 61/615,0951.一种用于生成目标计算机的存储器映射的计算机实现的方法,所述存储器映射指示被分段成块的目标计算机的存储器结构,每个块与标识符关联,该计算机实现的方法包括:根据存储在主机计算机的存储器中的多个独立于平台的标识符,规定与定义所述目标计算机的存储器结构的存储器布局的至少一个块关联的至少一个标识符;规定与所规定的至少一个标识符关联的值;利用所述至少一个标识符及关联的至少一个值生成所述存储器映射的存储器映射定义;及在所述目标计算机上部署软件,所述软件结合了所述存储器映射定义并且包括引用用关联的值替换的所述至少一个标识符的可执行指令。2.如权利要求1所述的计算机实现的方法,其中,所述存储器映射在确定所述至少一个标识符没有违反存储在存储器中的预定的值范围、对象的对象关系或边界参数后被验证,并且所述存储器映射定义在所述存储器映射验证后以描述符文件格式生成。3.如权利要求1所述的计算机实现的方法,其中所述存储器布局被分段成在所述存储器映射定义中定义的存储器映射部分,并且,从所述存储器映射定义生成链接器文件用于所述存储器映射部分与链接器定义的部分的集成,所述存储器映射链接到所述目标计算机的拓扑图,所述拓扑图定义对应于所述软件的一个或多个功能的至少一个节点与目标计算机的硬件之间的通信,并且所述存储器映射定义结合在所述拓扑图的拓扑图资源池的规范和配置中。4.如权利要求1所述的计算机实现的方法,还包括:在另一目标计算机上部署使用所述存储器映射定义的所述软件,其中所述另一目标计算机具有与所述目标计算机的所述存储器布局不同的存储器布局,其中,所述软件能从第一平台移植到第二平台而无需对所述软件进行修改。5.如权利要求1所述的计算机实现的方法,其中所述存储器布局包括第一种类型的存储器和比第一种类型的存储器快的第二种类型的存储器,及为了最优的存储器利用率,所述至少一个标识符只与第二种类型的存储器关联。6.如权利要求1所述的计算机实现的方法,其中所述存储器映射被重新配置并验证,并且所述存储器映射定义利用重新配置的存储器映射被重新生成而无需改变所述软件。7.如权利要求3所述的计算机实现的方法,其中,所述存储器映射定义和拓扑图定义结合链接器命令文件和运行时库被构造用于在所述目标计算机上执行。8.如权利要求1所述的计算机实现的方法,其中所述存储器映射还包括包含特定于平台的值的多平台定义,以便自动化用于众多多核心平台的一个或多个存储器映射定义的生成,并且该方法还包括基于所述多平台定义生成存储器映射定义。9.一种主机计算机,包括:存储器;及处理器,被配置为根据存储在所述主机计算机的所述存储器中的多个独立于平台的标识符,规定与定义目标计算机的存储器结构的存储器布局的至少一个块关联的至少一个标识符;规定与所规定的至少一个标识符关联的值;利用所述至少一个标识符及关联的至少一个值生成存储器映射的存储器映射定义,所述存储器映射指示被分段成块的目标计算机的存储器结构,每个块与标识符关联;及在所述目标计算机上部署软件,所述软件结合了所述存储器映射定义并且包括引用用关联的值替换的所述至少一个标识符的可执行指令。10.如权利要求9所述的主机计算机,其中,所述处理器还被配置为在确定所述至少一个标识符没有违反存储在存储器中的预定的值范围、对象的对象关系或边界参数后验证所述存储器映射,并且所述处理器还被配置为在所述存储器映射验证后以描述符文件格式生成所述存储器映射定义。11.如权利要求9所述的主机计算机,其中,所述存储器布局被分段成在所述存储器映射定义中定义的存储器映射部分,并且,从所述存储器映射定义生成链接器文件用于所述存储器映射部分与链接器定义的部分的集成,所述存储器映射链接到所述目标计算机的拓扑图,所述拓扑图定义对应于所述软件的一个或多个功能的至少一个节点与目标计算机的硬件之间的通信...

【专利技术属性】
技术研发人员:S·布瑞尔梅尔T·阿布尔拉塔D·图尔内尔
申请(专利权)人:波利科雷软件股份有限公司
类型:发明
国别省市:美国;US

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

1