Method and apparatus for overlay management within an integrated executable for a heterogeneous architecture
First Claim
1. A method for creating and employing overlays to operate in a heterogeneous Instruction Set Architecture, comprising:
- separating information into at least two partitioned sections and at least one unpartitioned section;
targeting the at least one unpartitioned section to a first execution environment;
targeting a plurality of partitions to a second execution environment;
generating at least two overlay sections from at least one partition section;
binding the plurality of partition sections to each other;
creating a root module, associated with both the pre-bound plurality of partitions and the overlay sections, employable to exchange the at least two overlay sections between the first and second execution environments;
binding the pre-bound plurality of partition sections to the at least one unpartitioned section; and
creating an integrated executable.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides for creating and employing code and data partitions in a heterogeneous environment. This is achieved by separating source code and data into at least two partitioned sections and at least one unpartitioned section. Generally, a partitioned section is targeted for execution on an independent memory device, such as an attached processor unit. Then, at least two overlay sections are generated from at least one partition section. The plurality of partition sections are pre-bound to each other. A root module is also created, associated with both the pre-bound plurality of partitions and the overlay sections. The root module is employable to exchange the at least two overlay sections between the first and second execution environments. The pre-bound plurality of partition sections are then bound to the at least one unpartitioned section. The binding produces an integrated executable.
-
Citations
36 Claims
-
1. A method for creating and employing overlays to operate in a heterogeneous Instruction Set Architecture, comprising:
-
separating information into at least two partitioned sections and at least one unpartitioned section;
targeting the at least one unpartitioned section to a first execution environment;
targeting a plurality of partitions to a second execution environment;
generating at least two overlay sections from at least one partition section;
binding the plurality of partition sections to each other;
creating a root module, associated with both the pre-bound plurality of partitions and the overlay sections, employable to exchange the at least two overlay sections between the first and second execution environments;
binding the pre-bound plurality of partition sections to the at least one unpartitioned section; and
creating an integrated executable. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for generating and managing a root module in an attached processor unit of a heterogeneous computing environment, the method comprising:
-
creating two or more overlays from at least a part of two or more partitioned code sections;
creating the root module employable to control the execution of the two or more overlays in the attached processor unit, and the root module is further employable for execution in the attached processor unit;
identifying one or more common shared data components between the at least two or more overlays;
inserting a first set of relocation information associated with the one or more identified common shared data components into the root module, whereby the root module is employable to effect information transmissions between a system memory and the attached processor unit; and
inserting a second set of relocation information associated with the one or more identified common shared data components into the root module, whereby the root module is employable to identify and adjust the memory boundaries of the two or more overlays. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A method for employing overlay management in a heterogeneous computing system, the method comprising:
-
transferring code from a first execution environment to a second execution environment;
transferring shared data from the first execution environment to the second execution environment;
processing the shared data in the second execution environment;
overlaying the code in the second execution environment with other code from the first execution environment, but not overlaying the shared data with other data from the first execution environment; and
processing the shared data in the second execution environment through employment of the overlaid new code. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34)
-
-
33. A system having an overlay root module in a heterogeneous computing environment, the system comprising:
-
a plurality of overlay sections;
a local store;
shared data, wherein the shared data is referenced by the plurality of overlay sections, and is stored in the local store;
at least one overlay data transmission command;
a system memory;
a memory flow controller, wherein the memory flow controller is employable to be commanded by the at least one overlay data transmission command to transfer the plurality of overlay sections between the system memory and the local store; and
the root module, wherein the overlay root module is employable to load the plurality of the overlay sections from the system memory into the local store without overwriting the shared data.
-
-
35. A computer program product for creating and employing overlays to operate in a heterogeneous Instruction Set Architecture, the computer program product having a medium with a computer program embodied thereon, the computer program comprising:
-
computer code for separating information into at least two partitioned sections and at least one unpartitioned section;
computer code for targeting the at least one unpartitioned section to a first execution environment;
computer code for targeting a plurality of partitions to a second execution environment;
computer code for generating at least two overlay sections from at least one partition section;
computer code for binding the plurality of partition sections to each other;
computer code for creating a root module, associated with both the pre-bound plurality of partitions and the overlay sections, employable to exchange the at least two overlay sections between the first and second execution environments;
computer code for binding the pre-bound plurality of partition sections to the at least one unpartitioned section; and
computer code for creating an integrated executable.
-
-
36. A processor for creating and employing overlays to operate in a heterogeneous Instruction Set Architecture, the processor including a computer program comprising:
-
computer code for separating information into at least two partitioned sections and at least one unpartitioned section;
computer code for targeting the at least one unpartitioned section to a first execution environment;
computer code for targeting a plurality of partitions to a second execution environment;
computer code for generating at least two overlay sections from at least one partition section;
computer code for binding the plurality of partition sections to each other;
computer code for creating a root module, associated with both the pre-bound plurality of partitions and the overlay sections, employable to exchange the at least two overlay sections between the first and second execution environments;
computer code for binding the pre-bound plurality of partition sections to the at least one unpartitioned section; and
computer code for creating an integrated executable.
-
Specification