Branch Prediction Logic for Power Usage Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face challenges in reducing power consumption while maintaining performance, as techniques like parallelism and clock gating increase complexity and heat generation, and software-controlled methods are inefficient for rare instruction usage.

Innovation Solution

The method involves maintaining power usage prediction information in branch prediction logic to selectively reduce power consumption of functional units by anticipating idle periods after branch instructions, using historical data to control power states and reduce voltage or clock frequency without disabling the units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallelism techniques (multiple cores, execution units, pipelining, multithreading) are employed to improve performance, then processing capability is improved, but power consumption and heat generation increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The system performs preliminary analysis of branch instructions to predict which functional units will be idle in future execution paths. Based on these predictions, the system proactively reduces power consumption by clock-gating or disabling predicted idle functional units before they are actually needed, thereby reducing overall power consumption without impacting actual processing capability.

Inventive Principle:
Principle #10Preliminary action

2Use of energy by stationary object

If clock rate is throttled down to reduce power consumption, then power consumption is reduced, but performance decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidperformance
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

Solution Approach 1:

Instead of globally throttling the clock rate, the system applies clock gating selectively to specific functional units that are predicted to be idle. This allows different parts of the processor to operate at different clock rates - active functional units maintain full performance while predicted idle units are clock-gated to reduce power consumption, thereby maintaining overall performance while reducing power consumption.

Inventive Principle:
Principle #3Local quality

3Use of energy by stationary object

If execution units are temporarily shut down to reduce power consumption, then power consumption is reduced, but performance is limited when units are needed

Engineering Contradiction:
Improvepower consumptionVSAvoidperformance
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

Solution Approach 1:

The system uses branch prediction logic to perform preliminary identification of functional units that will be idle following branch instructions. By predicting idle periods in advance, the system can safely shut down or clock-gate these functional units without impacting actual performance, since the shutdown occurs only when the units are predicted to be unnecessary for upcoming execution paths.

Inventive Principle:
Principle #10Preliminary action

4Use of energy by stationary object

If software-controlled clock gating is used to reduce power consumption, then power consumption can be controlled, but complexity increases and rare instruction usage limits power savings

Engineering Contradiction:
Improvepower consumptionVSAvoidcontrol complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The system implements self-service power management by using the processor's existing branch prediction logic to automatically identify and manage power states of functional units. The branch prediction hardware, which already exists for performance optimization, is repurposed to also predict idle periods and trigger automatic clock gating without requiring any software intervention, compiler modifications, or additional control logic, thereby reducing both complexity and enabling effective power savings even for rare instruction usage.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10067556B2Branch prediction with power usage prediction and control
Publication Date: 2018.09.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10067556B2 patent drawing
  • US10067556B2 patent drawing
  • US10067556B2 patent drawing

AI summary

A method maintains power usage prediction information for one or more functional units in branch prediction logic for a processing unit such that the power consumption of a functional unit may be selectively reduced in association with the execution of branch instructions when it is predicted that the functional unit will be idle subsequent to the execution of such branch instructions.