Dynamic Clock Voltage Scaling via Program Phase Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dynamic clock and voltage scaling techniques in processors fail to account for significant variations in program runtime characteristics, particularly during memory-intensive phases, leading to missed opportunities for power and energy savings due to coarse time granularity and limited visibility into hardware behavior.

Innovation Solution

A cooperative hardware and software/firmware mechanism that detects program phases where the processor is waiting on data from the memory subsystem, using hardware counters to track statistics and predict memory-boundedness, allowing for fine-grained dynamic clock and voltage scaling to optimize power consumption and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If operating system software makes DCVS decisions based on coarse time granularity sampling, then device complexity is reduced, but power and energy saving opportunities are lost due to inability to detect fine-grained memory-bound phases

Engineering Contradiction:
Improvepower and energy savingsVSAvoidDCVS control granularity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent segments the DCVS control mechanism into two independent components: (1) hardware performance monitoring units that continuously track processor activity at fine-grained levels, and (2) software DCVS controllers that make scaling decisions. This segmentation allows the hardware to capture detailed memory-bound phase information without increasing software complexity, enabling energy savings while maintaining manageable device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces hardware performance monitoring units as an intermediary between the processor and the DCVS software. These units continuously monitor processor activity, detect memory-bound phases, and provide this information to the DCVS controller. This intermediary layer enables fine-grained detection capabilities without requiring the software to implement complex monitoring logic, thus achieving energy savings while keeping device complexity manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of energy

If voltage and frequency are scaled down during memory-bound phases, then power consumption is reduced, but performance may be compromised if scaling occurs during compute-intensive phases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessor performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism where hardware performance monitoring units continuously track processor activity characteristics and provide this information to the DCVS controller. The controller uses this feedback to accurately identify memory-bound phases versus compute-intensive phases, enabling it to scale voltage and frequency down during memory-bound phases to reduce power consumption while maintaining full performance during compute-intensive phases.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent makes the DCVS system dynamic by enabling real-time adjustment of voltage and frequency based on detected program phases. The system transitions between different operating states (high performance vs. low power) depending on whether the processor is in a compute-intensive or memory-bound phase, optimizing the balance between power consumption and performance based on actual runtime conditions.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If hardware counters and cooperative mechanisms are added to detect program phases, then measurement precision of processor state is improved, but device complexity increases

Engineering Contradiction:
Improveprocessor state detection accuracyVSAvoidhardware and software mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the measurement function into dedicated hardware performance monitoring units that are separate from the main processor and DCVS control logic. These specialized hardware counters focus exclusively on tracking processor activity characteristics, providing high measurement precision without requiring the main processor or DCVS software to become more complex. The segmentation isolates the complexity to dedicated monitoring components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware performance monitoring units operate autonomously, continuously tracking processor activity and automatically detecting memory-bound phases without requiring intervention from the main processor or software. This self-service capability enables high measurement precision while minimizing the complexity burden on the rest of the system, as the monitoring function is self-contained in dedicated hardware.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10551896B2Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase
Publication Date: 2020.02.04 QUALCOMM INC
  • US10551896B2 patent drawing
  • US10551896B2 patent drawing
  • US10551896B2 patent drawing

AI summary

The disclosure generally relates to dynamic clock and voltage scaling (DCVS) based on program phase. For example, during each program phase, a first hardware counter may count each cycle where a dispatch stall occurs and an oldest instruction in a load queue is a last-level cache miss, a second hardware counter may count total cycles, and a third hardware counter may count committed instructions. Accordingly, a software/firmware mechanism may read the various hardware counters once the committed instruction counter reaches a threshold value and divide a value of the first hardware counter by a value of the second hardware counter to measure a stall fraction during a current program execution phase. The measured stall fraction can then be used to predict a stall fraction in a next program execution phase such that optimal voltage and frequency settings can be applied in the next phase based on the predicted stall fraction.