Prefetching of discontiguous storage locations as part of transactional execution
First Claim
Patent Images
1. A computer system for prefetching data at discontiguous storage locations in a transactional execution (TX) environment, 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 transaction-begin (TB) instruction for beginning execution of TX of a transaction in a transactional mode, the executing the TB instruction causing initiating prefetching of memory data based on a list having a location specified by the TB instruction, the list having one or more entries, each entry of the list specifying a storage address of the memory data, each storage address corresponding to an address in a hierarchical cache structure comprising a main memory at a highest level and a local cache at a lowest level relative to a central processing unit of the computer system,wherein the prefetching comprises;
initiating fetching, to cache lines of a cache, of the memory data corresponding to the addresses specified by the entries of the specified list.
1 Assignment
0 Petitions
Accused Products
Abstract
Transactional execution of a transaction beginning instruction initiates prefetching, by a CPU, of discontiguous storage locations specified by a list. The list includes entries specifying addresses and may also include corresponding metadata. The list may be specified by levels of indirection. Fetching of corresponding discontiguous cache lines is initiated while in TX mode. Additional instructions in the transaction may be executed and use the prefetched cache lines.
48 Citations
13 Claims
-
1. A computer system for prefetching data at discontiguous storage locations in a transactional execution (TX) environment, 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 transaction-begin (TB) instruction for beginning execution of TX of a transaction in a transactional mode, the executing the TB instruction causing initiating prefetching of memory data based on a list having a location specified by the TB instruction, the list having one or more entries, each entry of the list specifying a storage address of the memory data, each storage address corresponding to an address in a hierarchical cache structure comprising a main memory at a highest level and a local cache at a lowest level relative to a central processing unit of the computer system, wherein the prefetching comprises; initiating fetching, to cache lines of a cache, of the memory data corresponding to the addresses specified by the entries of the specified list. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product for prefetching data at discontiguous storage locations in a transactional execution (TX) environment, 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 transaction-begin (TB) instruction, by the processor, for beginning execution of TX of a transaction in a transactional mode, the executing the TB instruction causing initiating prefetching of memory data, by the processor, based on a list having a location specified by the TB instruction, the list having one or more entries, each entry of the list specifying a storage address of the memory data, each storage address corresponding to an address in a hierarchical cache structure comprising a main memory at a highest level and a local cache at a lowest level relative to a central processing unit of the computer system, wherein the prefetching comprises; initiating fetching, by the processor, to cache lines of a cache, of the memory data corresponding to the addresses specified by the entries of the specified list. - View Dependent Claims (9, 10, 11, 12, 13)
- 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