Processor Energy Rate Limiting via Credit Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor cores in devices can exceed the power supply capacity when executing energy-intensive workloads, leading to potential erroneous operations and energy wastage due to simultaneous throttling and resuming of operations, which introduces noise into the power supply network.

Innovation Solution

A credit-based system where processor cores receive credits to determine their energy consumption rate, allowing them to perform pipeline operations independently without exceeding the power supply capacity, and a pseudo-random component is used to stagger the execution of instructions, reducing noise in the power network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If processor cores execute energy-intensive workloads at high operating points, then processing speed and productivity are improved, but the aggregate energy consumption rate may exceed the power supply capacity

Engineering Contradiction:
Improveprocessing speedVSAvoidaggregate energy consumption rate
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary action by allocating energy credits to processor cores in advance, before they execute energy-intensive workloads. The credit distribution circuit pre-allocates a limited number of credits to each core based on the power supply capacity, allowing cores to proactively manage their energy consumption by checking credit availability before initiating pipeline operations, thus preventing energy consumption rate from exceeding power supply capacity while maintaining high productivity when credits are available

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies dynamics by making the energy consumption rate adaptive rather than static. The credit distribution circuit dynamically adjusts the number of credits allocated to each processor core based on current power supply capacity and workload conditions. When power supply capacity is sufficient, more credits are allocated allowing higher processing speed; when capacity is constrained, fewer credits are allocated to prevent exceeding power supply limits, enabling the system to optimally balance productivity and energy consumption under varying conditions

Inventive Principle:
Principle #15Dynamics

2Use of energy by moving object

If multiple processor cores throttle or resume execution during the same clock cycle, then energy consumption rate limiting is achieved, but noise is injected into the power supply network causing erroneous operation

Engineering Contradiction:
Improveenergy consumption rate limitingVSAvoidnoise in power supply network
Core Design Contradiction:
Use of energy by moving objectVSObject-affected harmful factors

Solution Approach 1:

The system applies periodic action by introducing a pseudo-random time delay component to the credit allocation process. Instead of all processor cores simultaneously checking and consuming credits at identical clock cycles, the pseudo-random delay component staggers the timing of credit checks and pipeline operation initiation across different cores. This temporal distribution ensures that energy consumption events are spread out over time rather than concentrated in simultaneous bursts, achieving energy consumption rate limiting while preventing synchronized throttling/resuming that would inject noise into the power supply network

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses an intermediary approach by introducing a pseudo-random delay mechanism as a mediator between the credit allocation decision and the actual pipeline operation execution. This intermediary layer decouples the direct relationship between credit consumption and immediate execution, allowing the system to smooth out simultaneous energy consumption events. The pseudo-random delay acts as a buffer that distributes energy consumption requests across multiple clock cycles, preventing multiple cores from simultaneously throttling or resuming operations and thus eliminating noise injection into the power supply network

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9971390B1Processor energy consumption rate limiting system
Publication Date: 2018.05.15 APPLE INC
  • US9971390B1 patent drawing
  • US9971390B1 patent drawing
  • US9971390B1 patent drawing

AI summary

In some embodiments, a processor core includes an energy tracking circuit and an execution management circuit. The energy tracking circuit is configured to determine an amount of remaining allocated energy of the processor core. The execution management circuit is configured to make a determination whether to stall execution of one or more pipeline operations at the processor core based on a comparison of the amount of remaining allocated energy to a stall threshold. The determination involves applying one or more pseudo-random components to the amount of remaining allocated energy, the stall threshold, or both. The determination is made such that the smaller the amount of remaining allocated energy, the more likely the execution of one or more instructions is to be stalled.