Abstract:
PROBLEM TO BE SOLVED: To provide a method and system for memory address conversion and pinning. SOLUTION: The method includes attaching a memory address space identifier to a direct memory access (DMA) request, the DMA request is sent by a consumer and using a virtual address in a given address space. The method further includes looking up for the memory address space identifier to find a translation of the virtual address in the given address space used in the DMA request to a physical page frame. Provided that the physical page frame is found, pinning the physical page frame as long as the DMA request is in progress to prevent an unmapping operation of the virtual address in the given address space, and completing the DMA request, wherein the steps of attaching, looking up and pinning are centrally controlled by a host gateway. COPYRIGHT: (C)2008,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a system and a method for loading software on a plurality of processors. SOLUTION: A processing unit (PU) retrieves a file from a system memory and loads the file on the internal memory of the processing unit. The PU extracts a processor type from the header of the file. It is distinguished whether the file should be executed in, the PU or a synergistic processing unit (SPU) depending on its processor type. When the file should be executed in the SPU, the PU DMA (Direct Memory Access)-transfers the file to the SPU for execution. In one embodiment, the file is a combined file including both of a PU code and an SPU code. In the embodiment, the PU identifies one section header or a plurality of section headers included in the file. The section header(s) indicates the SPU code incorporated into the combined file. In the embodiment, the PU extracts the SPU code from the combined file and DMA-transfers the extracted code to the SPU for execution. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
The present invention is a method for integrating multiple object codes from heterogeneous architectures. For a program on a first processor to reference a program from the name space of a second processor, the object code for the second-processor program is enclosed in a wrapper to create object code in the first-processor name space. The header of the wrapped object code defines a new symbol in the name space of the first processor, and the symbol points to the second-processor object code contained in the wrapped object code. Instead of directly referencing the second-processor object code, the referencing program on the first processor references the wrapped object code. A system tool can be used to wrap the object code which runs on the second processor.
Abstract:
A system and method for virtualization of processor resources is presented. A thread is created on a processor and the processor's local memory is mapped into an effective address space. In doing so, the processor's local memory is accessible by other processors, regardless of whether the processor is running. Additional threads create additional local memory mappings into the effective address space. The effective address space corresponds to either a physical local memory or a "soft" copy area. When the processor is running, a different processor may access data that is located in the first processor's local memory from the processor's local storage area. When the processor is not running, a softcopy of the processor's local memory is stored in a memory location (i.e. locked cache memory, pinned system memory, virtual memory, etc.) for other processors to continue accessing.
Abstract:
Se presentan un sistema y un metodo para la virtualizacion de recursos de procesador. Se crea una linea sobre un procesador y la memoria local del procesador se trazo en un espacio de direccion efectivo. Al hacer esto asi. La memoria local del procesador es accesible por otros procesadores, sin importar si el procesador esta funcionando. Las lineas adicionales crean trazos de mapas de memorias locales adicionales en el espacio de direccion efectiva. Los espacios de direccion efectiva corresponden a una memoria local fisica o un area de copia "flexible". Cuando el procesador este funcionando, un procesador diferente puede tener acceso a los datos que se localizan en la memoria local del primer procesador desde el area de almacenamiento local de procesador. Cuando el procesador no esta funcionando, se almacena una copia flexible de la memoria local del procesador en lugar de la memoria (es decir, antememoria bloqueada, memoria fija del sistema, memoria virtual, etc.) para que otros procesadores continuen teniendo acceso.
Abstract:
In a system and method for virtualization of processor resources, a thread is created on a processor and the processor's local memory is mapped into an effective address space. In doing so, the processor's local memory is accessible by other processors, regardless of whether the processor is running. Additional threads create additional local memory mappings into the effective address space. The effective address space corresponds to either a physical local memory or a "soft" copy area. When the processor is running, a different processor may access data that is located in the first processor's local memory from the processor's local storage area. When the processor is not running, a softcopy of the processor's local memory is stored in a memory location (i.e. locked cache memory, pinned system memory, virtual memory, etc.) for other processors to continue accessing.
Abstract:
A system and method for virtualization of processor resources is presented. A thread is created on a processor and the processor's local memory is mapped into an effective address space. In doing so, the processor's local memory is accessible by other processors, regardless of whether the processor is running. Additional threads create additional local memory mappings into the effective address space. The effective address space corresponds to either a physical local memory or a "soft" copy area. When the processor is running, a different processor may access data that is located in the first processor's local memory from the processor's local storage area. When the processor is not running, a softcopy of the processor's local memory is stored in a memory location (i.e. locked cache memory, pinned system memory, virtual memory, etc.) for other processors to continue accessing.