Weighted Performance Counter for Processor Event Measurement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing performance measurement systems in processors face high latency and error due to the need for multiple counters for each metric, which is impractical for fine-grained energy management and does not allow for accurate estimation of performance changes when adjusting processor operating parameters.

Innovation Solution

A weighted performance counter system that combines event signals from multiple functional units within a processor, weighting them according to their performance correlation, allowing for simultaneous counting and reduced latency and error, using a single counter and programmable weights.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a separate counter is provided for each processing unit metric, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidcounter quantity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple event signals from different processing units into a single performance counter. The counter receives weighted event signals representing various processing unit activities and accumulates them simultaneously, eliminating the need for separate counters for each metric while maintaining measurement accuracy through the weighting mechanism.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single performance counter is designed to handle multiple types of events simultaneously by assigning different weights to different event types. This universal counter can measure various processing unit metrics (cache hits, misses, pipeline stages, etc.) in parallel, making one counter perform the function of multiple specialized counters.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Device complexity

If time-multiplexing is used to reduce counter quantity, then device complexity is reduced, but measurement precision deteriorates due to latency and delays

Engineering Contradiction:
Improvecounter quantityVSAvoidmeasurement error
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The performance counter operates continuously to accumulate weighted event signals from multiple processing units simultaneously, without time-multiplexing delays. The counter maintains continuous operation across all event types, ensuring that no measurement delays or inter-metric delays occur, thereby eliminating measurement errors associated with time-multiplexed approaches.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If individual counters are accessed sequentially, then device complexity is reduced, but productivity deteriorates due to inter-metric delay

Engineering Contradiction:
Improvecounter structureVSAvoidperformance measurement speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent merges multiple event counting operations into a single counter that processes all event types simultaneously. By combining the counting function for multiple metrics into one counter with weighted input channels, the system eliminates sequential access requirements and achieves parallel processing of all performance metrics.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7533003B2Weighted event counting system and method for processor performance measurements
Publication Date: 2009.05.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7533003B2 patent drawing
  • US7533003B2 patent drawing
  • US7533003B2 patent drawing

AI summary

A weighted event counting system and method for processor performance measurements provides low latency and low error performance measurement capability. A weighted performance counter accumulates a performance count according to a plurality of event signals provided from functional units in the processor. Differing weights are applied to the event signals in according to the correlation between each event with processor performance. The weights may be provided from programmable registers, so that the weights can be adjusted under program control. The event signals may be combined to reduce the bit-width of the set of event signal, with mutually-exclusive events merged in single fields of the combinatorial result and events having the same weights merged according to a sub-total. The weights are applied to the combinatorial result and used to update a performance count. The performance count can then be used by power management software or hardware to make adjustments in operating parameters of the processor.