Optimizing grouping of instructions

US9710278B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9710278-B2
Application numberUS-201414501578-A
CountryUS
Kind codeB2
Filing dateSep 30, 2014
Priority dateSep 30, 2014
Publication dateJul 18, 2017
Grant dateJul 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • G06F9/382Primary

    Pipelined decoding, e.g. using predecoding · CPC title

  • of compound instructions · CPC title

  • Decoding the operand specifier, e.g. specifier format · CPC title

  • G06F9/3836Primary

    Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9710278B2 cover?
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 g…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/382. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).