Management of store queue based on restoration operation
US-2018300155-A1 · Oct 18, 2018 · US
US11249757B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11249757-B1 |
| Application number | US-202016993552-A |
| Country | US |
| Kind code | B1 |
| Filing date | Aug 14, 2020 |
| Priority date | Aug 14, 2020 |
| Publication date | Feb 15, 2022 |
| Grant date | Feb 15, 2022 |
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, processor, and/or technique configured to: determine whether two or more load instructions are fusible for execution in a load store unit as a fused load instruction; in response to determining that two or more load instructions are fusible, transmit information to process the two or more fusible load instructions into a single entry of an issue queue; issue the information to process the two or more fusible load instructions from the single entry in the issue queue as a fused load instruction to the load store unit using a single issue port of the issue queue, wherein the fused load instruction contains the information to process the two or more fusible load instructions; execute the fused load instruction in the load store unit; and write back data obtained by executing the fused load instruction simultaneously to multiple entries in the register file.
Opening claim text (preview).
What is claimed is: 1. A computer system for processing information, the computer system comprising: at least one processor having circuitry and logic to process instructions, the processor comprising: an instruction fetch unit having circuitry and logic to process instructions, the instruction fetch unit configured to fetch instructions; an instruction issue unit having circuitry and logic to process instructions, the instruction issue unit having an issue queue having a plurality of entries to hold the instructions and a plurality of issue ports to issue the instructions held in one or more of the plurality of issue queue entries; one or more execution units having circuitry and logic to process instructions, the one or more execution units including a load store unit to process one or more load and store instructions; and a register file to hold data for processing by the processor, the register file having a plurality of entries to hold the data, wherein the processor is configured to: determine whether two or more load instructions are fusible for execution in the load store unit as a fused load instruction; in response to determining that two or more load instructions are fusible for execution in the load store unit as a fused load instruction, transmit information to process the two or more fusible load instructions over multiple data lanes to the issue queue where the information to process each fusible load instruction is transmitted over a single data lane and into a single entry of the plurality of entries in the issue queue; issue the information to process the two or more fusible load instructions from the single entry in the issue queue as a fused load instruction to the load store unit using a single issue port of the plurality of issue ports in the issue queue, wherein the fused load instruction contains the information to process the two or more fusible load instructions; execute the fused load instruction in the load store unit; and write back data obtained by executing the fused load instruction simultaneously to multiple entries in the register file. 2. The system of claim 1 , wherein the processor is further configured to determine whether two or more load instructions are fusible by detecting if the load instructions are consecutive load instructions, have address register fields that are the same, and immediate fields that are consecutive to each other in a data cache. 3. The system of claim 1 , wherein the processor is further configured to determine whether two or more load instruction sequences are ascending fusible load instructions or descending fusible load instructions. 4. The system of claim 1 , wherein the processor is further configured to: in response to determining that two or more load instructions are fusible, mark the two or more fusible load instructions as fusible; and thereafter, transmit the information to process the two or more fusible instructions into the single entry in the issue queue. 5. The system of claim 1 , wherein in response to executing the fused load instruction in the load store unit, the load store unit is configured to read out multiple consecutive data chunks from a data cache in the load store unit. 6. The system of claim 1 , wherein the processor is further configured to: transmit the two or more fusible load instructions to a dispatch unit; assign by the dispatch unit an instruction identifier to each fusible load instruction; and dispatch the information to process the two or more fusible load instructions to the single entry in the issue queue over multiple lanes where a single lane is used for each fusible load instruction dispatched to the single entry in the issue queue. 7. The system of claim 6 , wherein the processor is further configured to: dispatch multiple instruction identifiers to an instruction completion unit having a completion table for tracking the completion of instructions, where each instruction identifier corresponds to one of the two or more fusible load instructions; write each dispatched instruction identifier to one of a plurality of entries in the completion table; and mark the entries in the completion table corresponding to the two or more fusible load instructions to complete together. 8. The system of claim 1 , wherein the processor is further configured to write a first portion of the fused load instruction to a first entry in the register file using a register file write port associated with the load store unit and write a second portion of the fused load instruction to a second entry in the register file using a register file write port associated with an execution unit other than the load store unit. 9. The system of claim 1 , wherein the processor is further configured to: detect an exception while processing the fused load instruction, and in response to detecting an exception while processing the fused load instruction, the processor is configured to execute the two or more fusible load instructions forming the fused load instruction separately. 10. The system of claim 1 , wherein the processor is configured to: process two-consecutive load-immediate instructions as a fusible load instruction, in response to detecting two consecutive load-immediate instructions as a fusible load instruction, transmit the two fusible load instructions into a single entry of the plurality of entries in the issue queue; issue the two fusible load instructions from the single entry in the issue queue as a fused load instruction to the load store unit using a single issue port of the plurality of issue ports in the issue queue, wherein the fused load instruction contains the two fusible load instructions; execute the fused load instruction in the load store unit; and write back data obtained by executing the fused load instruction simultaneously to two entries in the register file. 11. A computer-executable method for processing information, the computer-executable method comprising: fetching instructions in a processor, the processor having circuitry and logic to process the instructions; determining whether two or more load instructions are fusible for executing in a load store unit of a the processor as a fused load instruction; in response to determining that two or more load instructions are fusible for execution in the load store unit as a fused load instruction, transmitting information to process the two or more fusible load instructions over multiple data lanes to the issue queue where the information to process each fusible load instruction is transmitted over a single data lane to the issue queue and into a single entry of a plurality of entries in an issue queue; issuing the information to process the two or more fusible load instructions from the single entry in the issue queue as a fused load instruction to the load store unit using a single issue port in the issue queue, wherein the fused load instruction contains the information to process the two or more fusible load instructions; executing the fused load instruction in the load store unit; and writing data obtained by executing the fused load instruction simultaneously to multiple entries in a register file. 12. The computer-executable method of claim 11 , wherein determining whether two or more load instructions are fusible comprises detecting if the load instructions are consecutive load instructions, have real address fields that are the same, and immediate fields that are consecutive to each other in a data cache. 13. The computer-executable method of claim 11 , further comprising: in response to determining that two or more load instructions are fusible, marking th
Instruction operation extension or modification · CPC title
Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title
LOAD or STORE instructions; Clear instruction · CPC title
of compound instructions · CPC title
Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.