Activity smoothener circuit controlling rates of change of localized processing activity in an integrated circuit (IC), and related methods

US12443258B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12443258-B2
Application numberUS-202418611064-A
CountryUS
Kind codeB2
Filing dateMar 20, 2024
Priority dateFeb 23, 2021
Publication dateOct 14, 2025
Grant dateOct 14, 2025

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.

An activity smoothener circuit is provided to control rates of change in processing activity to limit di/dt in activity areas of an IC to mitigate voltage droops or overshoots. Controlling the rate of change of activity prevents or reduces instances of a di/dt exceeding a programmed maximum that is based on physical limits of the IC and/or a package. In examples, the activity smoothener circuit includes a hierarchy of smoothening circuits controlling activity in areas down to individual circuit blocks (tiles) including execution circuits. An indication of a desired level of activity is provided to a parent smoothening circuit and the parent smoothening circuit responds with indications of actual activity allowed to occur. At each level of hierarchy, the activity smoothener circuit may use algorithms to generate indications of actual activity based on indications of desired activity and di/dt limits. Di/dt limits and current minimums and maximums are controlled.

First claim

Opening claim text (preview).

What is claimed is: 1. An activity smoothener circuit in an integrated circuit (IC), the activity smoothener circuit comprising: a plurality of circuit blocks (tiles) each comprising an execution circuit, each of the plurality of tiles configured to: generate a first indication of desired activity of the tile, comprising a single-bit signal indicating a request for one of inactivity and activity in the execution circuit; receive a first indication of actual activity for the tile, comprising a multi-bit signal representing an allowed level of activity; and control task execution activity in the execution circuit of the tile according to the first indication of actual activity indicated by the received first indication of actual activity for the tile; and a plurality of smoothening circuits, each corresponding to a cluster of the plurality of tiles, each of the plurality of smoothening circuits configured to: receive the first indications of desired activity from each of the plurality of tiles; generate a second indication of desired activity in the cluster, comprising a multi-bit signal indicating a requested level of activity in the cluster based on the first indications of desired activity in the plurality of tiles; receive a second indication of actual activity for the cluster as a multi-bit signal representing an allowed level of activity for the cluster; and generate the first indications of actual activity for each of the plurality of tiles based on the first indications of desired activity in the plurality of tiles, the second indication of actual activity in the cluster, and a first limit of a rate of change of current in each of the plurality of tiles of the IC. 2. The activity smoothener circuit of claim 1 , wherein the execution circuit comprises a general-purpose processing circuit or an accelerator circuit. 3. The activity smoothener circuit of claim 1 , each of the plurality of tiles further comprising a work queue configured to receive one or more tasks to be executed by the execution circuit, wherein the first indication of desired activity indicates whether the work queue received a task to be executed. 4. The activity smoothener circuit of claim 3 , wherein the first indication of desired activity further indicates whether the execution circuit is currently executing a task. 5. The activity smoothener circuit of claim 1 , wherein in response to the first indication of actual activity in the tile, the execution circuit executes fake work that generates results which are discarded. 6. The activity smoothener circuit of claim 1 , wherein the first indications of actual activity in the plurality of tiles are accumulated and the execution circuit is configured to execute a task in response to an accumulation of the first indications of actual activity reaching a threshold. 7. The activity smoothener circuit of claim 1 , wherein the smoothening circuit configured to generate the second indication of desired activity in the cluster is further configured to generate a binary sum of the first indications of actual activity from the plurality of tiles. 8. The activity smoothener circuit of claim 1 , wherein the first limit of the rate of change of current in each tile of the IC is programmed in the smoothening circuit and corresponds to a limit of a rate of change of activity in the plurality of tiles. 9. The activity smoothener circuit of claim 1 , wherein the smoothening circuit further comprises programmable registers configured to indicate at least one of: an indication of the number of the plurality of tiles; a floor (minimum) and a ceiling (maximum) for the first indications of actual activity for each of the plurality of tiles; a limit of a rate of change of current (di/dt) increase; and a limit of a rate of change of current decrease. 10. A method of smoothening activity in an integrated circuit (IC), the method comprising: in each of a plurality of circuit blocks (tiles) that each comprise an execution circuit, generating a first indication of desired activity of the tile, comprising a single-bit signal indicating a request for one of inactivity and activity in the execution circuit; receiving a first indication of actual activity for the tile, comprising a multi-bit signal representing an allowed level of activity; controlling task execution activity in the execution circuit of the tile according to the allowed level of activity indicated by the received first indication of actual activity for the tile; and in a plurality of smoothening circuits, each corresponding to a cluster of the plurality of tiles, and each of the plurality of smoothening circuits: receiving the first indications of desired activity from each of the plurality of tiles; generating a second indication of desired activity for the cluster, comprising a multi-bit signal indicating a requested level of activity in the cluster based on the first indications of desired activity in the plurality of tiles; receiving a second indication of actual activity for the cluster as a multi-bit signal representing an allowed level of activity for the cluster; and generating the first indications of actual activity for each of the plurality of tiles based on the first indications of desired activity in the plurality of tiles, the second indication of actual activity in the cluster, and a first limit of a rate of change of current in each of the plurality of tiles of the IC. 11. The method of claim 10 , further comprising, in the tile: accumulating the first indications of actual activity for each of the plurality of tiles in each cycle of a clock signal; and executing a task in response to the accumulation of the first indications of actual activity reaching a threshold. 12. The method of claim 10 , wherein generating the first indication of actual activity in the smoothening circuit is based on a programmed value indicating at least one of: an indication of a number of the plurality of tiles; a floor (minimum) and a ceiling (maximum) for the first indications of actual activity for each of the plurality of tiles; a limit of a rate of change of current (di/dt) increase in the plurality of tiles; and a limit of a rate of change of current decrease in the plurality of tiles. 13. The activity smoothener circuit of claim 1 , wherein: the first indication of desired activity of the tile comprises an indication of power to be consumed by the tile during execution of at least one task received in a work queue. 14. The activity smoothener circuit of claim 1 , wherein each of the plurality of smoothening circuits further comprises: a programmable register configured to indicate a maximum activity level based on a maximum power consumption level; and a control circuit configured to stagger the first indications of actual activity for each of the plurality of tiles over time in response to the second indication of actual activity indicating an allowed level of activity exceeding the maximum activity level. 15. The activity smoothener circuit of claim 14 , wherein: each of the plurality of smoothening circuits is further configured to provide the first indications of actual activity for each of the plurality of tiles within a predetermined number of clock cycles following the first indications of desired activity in the plurality of tiles; and the predetermined number of clock cycles is programmed into the programmable register. 16. The activity smoothener circuit of claim 1 , wherein each of the plurality of smoothening circuits further comprises: a programmable register configured to indicate

Assignees

Inventors

Classifications

  • in the event of power-supply fluctuations · CPC title

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

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • by task scheduling · CPC title

  • G06F1/28Primary

    Supervision thereof, e.g. detecting power-supply failure by out of limits supervision · 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 US12443258B2 cover?
An activity smoothener circuit is provided to control rates of change in processing activity to limit di/dt in activity areas of an IC to mitigate voltage droops or overshoots. Controlling the rate of change of activity prevents or reduces instances of a di/dt exceeding a programmed maximum that is based on physical limits of the IC and/or a package. In examples, the activity smoothener circuit…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F1/28. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 14 2025 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).