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, 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 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.
-
Citations
6 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, 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 addresses. - View Dependent Claims (2, 3, 4, 5, 6)
Specification