Register file mapping
US-2016378489-A1 · Dec 29, 2016 · US
US9710278B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9710278-B2 |
| Application number | US-201414501578-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 30, 2014 |
| Priority date | Sep 30, 2014 |
| Publication date | Jul 18, 2017 |
| Grant date | Jul 18, 2017 |
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.
Embodiments include optimizing the grouping of instructions in a microprocessor. Aspects include receiving a first clump of instructions from a streaming buffer, pre-decoding each of instructions for select information and sending the instructions to an instruction queue. Aspects further include storing initial grouping information for the instructions in a local register, wherein the initial grouping information is based on the select information. Aspects further include updating the initial group information stored in the local register when additional pre-decode information becomes available and grouping the instructions that are ready to be dispatched into a dispatch group based on the grouping information stored in the local register. Aspects further include dispatching the dispatch group to an issue unit.
Opening claim text (preview).
What is claimed is: 1. A computer system for optimizing the grouping of instructions in a microprocessor, the computer system comprising: a server having a processor, the processor configured to perform a method comprising: receiving a first clump having a plurality of instructions from a streaming buffer; pre-decoding each of the plurality of instructions in the first clump for a select information and sending the plurality of instructions to an instruction queue; storing one or more of the plurality of instructions in a local register and storing an initial grouping information for each of the plurality of instructions in a local register, wherein the initial grouping information is based on the select information, wherein the initial grouping information for each of the plurality of instructions is based on worst case grouping scenario; based on receiving an indication from the instruction queue that one or more of the plurality of instructions is ready to be dispatched from the instruction queue, determining if an additional pre-decode information is available; based on determining that the additional pre-decode information is not available, grouping the one or more of the plurality of instructions that are ready to be dispatched from the instruction queue into a dispatch group based on the initial grouping information stored in the local register; based on determining that the additional pre-decode information is available, updating the initial group information stored in the local register based on the additional pre-decode information and grouping the one or more of the plurality of instructions that are ready to be dispatched from the instruction queue into the dispatch group based on the updated grouping information stored in the local register; and dispatching the dispatch group to an issue unit. 2. The system of claim 1 , wherein the dispatch group comprises three or less of the plurality of instructions that are ready to be dispatched from the instruction queue. 3. The system of claim 1 , wherein the first clump of instructions is received during a first cycle of the microprocessor and a second clump of instructions having a second plurality of instructions is received from the streaming buffer during a second cycle of the microprocessor. 4. The system of claim 3 , wherein the determination that the additional pre-decode information is available is based off of pre-decoding each of the second plurality of instructions in the second clump. 5. The system of claim 4 , wherein the dispatch group comprises at least one of the first plurality of instruction and at least one of the second plurality of instructions. 6. The system of claim 3 , wherein updating the initial group information includes adding one or more instructions form the second clump to the dispatch group. 7. A computer program product for optimizing the grouping of instructions in a microprocessor, the computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured for: receiving a first clump having a plurality of instructions from a streaming buffer; pre-decoding each of the plurality of instructions in the first clump for a select information and sending the plurality of instructions to an instruction queue; storing one or more of the plurality of instructions in a local register and storing an initial grouping information for each of the plurality of instructions in a local register, wherein the initial grouping information is based on the select information; based on receiving an indication from the instruction queue that one or more of the plurality of instructions is ready to be dispatched from the instruction queue, determining if an additional pre-decode information is available; based on determining that the additional pre-decode information is not available, grouping the one or more of the plurality of instructions that are ready to be dispatched from the instruction queue into a dispatch group based on the initial grouping information stored in the local register; based on determining that the additional pre-decode information is available, updating the initial group information stored in the local register based on the additional pre-decode information and grouping the one or more of the plurality of instructions that are ready to be dispatched from the instruction queue into the dispatch group based on the updated grouping information stored in the local register; and dispatching the dispatch group to an issue unit. 8. The computer program product of claim 7 , wherein the dispatch group comprises three or less of the plurality of instructions that are ready to be dispatched from the instruction queue. 9. The computer program product of claim 7 , wherein the first clump of instructions is received during a first cycle of the microprocessor and a second clump of instructions having a second plurality of instructions is received from the streaming buffer during a second cycle of the microprocessor. 10. The computer program product of claim 9 , wherein the determination that the additional pre-decode information is available is based off of pre-decoding each of the second plurality of instructions in the second clump. 11. The computer program product of claim 10 , wherein the dispatch group comprises at least one of the first plurality of instruction and at least one of the second plurality of instructions. 12. The computer program product of claim 9 , wherein updating the initial group information includes adding one or more instructions form the second clump to the dispatch group.
Pipelined decoding, e.g. using predecoding · CPC title
of compound instructions · CPC title
Decoding the operand specifier, e.g. specifier format · CPC title
Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.