Power Gating Pipelined Execution Units via Static Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As transistors in microprocessors scale beyond 32 nm, the weakening electric polarization field leads to increased static power leakage, which is a significant component of overall power consumption, especially since many functional units in the pipeline remain idle, contributing to unnecessary power dissipation and heat generation.

Innovation Solution

A static code profiler is used to profile the instruction stream and map specific functional units needed for a program, allowing for power gating of unused units during context switches, eliminating both dynamic and static power dissipation by dynamically adjusting the power state of functional units based on the program's requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of functional units in the pipeline is increased to support a broader range of programs, then the adaptability and processing capability are improved, but the static power consumption and leakage increase significantly

Engineering Contradiction:
Improveprogram compatibilityVSAvoidstatic power consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent applies dynamics by making the functional units dynamically controllable through power gating. The system transitions from a static configuration where all functional units are always active to a dynamic configuration where the power state of each functional unit can be changed based on program requirements. The power gating mechanism allows functional units to be selectively activated or deactivated, enabling the system to adapt its power consumption profile to match the actual computational needs of running programs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements discarding and recovering by temporarily deactivating (power gating) functional units that are not currently needed for program execution. During context switches or when programs change, the system recovers these functional units by activating them again when needed. This approach allows the system to discard the power consumption of unused functional units while maintaining the capability to recover and use them when required, thus reducing overall static power consumption while preserving adaptability.

Inventive Principle:
Principle #34Discarding and recovering

2Productivity

If more functional units are kept active to handle diverse workloads, then the productivity and instruction throughput are improved, but the heat generation and power dissipation increase

Engineering Contradiction:
Improveinstruction throughputVSAvoidheat generation
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The system dynamically adjusts the active state of functional units based on real-time program requirements and workload characteristics. By monitoring which functional units are actually needed for current program execution, the system activates only those units, keeping others in a low-power state. This dynamic approach maintains high instruction throughput when needed while minimizing heat generation when full productivity is not required.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the power state parameter of functional units from always-on to selectively activated. By modifying the power delivery parameter to functional units based on program analysis and execution needs, the system optimizes the balance between productivity and heat generation. This parameter change allows the same hardware to operate at different power levels depending on the computational demands of the running program.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If static profiling is used to determine functional unit activation, then the power consumption is reduced, but the system complexity and implementation overhead increase

Engineering Contradiction:
Improvepower consumptionVSAvoidprofiling infrastructure
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing static profiling of programs during the compilation or loading phase to determine which functional units will be needed before execution begins. This advance analysis allows the system to pre-configimize the power gating settings for functional units, eliminating the need for complex runtime decision-making mechanisms. The profiling infrastructure, while adding some complexity, enables simple and efficient power management during actual program execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9098271B2Autonomous microprocessor re-configurability via power gating pipelined execution units using static profiling
Publication Date: 2015.08.04 VAMPIRE LABS LLC
  • US9098271B2 patent drawing
  • US9098271B2 patent drawing
  • US9098271B2 patent drawing

AI summary

In an embodiment, a method of controlling a functional unit of a target processor includes, using a static code profiler operating on a developer processor and while generating a machine executable instruction from software code, determining whether a functional unit type will be used to perform a process of the machine executable instruction. The method also includes updating a specific needs profile of the process of the machine executable instruction in accordance with the output of the static code profiler, wherein operation of the functional unit having the functional unit type is based on the configuration of the specific needs profile. The method further includes storing the specific needs profile in a configuration register. One or more processes and/or specific needs values or profiles may be loaded at each context switch of the operating system.