Storage Unsharing
First Claim
Patent Images
1. A method to extract a hierarchy of memories from a software program, the method comprising:
- Performing compiler dependence analysis over the memory instructions in the program;
Finding the smallest groups of memory instructions, where the groups are not dependent on each other. Assigning each such group to a separate new memory, which is accessed using the original memory addresses of the program;
Modifying the memory instructions of each group to make them access the new memory the group was assigned to; and
At run time, initializing each new memory from the original memory at the entries of the program. Storing the changes made in each new memory back to the original memory at the exits of the program.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is described to partition the memory of application-specific hardware compiled from a software program. Applying the invention generates multiple small memories that need not be kept coherent and are defined over a specific region of the program. The invention creates application specific hardware which preserves the memory image and addressing model of the original software program. The memories are dynamically initialized and flushed at the entries and exits of the program region they are defined in.
87 Citations
23 Claims
-
1. A method to extract a hierarchy of memories from a software program, the method comprising:
-
Performing compiler dependence analysis over the memory instructions in the program; Finding the smallest groups of memory instructions, where the groups are not dependent on each other. Assigning each such group to a separate new memory, which is accessed using the original memory addresses of the program; Modifying the memory instructions of each group to make them access the new memory the group was assigned to; and At run time, initializing each new memory from the original memory at the entries of the program. Storing the changes made in each new memory back to the original memory at the exits of the program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification