Using loop exit prediction to accelerate or suppress loop mode of a processor

US2021191722A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2021191722-A1
Application numberUS-202117169053-A
CountryUS
Kind codeA1
Filing dateFeb 5, 2021
Priority dateSep 18, 2018
Publication dateJun 24, 2021
Grant date

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.

A processor predicts a number of loop iterations associated with a set of loop instructions. In response to the predicted number of loop iterations exceeding a first loop iteration threshold, the set of loop instructions are executed in a loop mode that includes placing at least one component of an instruction pipeline of the processor in a low-power mode or state and executing the set of loop instructions from a loop buffer. In response to the predicted number of loop iterations being less than or equal to a second loop iteration threshold, the set of instructions are executed in a non-loop mode that includes maintaining at least one component of the instruction pipeline in a powered up state and executing the set of loop instructions from an instruction fetch unit of the instruction pipeline.

First claim

Opening claim text (preview).

1 - 20 . (canceled) 21 . A processor comprising: an instruction cache having a set of loop instructions for the processor; a loop exit predictor configured to predict a number of loop iterations expected to be executed for a loop associated with the set of loop instructions, and to predict a loop exit; a power controller configured to place a component of an instruction pipeline of the processor in a low-power mode in response to the loop exit predictor predicting the number of loop iterations; and one or more cores configured to execute the set of loop instructions in response to the loop exit predictor predicting the number of loop iterations, wherein the power controller is further configured to restore power to the component placed in the low-power mode based on the predicted loop exit. 22 . The processor of claim 21 , further comprising: a decoder configured to decode the set of loop instructions into micro-operations for execution by a functional unit of the processor. 23 . The processor of claim 22 , further comprising: an instruction fetch unit configured to provide the set of loop instructions to the decoder from the instruction cache. 24 . The processor of claim 23 , wherein the instruction fetch unit is configured to provide loop instructions to the loop exit predictor. 25 . The processor of claim 23 , wherein the instruction fetch unit is configured to suspend suspend fetching of instructions from the instruction cache during execution of the set of loop instructions. 26 . The processor of claim 21 , wherein the power controller is further configured to: compare the predicted number of loop iterations with a loop iteration threshold prior to powering down the component of the instruction pipeline. 27 . The processor of claim 21 , wherein the power controller is configured to place the component of the instruction pipeline in the low-power mode prior to the one or more cores executing the set of loop instructions. 28 . The processor of claim 21 , wherein the power controller is further configured to: power down the loop exit predictor based on powering power down the component of the instruction pipeline. 29 . The processor of claim 21 , wherein the power controller is further configured to: maintain at least one of a loop buffer, a load/store unit, or one or more execution units in active state while the component of the instruction pipeline is in the low-power mode. 30 . The processor of claim 21 , wherein the loop exit predictor is configured to predict the number of loop iterations based on historical loop data indicating patterns in loops executed at the instruction pipeline. 31 . A processor comprising: an instruction cache having a set of loop instructions for the processor; a loop exit predictor configured to predict a number of loop iterations expected to be executed for a loop associated with the set of loop instructions; one or more cores configured to execute the set of loop instruction in one of a loop mode or a non-loop mode; and a power controller configured to place at least one component of an instruction pipeline of the processor in a low-power mode during the loop mode and maintain the at least one component of the instruction pipeline in an active state during the non-loop mode. 32 . The processor of claim 31 , wherein the one or more cores are further configured to execute the set of loop instructions fetched from the instruction cache by an instruction fetch unit of the instruction pipeline during the non-loop mode. 33 . The processor of claim 31 , further comprising: a decoder configure to decode the set of loop instructions into micro-operations for execution by a functional unit of the processor; and an instruction fetch unit configured to provide the set of loop instructions to the decoder from the instruction cache. 34 . The processor of claim 33 , wherein the instruction fetch unit is configured to provide loop instructions to the loop exit predictor. 35 . The processor of claim 31 , wherein the loop exit predictor is further configured to: update the number of loop iterations associated with the set of loop instructions after the power controller places the at least one component of the instruction pipeline in the low-power mode; and wherein a timing of restoring power to the at least one component of the instruction pipeline placed in the low-power mode is based on the updated number of loop iterations. 36 . The processor of claim 31 , further comprising: a buffer of stored loop identifiers; and wherein the loop exit predictor is further configured to: match a characteristic of the set of loop instructions to an identifier in the buffer of stored loop identifiers. 37 . The processor of claim 31 , wherein the loop exit predictor is configured to predict the number of loop iterations based on historical loop data indicating patterns in loops executed at the instruction pipeline. 38 . The processor of claim 31 , wherein the power controller is configured to place the at least one component of the instruction pipeline in the low-power mode prior to the one or more cores executing any instruction associated with the set of loop instructions and after the loop exit predictor predicts the number of loop iterations associated with the set of loop instructions. 39 . The processor of claim 31 , wherein the power controller is further configured to: maintain at least one of a loop buffer, a load/store unit, or one or more execution units in active state while at least one component of an instruction pipeline is in the low-power mode. 40 . A method comprising: in a processor, predicting a number of loop iterations expected to be executed for a loop associated with a set of loop instructions; executing the set of loop instructions in one of a loop mode or a non-loop mode; and placing at least one component of an instruction pipeline of the processor in a low-power mode during the loop mode; and maintaining the at least one component of the instruction pipeline in an active state during the non-loop mode.

Assignees

Inventors

Classifications

  • Power saving in microcontroller unit · CPC title

  • Loop control instructions; iterative instructions, e.g. LOOP, REPEAT · CPC title

  • Loop buffering · CPC title

  • Power or thermal control instructions · CPC title

  • by switching to a less power-consuming processor, e.g. sub-CPU · 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 US2021191722A1 cover?
A processor predicts a number of loop iterations associated with a set of loop instructions. In response to the predicted number of loop iterations exceeding a first loop iteration threshold, the set of loop instructions are executed in a loop mode that includes placing at least one component of an instruction pipeline of the processor in a low-power mode or state and executing the set of loop …
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/30065. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 24 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).