Claims
- 1. A method for reducing computer cache conflict misses, comprising the operations of:
determining a cache size of a computer cache memory; placing a first data block within a main computer memory, wherein the first data block includes a first sub-block that will be frequently referenced, and wherein the first sub-block ends at a first ending address; and placing a second data block within the main computer memory, the second data block including a second sub-block that will be frequently referenced, wherein the second data block is placed such that the second sub-block will be contiguous with the first sub-block in the computer cache memory during execution.
- 2. A method as recited in claim 1, wherein the first data block is not split in the main computer memory, and wherein the second data block is not split in the main computer memory.
- 3. A method as recited in claim 2, wherein the second data block is placed in the main memory such that the second sub-block is located at a main memory address that is a multiple of the cache size from the first ending address.
- 4. A method as recited in claim 3, further comprising the operation of placing a third data block within the main computer memory, the third data block including a third sub-block that will be frequently referenced, wherein the third data block is placed such that the third sub-block will be contiguous with the first sub-block and the second sub-block in the computer cache memory during execution.
- 5. A method as recited in claim 4, wherein the third data block is placed such that the third sub-block is located at a main memory address that is a multiple of the cache size from an ending address of the second sub-block.
- 6. A method as recited in claim 5, wherein the first data block, the second data block, and the third data block each is a data object.
- 7. A method as recited in claim 5, wherein the first data block, the second data block, and the third data block each is a function.
- 8. A computer program embodied on a computer readable medium for reducing computer cache conflict misses, comprising:
a code segment that places a first data block within a main computer memory, wherein the first data block includes a first sub-block that will be frequently referenced, and wherein the first sub-block ends at a first ending address; and a code segment that places a second data block within the main computer memory, the second data block including a second sub-block that will be frequently referenced, wherein the second data block is placed such that the second sub-block is located at a main memory address that is a multiple of a cache size of computer cache from the first ending address.
- 9. A computer program as recited in claim 8, further comprising a code segment that determines which sub-blocks of a data block will be frequently accessed.
- 10. A computer program as recited in claim 8, further comprising a code segment that determines the cache size.
- 11. A computer program as recited in claim 8, wherein the first data block is not split in main memory, and wherein the second data block is not split in main memory.
- 12. A computer program as recited in claim 8, further comprising a code segment that places a third data block within the main computer memory, the third data block including a third sub-block that will be frequently referenced, wherein the third data block is placed such that the third sub-block will be contiguous with the first sub-block and the second sub-block in the computer cache memory during execution.
- 13. A computer program as recited in claim 12, wherein the third data block is placed such that the third sub-block is located at a main memory address that is a multiple of the cache size from an ending address of the second sub-block.
- 14. A computer program as recited in claim 13, wherein the first data block, the second data block, and the third data block each is a data object.
- 15. A computer program as recited in claim 13,wherein the first data block, the second data block, and the third data block each is a function.
- 16. A method for reducing computer cache conflict misses, comprising the operations of:
determining a cache size of a computer cache memory; placing a first data block within a main computer memory, wherein the first data block includes a first sub-block that will be frequently referenced, and wherein the first sub-block ends at a first ending address; and placing a second data block within the main computer memory, the second data block including a second sub-block that will be frequently referenced, wherein the second data block is placed such that the second sub-block is located at a main memory address that is a multiple of the cache size from the first ending address.
- 17. A method as recited in claim 16, wherein each data block is a data object, and wherein each sub-block is a field.
- 18. A method as recited in claim 17, further comprising the operation of placing a third data object within the main computer memory, the third data object including a third field that will be frequently referenced, wherein the third data object is placed such that the third field is located at a main memory address that is a multiple of the cache size from the first ending address.
- 19. A method as recited in claim 16, wherein each data block is a function, and wherein each sub-block is a basic block.
- 20. A method as recited in claim 19, further comprising the operation of placing a third function within the main computer memory, the third function including a third basic block that will be frequently referenced, wherein the third function is placed such that the third basic block is located at an main memory address that is a multiple of the cache size from the first ending address.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application having serial No. 60/343,057, filed on Dec. 20, 2001, and entitled “Method for Reducing Cache Conflict Misses,” which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60343057 |
Dec 2001 |
US |