Flushing of instructions based upon a finish ratio and/or moving a flush point in a processor

US11520591B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11520591-B2
Application numberUS-202016832845-A
CountryUS
Kind codeB2
Filing dateMar 27, 2020
Priority dateMar 27, 2020
Publication dateDec 6, 2022
Grant dateDec 6, 2022

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.

Processing data in an information handling system is disclosed that includes: in response to an event that triggers a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of finished operations to a number of at least one of the group consisting of in-flight instructions, instructions pending in a processor pipeline, instructions issued to an issue queue, and instructions being processed in a processor execution unit; compare the calculated finish ratio to a threshold; and if the finish ratio is greater than the threshold, then do not perform the flushing operation. Also disclosed is moving the flush point.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of processing data in an information handling system, comprising: in response to an event that triggers a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of finished operations to a number of at least one of a group consisting of in-flight instructions, instructions pending in a processor pipeline, instructions issued to an issue queue, and instructions being processed in a processor execution unit; compare the calculated finish ratio to a threshold; if the finish ratio is greater than the threshold, then do not perform the flushing operation; and if the finish ratio is not greater than the threshold, then perform the flushing operation. 2. The method of claim 1 , wherein the event triggers a balance flushing operation, and if the finish ratio is greater than the threshold, then do not perform the balance flushing operation, and if the finish ratio is not greater than the threshold, then perform the balance flushing operation. 3. The method of claim 1 , wherein the threshold is at least one of a group consisting of a fixed threshold, a predetermined threshold, a variable threshold, and a programmable threshold. 4. The method of claim 1 , wherein the threshold is set at a fixed ninety percent or greater. 5. The method of claim 1 , wherein the finish ratio is calculated on a per thread basis. 6. The method of claim 1 , wherein the finish ratio is based upon the number of finished instructions in at least one of a group consisting of an Instruction Completion Table, a Global Completion Table, and a reorder buffer. 7. The method of claim 1 , wherein the finish ratio is calculated based upon the number of instructions finished in a thread in an instruction completion table divided by the total number of instructions in the instruction completion table. 8. The method of claim 1 , further comprising: in response to the finish ratio not being greater than the threshold, move a flush point to a point other than the instruction after a next to complete instruction, wherein the flush point identifies the instruction from which younger instructions in the information handling system are flushed. 9. The method of claim 8 , further comprising moving the flush point to one of a group consisting of a next unfinished instruction after the next to complete instruction and a last consecutive finished instruction after the next to complete instruction. 10. A method of processing data in an information handling system, comprising: in response to an event that triggers a flushing operation, determine a next to complete (NTC) instruction; determine one of either a first unfinished instruction after the NTC instruction or a last consecutive finished instruction after the NTC instruction; and move a flush point to a respective one of either the first unfinished instruction after the NTC instruction or the last consecutive finished instruction after the NTC instruction, wherein the flush point identifies the instruction from which younger instructions in the information handling system are flushed; before performing a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of finished operations to a number of at least one of a group consisting of in-flight instructions, instructions pending in a processor pipeline, instructions issued to an issue queue, and instructions being processed in a processor execution unit; compare the calculated finish ratio to a threshold; if the finish ratio is greater than the threshold, then do not perform the flushing operations; and if the finish ratio is equal to or less than the threshold, then perform the flushing operation. 11. The method of claim 10 , further comprising: determine a next unfinished instruction in an instruction completion table after the NTC instruction and calculate an adjusted finish ratio, wherein the adjusted finish ratio for an unfinished instruction is the number of finished instructions after the NTC instruction in the instruction completion table before that unfinished instruction divided by the number of instructions after the NTC instruction in the instruction completion table; determine whether the adjusted finish ratio for that next unfinished instruction in the instruction completion table is greater than the threshold; and if the adjusted finish ratio is not greater than the threshold, move the flush point in the instruction completion table to an unfinished instruction whose adjusted finish ratio is not greater than the threshold. 12. The method of claim 11 , further comprising: if the adjusted finish ratio is greater than the threshold, do not move the flush point to that unfinished instruction and proceed to the next unfinished instruction; determine whether the adjusted finish ratio for that next unfinished instruction in the instruction completion table is greater than a threshold; and if the adjusted finish ratio is not greater than the threshold, move the flush point in the instruction completion table to the unfinished instruction whose adjusted finish ratio is not greater than the threshold. 13. The method of claim 10 , wherein the event triggers a balance flushing operation. 14. The method of claim 11 , wherein the threshold is at least one of a group consisting of a fixed threshold, a predetermined threshold, a variable threshold, and a programmable threshold. 15. The method of claim 11 , wherein the threshold is set at a fixed sixty percent or greater. 16. The method of claim 11 , wherein the adjusted finish ratio is calculated on a per thread basis. 17. An information handling system, comprising: a processor having a processor pipeline comprising: an issue queue for holding instructions until data is local to the processor; one or more execution units for executing instructions received from the issue queue; and an instruction completion table having a plurality of entries for tracking instructions that are pending and instructions that are finished and not complete in the processor, wherein the processor is configured to issue instructions to the one or more execution units out of order and the instructions are marked as complete in order; and further wherein the processor is configured to: in response to an event that triggers a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of instructions marked as finished in the instruction completion table to a number of instructions in the instruction completion table; compare the calculated finish ratio to a threshold; and if the finish ratio is greater than the threshold, then do not perform the flushing operation. 18. The system of claim 17 , wherein the processor is further configured to perform a balance flushing operation, the event triggers a balance flushing operation, and the threshold is at least one of a group consisting of a fixed threshold, a predetermined threshold, a variable threshold, and a programmable threshold, where the processor is further configured to: calculate the finish ratio on a per thread basis, not perform the balance flushing operation if the finish ratio is greater than the threshold, and perform the balanced flushing operation if the finish ratio is not greater than the threshold. 19. The system of claim 17 , wherein the processor is further configured to: in response to the finish ratio not being greater than the threshold, move a flushing point in the instruction completion table to at least one of a group consisting of the next unfinishe

Assignees

Inventors

Classifications

  • using instruction pipelines · CPC title

  • G06F9/3863Primary

    using multiple copies of the architectural state, e.g. shadow registers · CPC title

  • G06F9/3855Primary

    Physics · mapped topic

  • from multiple instruction streams, e.g. multistreaming · CPC title

  • G06F9/3856Primary

    Reordering of instructions, e.g. using queues or age tags · 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 US11520591B2 cover?
Processing data in an information handling system is disclosed that includes: in response to an event that triggers a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of finished operations to a number of at least one of the group consisting of in-flight instructions, instructions pending in a processor pipeline, instructions issued to an issue queue, and instr…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/3863. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 2022 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).