Predictive Processor Component Suspension for Power Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Pipelined processing devices experience significant power consumption and wasted cycles due to mispredicted branches, as they maintain components in an enabled state even when they are not required for instruction execution.

Innovation Solution

A suspend controller dynamically suspends processor and peripheral components by estimating instruction cycles and isolating unused components from power domains or using clock gating, reducing power consumption during predicted idle periods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If components are maintained in an enabled state to ensure immediate execution capability, then processing speed is improved, but power consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts component states between enabled and suspended based on predicted instruction requirements. The suspend controller monitors branch prediction outcomes and instruction cache status to determine when to suspend or enable components, making the system adaptable to varying workload demands rather than maintaining a fixed enabled state

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary analysis of incoming instruction streams using branch prediction logic to anticipate which components will be needed. By predicting future instruction requirements before execution, the system can proactively suspend components that are unlikely to be needed, reducing power consumption while maintaining readiness for predicted workloads

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If components are suspended to reduce power consumption, then power usage is improved, but processing delay increases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing delay
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system uses branch prediction to perform preliminary analysis of incoming instruction streams, identifying which components will be needed before they are actually required. This allows components to remain enabled when needed and be suspended only when prediction indicates they will not be required, minimizing unnecessary delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the suspend controller continuously monitors branch prediction outcomes and instruction cache status. When mispredictions occur or instructions are loaded into the cache, the system adjusts component states in response, creating a feedback loop that optimizes the balance between power savings and processing delay

Inventive Principle:
Principle #23Feedback

3Productivity

If branch prediction is used to preload instructions, then processing efficiency is improved, but power consumption increases due to mispredictions

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

Solution Approach 1:

The system monitors branch prediction accuracy and uses this feedback to adjust component suspension decisions. When mispredictions occur, the system learns from the outcome and modifies future prediction and suspension decisions, optimizing the balance between keeping components enabled for efficiency and suspending them to save power

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts its branch prediction aggressiveness and component suspension strategy based on observed prediction accuracy. Rather than using a fixed prediction threshold, the system adapts its behavior based on feedback from actual prediction outcomes, making the prediction mechanism itself dynamic and responsive to performance metrics

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7441136B2System for predictive processor component suspension and method thereof
Publication Date: 2008.10.21 MEDIATEK INC
  • US7441136B2 patent drawing
  • US7441136B2 patent drawing
  • US7441136B2 patent drawing

AI summary

An instruction cycle is determined from instructions stored in a cache, where the instruction cycle represents the sequence of instructions predicted to be executed by the processing device that are resident in the cache. The duration of the instruction cycle is estimated and one or more components of the processing device that are not expected to be used during the instruction cycle may be suspended for a portion or all of the duration. The components may be suspended by, for example, clock gating or by isolating the components from one or more power domains.