Predicate count and segment count instructions for processing vectors
US-9182959-B2 · Nov 10, 2015 · US
US2021191722A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2021191722-A1 |
| Application number | US-202117169053-A |
| Country | US |
| Kind code | A1 |
| Filing date | Feb 5, 2021 |
| Priority date | Sep 18, 2018 |
| Publication date | Jun 24, 2021 |
| Grant date | — |
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 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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.