Prefetching of discontiguous storage locations in anticipation of transactional execution
First Claim
Patent Images
1. A computer implemented method for prefetching data at discontiguous storage locations, the method comprising:
- executing a prefetch instruction, the prefetch instruction specifying a list having a plurality of entries, each entry specifying a storage address of a block of data and corresponding metadata, the metadata indicating any one of usage of the block of data and information about the list, the executing comprising;
a) obtaining, by a computer system, a plurality of addresses from the plurality of entries of the lists specified by the prefetch instruction; and
b) initiating prefetching to cache lines of a cache the blocks of data corresponding to the obtained plurality of addresses.
1 Assignment
0 Petitions
Accused Products
Abstract
Discontiguous storage locations are prefetched by a prefetch instruction. Addresses of the discontiguous storage locations are provided by a list directly or indirectly specified by a parameter of the prefetch instruction, along with metadata and information about the list entries. Fetching of corresponding data blocks to cache lines is initiated. A processor may enter transactional execution mode and memory instructions of a program may be executed using the prefetched data blocks.
49 Citations
20 Claims
-
1. A computer implemented method for prefetching data at discontiguous storage locations, the method comprising:
executing a prefetch instruction, the prefetch instruction specifying a list having a plurality of entries, each entry specifying a storage address of a block of data and corresponding metadata, the metadata indicating any one of usage of the block of data and information about the list, the executing comprising; a) obtaining, by a computer system, a plurality of addresses from the plurality of entries of the lists specified by the prefetch instruction; and b) initiating prefetching to cache lines of a cache the blocks of data corresponding to the obtained plurality of addresses. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer system for prefetching data at discontiguous storage locations, the computer system comprising:
-
a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, the method comprising; executing a prefetch instruction, the prefetch instruction specifying a list having a plurality of entries, each entry specifying a storage address of a block of data and corresponding metadata, the metadata indicating any one of usage of the block of data and information about the list, the executing comprising; a) obtaining, by a computer system, a plurality of addresses from the plurality of entries of the lists specified by the prefetch instruction; and b) initiating prefetching to cache lines of a cache, the blocks of data corresponding to the obtained plurality of addresses. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for prefetching data at discontiguous storage locations, the computer program product comprising:
- a computer readable storage medium readable by a processor and storing instructions for execution by the processor for performing a method, the method comprising;
executing a prefetch instruction, by the processor, the prefetch instruction specifying a list having a plurality of entries, each entry specifying a storage address of a block of data and corresponding metadata, the metadata indicating any one of usage of the block of data and information about the list, the executing comprising; a) obtaining, by the processor, a plurality of addresses from the plurality of entries of the lists specified by the prefetch instruction; and b) initiating, by the processor, prefetching to cache lines of a cache the blocks of data corresponding to the obtained plurality of addresses. - View Dependent Claims (17, 18, 19, 20)
- a computer readable storage medium readable by a processor and storing instructions for execution by the processor for performing a method, the method comprising;
Specification