在多处理器系统中快速加载和运行程序映像的方法和系统的制作方法

文档序号:6611916阅读:213来源:国知局

专利名称::在多处理器系统中快速加载和运行程序映像的方法和系统的制作方法
技术领域
:本发明涉及计算机领域,具体涉及Cell宽带引擎体系结构(CBEA,或非正式地称为"Cell"),更具体地涉及一种在CELL协处理器部件(CellSPE)中的快速加栽和运行程序映像的方法和系统。
背景技术
:Cell宽带引擎体系结构定义了一种新的处理器结构,该处理器结构基于64位的Power体系结构技术,但具有面向分布式处理和媒体丰富应用的独特功能。Cell宽带引擎体系结构定义了一种包含一个或多个Power处理器部件(PPE)和多个高性能的SIMD协处理器部件(SPE)的单芯片多处理器。IBM的用于Cell宽带引擎(CellBE)的软件开发工具包(SDK)是一套使得开发人员能够获得对这种革命性的CellBE处理器的第一手经验的完整的工具包。该SKD包含开发工具链(toolchain)、软件库和示例源代码、一个系统模拟器、以及完全支持CdlBE的能力的Linux内核。图l为Cdl宽带引擎的结构框图。如图所示,Cdl宽带引擎具有l个PPE和8个SPE。该PPE是64位的PowerPC体系结构内核。它完全遵循64位的PowerPC体系结构,并运行32位和64位的操作系统和应用。SPE是独立的处理器,每个SPE运行它自己单独的应用程序。PPE和SPE通过部件互连总线(EIB)彼此通信,以及与主存储器和I/O通信。图2为PPE的结构框图。如图所示,PPE包含两个主要部件,Power处理器单元(PPU)和Power存储器子系统(PPSS).图3为SPE的结构框图。如图所示,SPE包含两个主要部件,协处理器单元(SPU)和存储流控制器(MFC)。MFC包含一支持DMA传送的DMA控制器。PPU通过在专用寄存器文件和主存储器之间执行的加栽和存储指令来访问主存储器。然而,SPU通过在主存储器和用于存储指令和数据的专用本地存储器之间执行的直接存储器访问(DMA)命令来访问主存储器。SPU的取指以及加载和存储指令访问该专用本地存储器,而不是共享的主存储器。PPE和SPE通过由每个SPE的MFC所支持的三种主要通信机制来进行通信,这三种通信机制是邮箱(ma他ox)、信号通知寄存器和DMA。邮箱是用于交换32位消息的队列。提供了两个邮箱用于从SPE向PPE发送消息,以及一个邮箱用于从PPE向SPE发送消息。信号通知寄存器用于由PPE向SPE发送信号通知。SPE的本地存储器和主存储器之间的DMA传送即可以由该SPE的SPU发起,也可以由PPE或其他SPEJ^。每个SPU包含一个RISC内核,以及用于指令和数据的由软件控制的265KB的本地存储器。SPU支持一特殊的SIMD指令集,并且依赖于异步DMA传送来在主存储器和其本秘储器之间移动数据和指令。PPE程序通过4吏用例如spejreate一thread调用在SPE上创建线程来启动SPE程序的运行,该spe一create一thread调用将调用一SPU运行时管理库。该spe—createJhread调用4e^序映像加栽到SPE本地存储器(LS),设置SPE环境,启动SPE程序,然后返回指向SPE的新线程ID的指针。这些过程具有很大的开销。下面示出了的spe—create—thread的伪码示例speid一tspe—create—thread(spe_program—handlehandle)创建称为/spu/spe-xxx(xxx是唯一名称)的目录来代表将执行由handle标识的程序的SPE;创建文件/spu/spe-xxx/mem来代表SPE本i(M5"储器;创建文件/spu/spe-xxx/mbox来代表到SPE的邮箱通道;创建文件/spu/spe-xxx/sigl来代表到SPE的信号通知通道1;创建文件/spu/spe-xxx/sig2来代表到SPE的信号通知通道2;将程序的内容写入文件/spu/spe-xxx/mem;设置SPE的指令寄存器以指向程序的开始;启动SPE,SPE将执行该程序.在该示例spe一create一thread中,需要首先创建目录,并在该目录中创建一系列文件,然后通过将程序的内容写入到文件/spu/spe-xxx/mem中而将程序映像加载到该SPE的本地存储器中,设置该SPE的指令寄存器以指向程序映像的开始,并启动该SPE,使其执行该程序映像。显然,该spe一create一thread是一个代价高昂的调用,PPE将花费大量时间来设置程序的执行环境。而另一方面,SPE仅具有256KB的本地存储器,因此程序映像的大小不能超过256KB。开发人员必须注意该大小限制。为此,开发人员应当将大的程序划分为单独的片段;每个片段是一个独立的SPE映《象。当完成一个SPE映像的执行后,SPE将被释放,并等待下一次被调用。然后重复执行以下过程1.PPU调用spe—create—thread来启动SPE的运行;2.SPE运行程序映像;3.当运行完毕后,释放SPE。可以想象,如果程序很大,则PPE需要频繁调用spe—createjhread。开销将非常大。显然,在本
技术领域
中存在着加速程序映像的加载和运行的需要。
发明内容根据本发明的一个方面,提供了一种用于一种用于在多处理器系统中快速加栽和运行程序映像的方法,该方法包括以下步骤在协处理器中启动一协处理程序监控器,该协处理程序监控器被配置为监听来自主处理器的通知;在主处理器中调用一运行协处理程序函数,该运行协处理程序函数被配置为通知所述协处理程序监控器运行作为程序映像的一部分的、且被传送到协处理器的本地存储器的协处理程序映象;以及所述协处理程序监控器接收到所述通知后,运行所述协处理程序映象。^L据本发明的另一个方面,提供了一种用于在多处理器系统中快速加载和运行程序映像的系统,该系统包括在主处理器中运行的主程序模块,其被配置为在协处理器中启动一协处理程序监控器;在协处理器中运行的协处理程序监控器,其被配置为监听来自主处理器的通知;所述主程序模块还被配置调用一运行协处理程序函数,该运行协处理程序函数被配置为通知所述协处理程序监控器运行作为程序映像的一部分的、^L传送到协处理器的本地存储器的协处理程序映象;以及所述协处理程序监控器还被配置为接收到所述通知后,运行所述协处理程序映象。所附权利要求中阐述了被认为是本发明的特点的新颖特征。但是,通过在结合附图阅读时参照下面对说明性实施例的详细说明将最好地理解发明本身以及其优选使用模式、另外的目标、特征以及优点,在附图中图l为Cell宽带引擎的结构框图2为PPE的结构才匡图3为SPE的结构框图4示出了根据本发明的实施例的用于在CELLSPE中快速加栽和运行程序映像的方法;以及图5示出了根据本发明的实施例的用于在CELLSPE中快速加栽和运行程序映像的系统。具体实施例方式下面参照附图描述本发明的实施例。然而,应当理解的是,本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和元素的任意组合来实施和实践本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。在此说明书内对特征、优点或类似语言的提及并不是暗示可使用本发明实现的所有或某些特征和优点在本发明的任何单个实施例内。相反,涉及特征和优点的语言应被理解为仅意谓着与实施例相联系地描述的特定特征、优点和特性被包含在本发明的至少一个实施例内。此外,本领域的技术人员可理解,以下描述中的才莫块、函数、^It等的名称仅是为叙述方便,而不是对本发明的限制。本发明的基本思想是对于一个大的程序将在SPE上创建线程的函数例如spe一createj:hread的调用次数减少为一次来减少该调用的开销,以<更提高性能。下面以包括针对CdlBE的64位PowerPCLinux⑧操作系统和标准的Lhmx工具集(带有支持Cell宽带引擎的Linux扩展)以及Cdl宽带引擎软件开发工具包(SDK)的开发和运行环境为例描述本发明。显然,该开发和运行环境仅为示例,本领域的技术人员可根据以下描述将本发明应用在针对Cell宽带引擎体系结构的任何其他开发和运行环境中。图4示出了根据本发明的实施例的用于在CELLSPE中快速加载和运M序映像的方法。如图所示,该方法包括以下步骤。在主程序开始在PPE中运行之后,在步骤401,在SPE中启动一称为SPE程序监控器的特殊的SPE程序。可使用spe—create—thread函数调用来加载和运行该SPE程序监控器。spe_create_thread函数调用将把SPE程序监控器的程序映^^主存储器加栽到SPE的本*储器,设置SPE环境,启动该SPE程序监控器,并返回指向该SPU的新线程ID的指针。所述SPE程序监控器在运行中将持续监听来自PPE的任何通知,以获知PPE是否需要SPE运行一SPE程序。SPE程序监控器可通过读取该SPE上的邮箱或信号通知寄存器来监听来自PPE的通知。在本发明的一实施例中,该SPE程序监控器仅占用400字节的存储空间。在步骤402,在PPE中调用一运行SPE程序函数,该运行SPE程序函数例如为PPE端库函数run_spejplugin。该函数将把需要运行的SPE程序映像从持久存储器加载到主存储器,并通过DMA将该SPE程序映像从主存储器传送到SPE的4^存储器,然后通知SPE程序监控器运行该SPE程序映像。或者,该SPE程序映像已在主程序开始运行时与主程序映像一起被从持久存储器加栽到主存储器中,这样,所述运行SPE程序函数仅需要通过DMA将该SPE程序映像从主存储器传送到SPE的本地存储器,并通知SPE程序监控器运行该SPE映像。作为另一种选择,所^行SPE程序函数也可以不负责通过DMA把SPE程序映像从主存储器传送到SPE的本地存储器,而是通知SPE程序监控器通过DMA把SPE程序映像从主存储器传送到SPE的本M储器,并运行该SPE程序映像。所述运行SPE程序函数可通过在所述SPE的邮箱中写入消息来通知SPE程序监控器运行所述SPE程序映像,这样所述SPE程序监控器可通过在所述邮箱中读取所述消息来接收到通知。作为另一种选择,运行SPE程序函数也可通过向SPE程序监控器发送信号通知来通知其运行所述SPE程序映像,这样SPE程序监控器可通过接收所述信号通知而获得所述通知。在所述消息或信号通知中可包含该SPE程序映〗象的起始执行地址。在步骤403,所述SPE程序监控器接收到所述通知后,运行所述SPE程序映像。在步骤404,当所述SPE程序监控器运行所述SPE程序映像完毕以后,通知PPE。SPE程序监控器可通过在该SPE的另一邮箱中写入消息来通知PPE该SPE程序已运行完毕,这样,在PPE中运行的主程序可通过读取该SPE邮箱中的消息来获知该SPE程序已运行完毕。在步骤405,当在PPE上运行的主程序接收到SPE程序已运行完毕的通知后,判断是否有需要运行的另一SPE程序映像。如果有,则再次在PPE中调用所述运行SPE程序函数,以便重复上述过程,通过DMA将该另一SPE程序映像加栽到SPE的本M储器,并由所述SPE程序监控器运行该另一SPE程序映《象。以上过程可继续执行下去,直到所有需要运行的SPE程序都已运行完毕。这样,当PPE上的主程序判断已没有需要运行的SPE程序后,在步骤406,它可通过在所述SPE的邮箱中写入消息或通过信号通知的方式通知所述SPE程序监控器退出运行。并且,在步骤407,SPE程序监控器在接收到所述通知后,可退出运行。然后,在PPE上运行的主程序可继续运行,直到结束。以上描述了根据本发明的实施例的用于在CELLSPE中快速加栽和运行程序映像的方法的各步骤,应注意的是,所描述的各步骤仅为示例,而不是对本发明的方法的限制。本发明的方法可具有更多、更不或不同的步下面给出以上过程所涉及到的函数或步骤的伪码示例。应注意的是,这些伪码示例仅例示了本发明的示例实施方式,而不是对本发明的限制。上述启动SPE程序监控器的步骤的伪码示例为intstart_pluginlistener(spe_program—handlehandle)调用callspe_create_thread以运行由handle标识的一特殊的SPE程序pluginlistener;返回表示执行该pluginjistener程序的SPE的标识符.上述运行SPE程序函数的伪码示例为intrun_plugin(intid,spe_program—handleplugin)〃id指定SPE从指定的SPE的邮箱读取消息,直到该消息为IDLE一MESSAGE;使用DMA将程序内容^tASPE的本M储器;获得程序的起始地址,填充EXECUTE—MESSAGE;将EXECUTE—MESSAGE写入SPE的邮箱.上述通知SPE程序监控器退出运行的步骤的伪码示例为intstop_pluginlistener(intid)将EXIT—MESSAGE写入SPE的邮箱上述在SPE端(协处理器)执行的SPE程序监控器plugin—listener的伪码示例为intmaiiiOloop:从邮箱读取消息;if消息是EXIT—MESSAGEexitelseif消息是EXECUTE—MESSAGE获得程序的起始地址;使用间接调用指令开始M始处执^^序;将IDLE_MESSAGE写入邮箱,i!4明SPE已执行完毕该程序;gotoloopPPE和SPE—次可以向邮箱写一个32位的整数,可指定以下三种消息左边的方框表示高16位,右边的方框表示低16位。EXIT_MESSAGE和IDLE—MESSAGE的高16位都为0。EXECUTE—MESSAGE的高16位表示程序的起始执行地址。<table>tableseeoriginaldocumentpage13</column></row><table>下面参照图5描述根据本发明的实施例的用于在CELLSPE中快速加栽和运行程序映像的系统。如图所示,该系统包括在PPE中运行的主程序模块501以及在SPE中运行的SPE程序监控器502。其中,所述主程序模块501被配置为在SPE中启动所述SPE程序监控器502。例如,所述主程序模块501可通过调用一staitj)luginjistener函数来启动所述SPE程序监控器502。所述start_plugin_listener函数调用spe—create_thread函数,并返回代表运行该SPE程序监控器502的SPE的标识。所述spe_create_thread函数i殳置SPE的环境,启动一新的线程来运行该SPE程序监控器502,并返回指向该SPE的线程ID的指针。所述SPE程序监控器502被配置为监听来自PPE的通知。例如,所述SPE程序监控器502可通过读取SPE的信邮箱或信号通知寄存器来获得通知。所迷主程序模块501还被配置调用一运行SPE程序函数例如run_spe_pluggm,该运行SPE程序函数被配置为通知所述SPE程序监控器502运行作为程序映像的一部分的、且已通过DMA被传送到SPE的本地存储器的SPE程序映4象。并且,所述SPE程序监控器502还纟皮配置为接收到所述通知后,运行所述SPE程序映像。所述运行SPE程序函数还可以被配置为将SPE程序映M持久存储器加栽到主存储器。当然,也可由主程序模块501在主程序开始执行时,将主程序的映像连同SPE程序映像一起从持久存储器加载到主存储器中。在本发明的一个实施例中,所述运行SPE程序函数被配置为通过DMA将所述SPE程序映像传送到所述SPE的本地存储器,并通知所述SPE程序监控器502运行该SPE程序映像。并且所述SPE程序监控器502被配置为接收到来自运行SPE程序函数501的通知后,运行该SPE程序映像。在本发明的另一个实施例中,该运行SPE程序函数仅通知所述SPE程序监控器502加栽并运行SPE程序映像。并且所述SPE程序监控器502被配置为在接收到来自所述运行SPE程序函数的通知后,通过DMA将所述SPE程序映像传送到所述SPE的本地存储器,并接着执行该SPE程序映像。所述运行SPE程序函数可被配置为通过在SPE的邮箱中写入消息来通知所述SPE程序监控器502运行SPE程序映像,且可在该消息中嵌入执行该SPE程序映像的起始地址。而所述SPE程序监控器502可通过读取所述邮箱中的消息来获得通知。作为另一种选择,所述运行SPE程序函数也可被配置为通过在SPE的信号通知寄存器中写入消息来通知所述SPE程序监控器502运行SPE程序映像,且所述SPE程序监控器502可通过读取该信号通知寄存器中的消息来获得通知。所述SPE程序监控器502还被配置为当运行所述SPE程序映像完毕以后,通知所述主程序模块501。所述SPE程序监控器502可通it^SPE的另一邮箱中写入另一消息来通知所述主程序模块。并且,所述主程序模块501还被配置为当其例如通过读取所述邮箱中的消息接收到所述通知后,判断是否有需要运行的另一SPE程序映像;如果该判断为是,则再次在PPE中调用所述运行SPE程序函数,以便通知所述SPE程序监控器502运行已通过DMA传送到所述SPE的本地存储器的另一SPE程序映像。此外,所述SPE程序监控器502还被配置为当接收到所述通知后,运行该另一SPE程序映像。所述主程序模块501还被配置为在已运行完所有SPE程序之后在PPE中通知所述SPE程序监控器502退出运行;并且所述SPE程序监控器还被配置为接收到所述退出运行的通知后,退出运行,从而在PPE中释放所述SPE。所述主程序模块501可通过在邮箱中写入另一消息来通知所述SPE程序监控器502退出运行,且所述SPE程序监控器502可通过读取所述邮箱中的消息来获得退出运行的通知。所述主程序模块501也可通过在信号通知寄存器中写入另一消息来通知所述SPE程序监控器502退出运行,且所述SPE程序监控器502可通过读取所述信号通知寄存器中的所述消息来获得退出运行的通知。以上描述了根据本发明的实施例的用于在CELLSPE中快速加栽和运行程序映像的系统,应注意的是,所描述的该系统仅为示例,而不是对本发明的限制。本发明的系统可具有更多、更少或不同的模块,且各模块之间的包含关系和连接关系可以不同。此外,各模块的名称仅是为了叙述的方便,而不是暗示着本发明的任何限制。例如,所述主程序模块501的上述功能也可以由一控制模块来完成,且该控制模块可包含用于在一SPE中启动所述SPE程序监控器的模块、用于在SPE中运行SPE程序的模块、用于使所述SPE程序监控器退出运行的模块,等等。所述这些变化均处于本发明的精神和范围之内。与使用SPE运行时管理库相比,使用本发明的方法所获得的性能提高正比于所述运行SPE程序函数的调用次数。一项测试表明,调用run_spe_plugin4000次的开销相当于调用spe—create—thread100次的开销。下表列出了测试结果。对于同一个程序,假i殳其应被加载到SPE中1000次;M:行。<table>tableseeoriginaldocumentpage16</column></row><table>应指出的是,尽管以上参照Cell宽带引擎体系结构描述了本发明,但本发明并非局限于Cell宽带引擎体系结构,而是可应用于其他多处理器体系结构,例如所谓的非一致存储器体系结构(NUMA)。因此,本发明还提供了一种用于在多处理器系统中快速加栽和运刊艰序映像的方法,该包括以下步骤在协处理器中启动一协处理程序监控器,该协处理程序监控器被配置为监听来自主处理器的通知;在主处理器中调用一运行协处理程序函数,该运行协处理程序函数被配置为通知所述协处理程序监控器运行作为程序映像的一部分的、且被传送到协处理器的本地存储器的协处理程序映象;以及所述协处理程序监控器接收到所述通知后,运行所述协处理程序映象。此外,本发明还提供了一种用于在多处理器系统中快速加栽和运行程序映像的系统,该系统包括在主处理器中运行的主程序模块,其被配置为在协处理器中启动一协处理程序监控器;在协处理器中运行的协处理程序监控器,其被配置为监听来自主处理器的通知;所述主程序模块还被配置调用一运行协处理程序函数,该运行协处理程序函数被配置为通知所述协处理程序监控器运行作为程序映像的一部分的、且已被传送到协处理器的本地存储器的协处理程序映象;以及所述协处理程序监控器还被配置为接收到所述通知后,运行所述协处理程序映象。本发明可以用软件、固件、硬件或者其结合实现。软件与硬件的典型结合可以为具有计算;l^序的计算机系统,该程序在被装栽和执行时对计算机系统进行控制,使得该计算机系统执行这里所介绍的方法,并形成构成本发明的系统的各功能模块。本发明还可嵌入在计算机程序产品中,该产品包括使这里介绍的方法得以实现的所有特征,且当该产品在g栽在计算机系统上时能够执行这些方法。尽管已参照优选实施例具体示出和说明了本发明,但是本领域内的那些技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发明的精神和范围。权利要求1.一种用于在多处理器系统中快速加载和运行程序映像的方法,包括以下步骤在协处理器中启动一协处理程序监控器,该协处理程序监控器被配置为监听来自主处理器的通知;在主处理器中调用一运行协处理程序函数,该运行协处理程序函数被配置为通知所述协处理程序监控器运行作为程序映像的一部分的、且被传送到协处理器的本地存储器的协处理程序映象;以及响应于所述通知,所述协处理程序监控器运行所述协处理程序映象。2.根据权利要求l的方法,其中,所述多处理器系统为CELL宽带引擎,所述主处理器为CellPPE,所述协处理器为CellSPE,所述协处理程序监控器为SPE程序监控器,所述运行协处理程序函数为运行SPE程序函数,所述协处理程序映象为SPE程序映像,且所述SPE程序映像是通过DMA被传送到所述SPE的本地存储器的。3.根据权利要求2的方法,其中所述SPE程序映像是由所述运行SPE程序函数通过DMA传送到所述SPE的本地存储器的.4.根据权利要求2的方法,其中所述SPE程序映像是由所述SPE程序监控器在接收到来自所述运行SPE程序函数的通知后,通过DMA传送到所述SPE的本地存储器的。5.根据权利要求2的方法,还包括以下步骤当所述SPE程序监控器运行所述SPE程序映像完毕以后,通知所述PPE;以及当所述PPE接收到所述通知后,判断是否有需要运行的另一SPE程序映Y象;如果该判断为是,则再次在PPE中调用所述运行SPE程序函数,以便通知所述SPE程序监控器运行该另一SPE程序映像;以及所迷SPE程序监控器接收到所述通知后,运行该另一SPE程序映像。6.根据权利要求2的方法,还包括以下步骤在PPE中通知所述SPE程序监控器退出运行;所述SPE程序监控器接收到所述退出运行的通知后,退出运行,并释放SPE资源。7.根据权利要求2的方法,其中所述通知SPE程序监控器运行所述SPE程序映像是通过在所述SPE的邮箱中写入消息进行的,且所述SPE程序监控器接收到所述通知是通过在所述邮箱中读取所述消息进行的。8.根据权利要求2的方法,其中所述通知所述SPE程序监控器运行所述SPE程序映像是通过向所述SPE发送信号通知进行的,且所述SPE程序监控器接收到所述通知是通过接收所述信号通知进行的。9.根据权利要求5的方法,其中所迷当SPE程序监控器运行所述SPE程序完成以后通知所述PPE是通过在所述SPE的邮箱中写入消息完成的,且所述PPE接收到所述通知是通过在所述SPE中的邮箱中读取所述消息完成的.10.—种用于在多处理器系统中快速加载和运行程序映像的系统,包括在主处理器中运行的主程序模块,其被配置为在协处理器中启动一协处理程序监控器;在协处理器中运行的协处理程序监控器,其被配置为监听来自主处理器的通知;所述主程序模块还被配置调用一运行协处理程序函数,该运行协处理程序函数被配置为通知所述协处理程序监控器运行作为程序映像的一部分的、被传送到协处理器的本地存储器的协处理程序映象;以及所述协处理程序监控器还被配置为响应于所述通知,运行所述协处理程序映象。11.根据权利要求10的系统,其中所述多处理器系统为CELL宽带引擎,所述主处理器为CellPPE,所述协处理器为CellSPE,所述协处理程序监控器为SPE程序监控器,所述运行协处理程序函数为运行SPE程序函数,所述协处理程序映象为SPE程序映像,且所述SPE程序映像是通过DMA被传送到所述SPE的本地存储器的。12.根据权利要求11的系统,其中所述运行SPE程序函数还被配置为通过DMA将所述SPE程序映像传送到所述SPE的本地存储器。13.根据权利要求11的系统,其中所述SPE程序监控器还被配置为在接收到来自所述运行SPE程序函数的通知后,通过DMA将所述SPE程序映像传送到所述SPE的本地存储器。14.根据权利要求11的系统,其中,所述SPE程序监控器还被配置为当运行所述SPE程序映像完成以后,通知所述主程序模块;以及所述主程序模块还被配置为当其接收到所述通知后,判断是否有需要运行的另一SPE程序映像;如果该判断为是,则再次在PPE中调用所迷运行SPE程序函数,以便通知所述SPE程序监控器运行该另一SPE程序映像;以及所述SPE程序监控器还被配置为当接收到所述通知后,运行该另一SPE程序映像。15.根据权利要求11的系统,其中,所述主程序模块还被配置为在PPE中通知所述SPE程序监控器退出运行;以及所述SPE程序监控器还被配置为接收到所述退出运行的通知后,退出运行。16.根据权利要求11的系统,其中所述运行SPE程序函数被配置为通过在所述SPE的邮箱中写入消息来通知所述SPE程序监控器运行所述SPE程序映像,且所述运行SPE程序监控器被配置为通过在所述邮箱中读取所述消息而接收到所述通知。17.根据权利要求11的系统,其中所述运行SPE程序函数被配置为通过向所述SPE发送信号通知来通知所述SPE程序监控器运行所述SPE程序映像,且所述SPE程序监控器通过接收所述信号通知而接收到所述通知。18.根据权利要求14的系统,其中所述SPE程序监控器被配置为当其运行所述SPE程序映像完毕以后通过在所述SPE的邮箱中写入消息来通知所述PPE上的主程序模块,且所述PPE上的主程序模块通过在所述SPE中的邮箱中读取所述消息来获得所述通知。全文摘要本发明提供了一种用于在多处理器系统中快速加载和运行程序映像的方法和系统,所述方法包括以下步骤在协处理器中启动一协处理程序监控器,该协处理程序监控器被配置为监听来自主处理器的通知;在主处理器中调用一运行协处理程序函数,该运行协处理程序函数被配置为通知所述协处理程序监控器运行作为程序映像的一部分的、且被传送到协处理器的本地存储器的协处理程序映象;以及所述协处理程序监控器接收到所述通知后,运行所述协处理程序映象。文档编号G06F9/445GK101373434SQ200710146588公开日2009年2月25日申请日期2007年8月22日优先权日2007年8月22日发明者媛李,汪文俊,剑陈,黄秀华申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1