Back to results
US 9,311,085 B2Granted
Compiler assisted low power and high performance load handling based on load types
AssigneeIntel Corporation
InventorsTingting Sha, Chris Wilkerson, Herbert Hum, Alaa R. Alameldeen
Life of this patent
Estimating the term…
Abstract
A method and apparatus for handling low power and high performance loads is herein described. Software, such as a compiler, is utilized to identify producer loads, consumer reuse loads, and consumer forwarded loads. Based on the identification by software, hardware is able to direct performance of the load directly to a load value buffer, a store buffer, or a data cache. As a result, accesses to cache are reduced, through direct loading from load and store buffers, without sacrificing load performance.
Claims7
A processor comprising:
- a cache memory to store data;
- a retirement unit to retire instructions, the retirement unit including:
- a load value buffer to store data loaded from the cache memory;
- a store buffer to store data of in-flight store operations;
- hardware decode logic to decode a portion of a load operation and receive and provide a second portion of the load operation to a selection logic;
- and
- the selection logic coupled to the hardware decode logic to receive the second portion of the load operation, determine which of the load value buffer, the store buffer and the cache memory from which to perform the load operation based on the second portion of the load operation, and direct performance of the load operation to load data from:
- the load value buffer in response to a first value of the second portion of the load operation;
- the store buffer in response to a second value of the second portion of the load operation, and
- the cache memory in response to a third value of the second portion of the load operation.
7 more elements
A method comprising:
- determining, in a selection logic of a processor, if a load operation referencing an address is a consumer forwarded load based on a load type value, held in a load type field of the load operation, having a second value, the selection logic receiving the load type value from a decoder that decodes a portion of the load operation and receives the load type field;
- directing the load operation, via the selection logic, to a store buffer without searching any other memory structure in parallel with the store buffer in response to determining the load operation is a consumer forwarded load, the store buffer including a store buffer entry holding data associated with the address;
- determining, in the selection logic, if the load operation referencing the address is a consumer reuse load based on the load type value, held in the load type field of the load operation, having a first value;
- and
- directing, via the selection logic, the load operation to a load value buffer without searching any other memory structure in parallel with the load value buffer in response to determining the load operation is a consumer reuse load, the load value buffer including a load value buffer entry holding data associated with the address, wherein the load value buffer entry including the data was loaded responsive to a previous load operation referencing a different address present in a cache line including the data of the load value buffer entry.
2 more elements
Dependencies are inferred from the claim text.