Prefetch protocol for transactional memory
AssigneeInternational Business Machines Corporation
InventorsMichael Karl Gschwind, Valentina Salapura, Chung-Lung K. Shum
Life of this patent
Estimating the term…
Abstract
Enabling a prefetch request to be controlled in response to conditions in a receiver of the prefetch request and to conditions in a source of the prefetch request. One or more processors identify, based on a prefetch tag, a prefetch request that is associated with a prefetch instruction that is executed by a remote processor. The one or more processors generate the prefetch request in a remote processor according to a prefetch protocol. The prefetch request includes i) a description of at least one prefetch request operation and ii) a prefetch request information. A local processor, of the one or more processors, receives the prefetch request from the remote processor.
Claims20
A computer program product to enable a prefetch request to be controlled in response to conditions in a receiver of the prefetch request and to conditions in a source of the prefetch request, the program instructions comprising:
- one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:
- program instructions to identify, based on a prefetch tag, a prefetch request that is associated with a prefetch instruction that is executed by a remote processor;
- program instruction to determine a priority for processing the prefetch request based, at least in part, on a prefetch request information included in the prefetch request, wherein the prefetch request information indicates a priority associated with the source of the prefetch request;
- program instructions to determine whether the prefetch request conflicts with a memory access associated with an atomic transaction;
- program instructions to generate the prefetch request in a remote processor based on:
- (i) whether the prefetch request conflicts with the memory access associated with the atomic transaction, (ii) according to a prefetch protocol, wherein the prefetch request includes (a) a description of at least one prefetch request operation and (b) the prefetch request information, and (iii) a comparison of the priority for processing the prefetch request to a priority associated with the atomic transaction;
- and
- program instructions to receive, by a local processor, the prefetch request from the remote processor.
A computer system to enable a prefetch request to be controlled in response to conditions in a receiver of the prefetch request and to conditions in a source of the prefetch request, the computer system comprising:
- one or more computer processors;
- one or more computer readable storage medium;
- program instructions stored on the computer readable storage medium for execution by at least one of the one or more processors, the program instructions comprising:
- program instructions to identify, based on a prefetch tag, a prefetch request that is associated with a prefetch instruction that is executed by a remote processor;
- program instruction to determine a priority for processing the prefetch request based, at least in part, on a prefetch request information included in the prefetch request, wherein the prefetch request information indicates a priority associated with the source of the prefetch request;
- program instructions to determine whether the prefetch request conflicts with a memory access associated with an atomic transaction;
- program instructions to generate the prefetch request in a remote processor based on:
- (i) whether the prefetch request conflicts with the memory access associated with the atomic transaction, (ii) according to a prefetch protocol, wherein the prefetch request includes (a) a description of at least one prefetch request operation and (b) the prefetch request information, and (iii) a comparison of the priority for processing the prefetch request to a priority associated with the atomic transaction;
- and
- program instructions to receive, by a local processor, the prefetch request from the remote processor.
Dependencies are inferred from the claim text.