在集成可执行程序中访问全局变量的系统和装置制造方法及图纸

技术编号:2871839 阅读:156 留言:0更新日期:2012-04-11 18:40
一种并行处理器体系结构,用来将全局信息从一个第一执行环境传送到一个第二执行环境,该体系结构包括:    至少一个第一执行环境;    至少一个第二执行环境    一个存储器流控制器;以及    一个信息传送函数,其中信息传送函数可用来命令存储器流控制器以在该至少一个第一执行环境和至少一个第二执行环境之间传送全局信息。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及多处理,具体而言,本专利技术涉及在多个处理器之间链接全局变量。
技术介绍
在计算机技术中,并行处理非常重要。并行处理通常包括使用多个连接到同一系统的微处理器,用来并发处理一批数据。并行处理一般主要包括三种。这些并行处理系统使用共享存储器或分布式存储器或二者的组合。一般情况下,共享存储器是可以由多个处理器以单个操作,如“加载”或“读”命令来访问的存储器。分布式存储器是被本地化成单个处理器的存储器。换句话说,每个处理器都可以在单个的访问操作中访问与其本身相关联的存储器,但无法在单个操作中访问与其他处理器相关联的存储器。最后,还有一种混合或“异构”的并行处理,其中既有共享存储器又有分布存储器。典型的这样一种混合并行处理器系统包括一个精减指令集(RISC)主处理器单元(MPU),如PowerPCTM处理器,和一个专用或“附加”处理器(APU),如SynergisticTMAPU(SPU)。一般而言,使用MPU来执行通用代码,其中通用代码包括复杂控制流并协调总体的混合并行处理功能。MPU能够访问所有的系统存储器。虽然在一个实施例中只使用了一个MPU,在其他的实施例中,则使用了多个MPU。APU通常用来执行数据流操作。也就是说,APU计算高度重复的多媒体、图形、信号或网络处理工作量,这些工作量的特点是具有高的计算与控制决策比例。在常规的混合系统中,APU无法访问系统存储器,并且其本身的存储器,即局部存储器,通常比共享存储器小。一般情况下,使用混合系统虽然提供了高的计算性能,但对编程模型提出了重大的挑战。这类问题与APU相关。APU无法直接寻址系统存储器。因此,要在APU上运行的代码必须先传送到与APU相关联的局部存储器,然后才能在APU上执行此代码。此外,APU和MPU还可以具有不同的指令集。在处理系统中,如混合处理系统中,需要在程序的不同部分(例如,子程序或函数)之间传送数据。如果这些子程序被设计成在处理器上直接访问系统存储器执行,或被设计成完全在异构计算机系统内的单个处理器上执行,则可以使用由绑定器或链接程序功能解析全局数据地址的常规方法。正如本领域普通技术人员所理解的那样,全局数据通常被定义为由多个子程序所引用的数据。然而,当需要在APU具有其本身的局部存储器的单独APU上执行的子程序之间,或者在一个或多个APU和一个或多个MPU的组合之间进行全局数据通信的情况下,常规链接机制则无法支持引用全局变量的功能。在常规的异构多处理器系统中,全局数据可以在几个位置驻留,而这些位置不能从在系统中不同处理器上执行的子程序进行一致的访问。但是,一个集成的可执行程序一般需要从系统中多个不同的处理器访问这些全局变量。因此,希望能够在混合并行处理系统中访问全局变量,以克服常规系统的局限性。
技术实现思路
本专利技术用于在执行环境之间,在并行处理器体系结构中传送全局信息。该并行体系结构包括至少一个第一执行环境,至少一个第二执行环境和一个存储器流控制器。该并行处理器体系结构还包括一个信息传送功能。该信息传送功能用来命令存储器流控制器在至少一个第一执行环境和至少一个第二执行环境之间传送全局信息。附图简要说明为了更全面地理解本专利技术及其各种优点,下面将结合附图对本专利技术进行详细说明,其中附图为附图说明图1概括地描述了一种分布式处理系统环境,用于从第一执行环境向第二执行环境传送全局变量;图2描述了将单独的对象模块编译和链接成一个集成的可执行程序的方法,其中集成的可执行程序还包括可从链接了对象模块的部分访问的全局变量;图3概括地描述了用来将全局变量从第一执行环境传送到第二执行环境的全局变量描述符的组成部分;图4A描述了用于从APU向MPU发送全局变量的一个伪代码函数;图4B描述了用于从MPU向APU发送全局变量的一个伪代码函数;图5概括地描述了集成的可执行程序和系统存储器和局部存储器之间的通信。具体实施例方式在下文中阐述了各种特定的细节以便于全面地理解本专利技术。但是,本领域普通技术人员应该认识到本专利技术不需要这些特定细节的内容也可以实现本专利技术。在其他的实例中,对公知的部件用示意图或框图的形式来说明,以免不必要的细节妨碍对本专利技术的清楚理解。此外,对于大部分内容,关于网络通信、电磁信号技术等的细节内容均略去,因为这些内容对完整地理解本专利技术是不必要的,并且这些内容应该是相关领域的普通技术人员能够理解的。还应提起注意的是,除非另外指明,这里描述的所有功能都可以即用硬件又用软件,或者用二者组合的形式实现。但在优选实施例中,除非另外指明,这些功能是由处理器根据计算机程序代码、软件和/或被编程为执行这些功能的集成电路执行的,如计算机或电子数据处理器。参考图1,引用标记100通常指异构并行处理体系结构,提供了一种环境,用来在集成可执行程序中实现由多个代码对全局数据进行访问。该体系结构100包括一个分布式计算环境110和一个系统存储器160,二者由一个接口150以电子方式连接。环境110包括多个APU120,每个都带有其各自的局部存储器125。环境110还包括一个MPU130,如RISC处理器及其一级缓冲存储器135。在一个实施例中,MPU130通过一个信号路径145连接到系统存储器160。在一个实施例中,附加处理器包括一个SPU。环境110还包括一个存储器流控制器(MFC)140。通常,MFC140用来实现MPU130和APU120处理器之间的数据移动和同步功能,并提供主系统存储器160和局部存储器125之间的数据传送。在图1中,MFC140通过接口150连接到系统存储器160。通常,MFC140根据主处理器130或APU120的请求,在系统存储器160和APU120的局部存储器125之间实现信息的移动。因为APU120不能直接访问系统存储器160,MFC140根据传送函数,如在APU120或MPU130上运行的存根函数的请求,在系统存储器160和APU120的局部存储器125之间传送信息。在一个实施例中,MFC140包括一个直接存储器访问(DMA)设备。体系结构100是一个可执行程序在其中运行的环境,其中可执行程序引用全局信息,如全局变量。可执行程序有多个子程序,将与全局变量相关的信息传送到一个第一执行环境,如APU120的局部存储器125,可执行程序还有至少一个子程序在第二执行环境,如连接到MPU130的共享存储器160中运行。APU120和MPU130通过使用MFC彼此之间通信。APU120和MPU130上的子程序通过访问并使用全局信息来传送信息。在一个实施例中,使用单个MPU130。在另一个实施例中,使用多个MPU130。在一个实施例中,一个链接程序专门用来生成包含链接信息传送函数,如存根函数的集成的可执行程序,或者在两个链接的对象文件之间传送子程序。在一个实施例中,一个链接程序专门用于生成包含一个或多个链接信息传送函数,如存根函数的集成的可执行程序,或在局部存储器125和系统存储器160之间传送例程,这些例程能够传送在两个或多个对象文件中使用的全局变量的值。一般情况下,每个对象文件包含至少一个对全局变量的引用。对象文件可以包括多次引用。在一个实施例中,对象文件通过子程序调用或分支和链接指令执行存根函数。在另一个实施例中,由编译器对内本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:迈克尔·K·克施温德凯瑟琳·M·奥布莱恩约翰·K·奥布莱恩瓦伦蒂纳·萨拉普罗
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

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