Memory performance when speculation control is enabled, and instruction therefor
US-2015378915-A1 · Dec 31, 2015 · US
US11835988B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11835988-B2 |
| Application number | US-201715828708-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 1, 2017 |
| Priority date | Dec 1, 2017 |
| Publication date | Dec 5, 2023 |
| Grant date | Dec 5, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system and method for load fusion fuses small load operations into fewer, larger load operations. The system detects that a pair of adjacent operations are consecutive load operations, where the adjacent micro-operations refers to micro-operations flowing through adjacent dispatch slots and the consecutive load micro-operations refers to both of the adjacent micro-operations being load micro-operations. The consecutive load operations are then reviewed to determine if the data sizes are the same and if the load operation addresses are consecutive. The two load operations are then fused together to form one load micro-operation with twice the data size and one load data micro-operation with no load component.
Opening claim text (preview).
What is claimed is: 1. A method for converting load micro-operations, the method comprising: converting, by conversion circuitry, two adjacent micro-operations, which are consecutive load micro-operations, each having a data size that is the same, and which access consecutive addresses, into a load micro-operation with twice the data size and a load data only micro-operation, wherein the load data only micro-operation allocates a destination physical register to which to write data loaded by the load micro-operation with twice the data size; and executing, by execution circuitry, the load micro operation with twice the data size. 2. The method of claim 1 , wherein the load data only micro-operation suppresses use of load queue entries and address generation scheduler queue entries. 3. The method of claim 1 , further comprising: reviewing an addressing mode of each the two adjacent micro-operations. 4. The method of claim 1 , wherein of the two adjacent micro-operations, a micro-operation having a lower address is converted to the load micro-operation with twice the data size. 5. The method of claim 4 , wherein of the two adjacent micro-operations, a micro-operation having a higher address is converted to the load data only micro-operation. 6. The method of claim 1 , further comprising: marking converted loads as ineligible for memory renaming if memory renaming operates after load conversion. 7. The method of claim 1 , further comprising: marking a memory renamed load micro-operation as ineligible if memory renaming operates before load conversion. 8. The method of claim 1 , wherein an occurrence of an exception with respect to at least one of the load micro-operation with twice the data size and the load data only micro-operation results in re-execution of the two adjacent micro-operations without conversion. 9. The method of claim 1 , further comprising: providing an allocated destination physical register tag for the load data only micro-operation as additional payload for the load micro-operation with twice the data size. 10. The method of claim 9 , further comprising: sending a LO portion of load results with a destination physical register tag in a first cycle; and sending a HI portion of the load results with a destination physical register tag of the load data only micro-operation in a second cycle. 11. The method of claim 1 , further comprising: inserting a bubble into a load pipeline on a cycle immediately following a converted load micro-operation to allow the converted load micro-operation an extra cycle to process a HI portion of load results. 12. A processor configured to convert load micro-operations, comprising: dispatch circuitry configured to dispatch micro-operations; and load conversion circuitry in communication with the dispatch circuitry, the load fusion conversion circuitry configured to: convert two adjacent micro-operations, which are consecutive load micro-operations, each having a data size that is the same, and which access consecutive addresses, into a load micro-operation with twice the data size and a load data only micro-operation, wherein the load data only micro-operation allocates a destination physical register to which to write data loaded by the load micro-operation with twice the data size; and execution circuitry configured to execute the load micro-operation with twice the data size. 13. The processor of claim 12 , wherein the load data only micro-operation suppresses use of load queue entries and address generation scheduler queue entries. 14. The processor of claim 12 , wherein the load conversion circuitry is configured to convert a micro-operation of the two adjacent micro-operations having a lower address to the load micro-operation with twice the data size and to convert a micro-operation of the two adjacent micro-operations having a higher address to the load data only micro-operation. 15. The processor of claim 12 , wherein the processor is further configured to mark converted loads as ineligible for memory renaming when memory renaming operates after load conversion. 16. The processor of claim 12 , wherein the processor is further configured to mark a memory renamed load micro-operation as ineligible when memory renaming operates before load conversion. 17. The processor of claim 12 , wherein an occurrence of an exception with respect to at least one of the load micro-operation with twice the data size and the load data only micro-operation results in re-execution of the two adjacent micro-operations without conversion. 18. The processor of claim 12 , wherein the load conversion detection logic is configured to provide an allocated destination physical register tag for the load data only micro-operation as additional payload for the load micro-operation with twice the data size. 19. The processor of claim 12 , further comprising: a load conversion cycle logic, the load conversion cycle logic configured to: send a LO portion of load results with a destination physical register tag in a first cycle; and send a HI portion of the load results with a destination physical register tag of the load data only micro-operation in a second cycle. 20. The processor of claim 12 , wherein the load conversion circuitry is configured to insert a bubble into a load pipeline on a cycle immediately following a converted load micro-operation to allow the converted load micro-operation an extra cycle to process a HI portion of load results.
to perform operations on memory · CPC title
Loading of the microprogram · CPC title
Runtime instruction translation, e.g. macros · CPC title
Compare instructions, e.g. Greater-Than, Equal-To, MINMAX · CPC title
LOAD or STORE instructions; Clear instruction · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.