Credit-based processor energy consumption rate limiting system

US9798375B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9798375-B1
Application numberUS-201614988162-A
CountryUS
Kind codeB1
Filing dateJan 5, 2016
Priority dateJan 5, 2016
Publication dateOct 24, 2017
Grant dateOct 24, 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.

In some embodiments, a system includes a plurality of processor cores and a credit distribution circuit. The credit distribution circuit is configured to provide credits to the processor cores. A quantity of the provided credits is based on a total credit budget and requests for additional credits corresponding to the processor cores. The total credit budget is based on an amount of energy available to the processor cores (e.g., made available by a power supply) during a particular window of time. A particular processor core is configured to determine, based on a remaining number of credits for the particular processor core, whether to perform one or more pipeline operations. The particular processor core is further configured to deduct, based on determining to perform the one or more pipeline operations, one or more credits from a remaining quantity of credits allocated to the particular processor core.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a plurality of processor cores; and a credit distribution circuit configured to provide respective credits to ones of the plurality of processor cores, wherein a quantity of the provided credits is based on a total credit budget and requests for additional credits corresponding to respective ones of the plurality of processor cores, wherein the total credit budget is based on an amount of energy available to the plurality of processor cores during a particular window of time, and wherein a particular processor core of the plurality of processor cores is configured to: determine, based on a remaining number of credits for the particular processor core and based on a stall threshold, whether to perform one or more pipeline operations at the particular processor core, wherein the stall threshold is based on a largest number of credits that can be consumed by the particular processor core in performing a pipeline operation that the particular processor core is configured to perform; and deduct, based on the particular processor core determining to perform the one or more pipeline operations, one or more credits from a remaining quantity of credits allocated to the particular processor core. 2. The system of claim 1 , wherein the credit distribution circuit is configured, based on the requests for additional credits exceeding a remaining credit budget, to provide the respective credits to the plurality of processor cores according to an allocation scheme. 3. The system of claim 1 , further comprising a plurality of credit tracker circuits, wherein a particular credit tracker circuit is configured to: track, based on the particular processor core determining to perform the one or more pipeline operations, and based on one or more indications of provided credits for the particular processor core from the credit distribution circuit, the remaining quantity of credits allocated to the respective processor core; and in response to the remaining quantity of credits falling below a request threshold, send a request for additional credits for the particular processor core to the credit distribution circuit. 4. The system of claim 3 , wherein the particular processor core includes the particular credit tracker circuit. 5. The system of claim 1 , further comprising an energy storage circuit configured to: store a particular amount of energy; and provide at least some of the particular amount of energy to the plurality of processor cores based on the plurality of processor cores consuming more than an allocated amount of energy from one or more power supply units. 6. The system of claim 5 , wherein respective request thresholds of the plurality of processor cores are based on the particular amount of energy that can be stored at the energy storage circuit. 7. The system of claim 1 , further comprising one or more devices configured to request additional credits from the credit distribution circuit in response to performing one or more operations, wherein the one or more devices are not configured to delay performing the one or more operations. 8. The system of claim 7 , wherein the one or more devices are memory devices and the one or more operations are memory operations. 9. The system of claim 8 , wherein the credit distribution circuit is configured to prioritize requests for additional credits from the one or more memory devices over the requests for additional credits from the plurality of processor cores. 10. The system of claim 1 , further comprising a budget creation circuit configured to calculate the total credit budget based on a power management unit capability for at least one of: a current power state, a desired maximum aggregate energy consumption rate of the plurality of processor cores, or a leakage estimate. 11. A method, comprising: tracking, by a particular processor core, a number of remaining credits allocated to the particular processor core, wherein the credits are representative of energy available to the particular processor core; and determining, by the particular processor core, based on the number of remaining credits not exceeding a stall threshold, to delay performing one or more pipeline operations, wherein the one or more pipeline operations correspond to execution of at least a portion of an instruction by the particular processor core, and wherein the stall threshold is based on a largest number of credits that can be consumed by the particular processor core in performing a pipeline operation that the particular processor core is configured to perform. 12. The method of claim 11 , further comprising, in response to determining to delay performing the one or more pipeline operations, executing at least a portion of a stall instruction by the particular processor core. 13. The method of claim 11 , further comprising: increasing, by the particular processor core, the number of remaining credits in response to receiving an indication of one or more additional credits from a credit distribution circuit; subsequent to increasing the number of remaining credits, based on the number of remaining credits exceeding the stall threshold, determining, by the particular processor core, to perform the one or more pipeline operations; and in response to determining to perform the one or more pipeline operations, reducing, by the particular processor core, the number of remaining credits. 14. The method of claim 11 , further comprising: receiving an indication from a different processor core that the different processor core has insufficient credits; and providing one or more credits from the number of remaining credits to the different processor core. 15. A method, comprising: tracking, by a particular processor core of a plurality of processor cores, a number of remaining credits allocated to the particular processor core, wherein the credits are representative of energy available to the particular processor core; determining, by the particular processor core, based on the number of remaining credits exceeding a stall threshold, to perform one or more pipeline operations, wherein the one or more pipeline operations correspond to execution of at least a portion of an instruction by the particular processor core, and wherein the stall threshold is based on a largest number of credits that can be consumed by the particular processor core in performing a pipeline operation that the particular processor core is configured to perform; and in response to determining to perform the one or more pipeline operations, reducing, by the particular processor core, the number of remaining credits. 16. The method of claim 15 , further comprising: providing, to a credit tracking circuit, an energy usage indication corresponding to the one or more pipeline operations; and receiving, from a credit distribution circuit, additional credits in response to the energy usage indication. 17. The method of claim 15 , wherein determining to perform the one or more pipeline operations includes determining that the remaining number of credits for the particular processor core exceeds the stall threshold for the particular processor core. 18. The method of claim 15 , wherein determining to perform the one or more pipeline operations includes: estimating a number of credits associated with the one or more pipeline operations; estimating a number of remaining credits after performing the one or more pipeline operations by deducting the estimated number of credits from the number of remaining credits for the particular

Assignees

Inventors

Classifications

  • where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title

  • G06F1/3234Primary

    Power saving characterised by the action undertaken · CPC title

  • Monitoring of events, devices or parameters that trigger a change in power modality · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · 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 US9798375B1 cover?
In some embodiments, a system includes a plurality of processor cores and a credit distribution circuit. The credit distribution circuit is configured to provide credits to the processor cores. A quantity of the provided credits is based on a total credit budget and requests for additional credits corresponding to the processor cores. The total credit budget is based on an amount of energy avai…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/3234. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).