Virtualized Weight Perceptron Branch Predictor

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Perceptron branch predictors, while providing highly accurate branch predictions, are expensive in terms of silicon area and cycle time due to the need for storing signed integer weights for each bit in the history vector, with many weights being close to zero and thus having little effect on the prediction.

Innovation Solution

The implementation of virtualized weight perceptron branch prediction, where a virtualization map selects between history values and weights, allowing fewer weights to be stored while maintaining prediction accuracy by mapping influential history bits to weights and periodically retraining to identify and adjust weights near zero.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If perceptron branch predictors store signed integer weights for each bit in the history vector, then prediction accuracy is improved, but silicon area and cycle time increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidsilicon area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent extracts only the essential information from the history vector by selecting a subset of bits rather than using all bits. The virtualization map selectively maps important history bits to weights, eliminating redundant weight storage while maintaining prediction accuracy. This reduces the number of weights from the full history length to a smaller effective subset.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The virtualization map dynamically reconfigures which history bits are mapped to weights based on runtime conditions. The system can adaptively select different history bits for different prediction scenarios, allowing the same weight storage structure to effectively utilize varying portions of the history vector without requiring static allocation for all possible bits.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If perceptron branch predictors store signed integer weights for each bit in the history vector, then prediction accuracy is improved, but cycle time increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidcycle time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

By extracting only the necessary weights through the virtualization map, the patent reduces the number of weight operations required per prediction cycle. This selective weight application decreases the computational burden and reduces cycle time while maintaining the predictive power derived from the full history vector.

Inventive Principle:
Principle #2Taking out (Extraction)

3Area of stationary object

If fewer weights are stored through virtualization, then silicon area is reduced, but prediction accuracy may deteriorate

Engineering Contradiction:
Improvesilicon areaVSAvoidprediction accuracy
Core Design Contradiction:
Area of stationary objectVSMeasurement precision

Solution Approach 1:

The virtualization map acts as an intermediary between the full history vector and the reduced weight set. It translates and maps the essential information from the complete history into a compact representation that can be stored in fewer weights, preserving prediction accuracy while reducing storage requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The dynamic reconfiguration capability allows the system to adaptively select the most informative history bits for mapping to weights. This ensures that the reduced weight set consistently captures the essential prediction patterns, maintaining accuracy despite the reduced number of stored weights.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9934040B2Perceptron branch predictor with virtualized weights
Publication Date: 2018.04.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9934040B2 patent drawing
  • US9934040B2 patent drawing
  • US9934040B2 patent drawing

AI summary

According to an aspect, virtualized weight perceptron branch prediction is provided in a processing system. A selection is performed between two or more history values at different positions of a history vector based on a virtualization map value that maps a first selected history value to a first weight of a plurality of weights, where a number of history values in the history vector is greater than a number of the weights. The first selected history value is applied to the first weight in a perceptron branch predictor to determine a first modified virtualized weight. The first modified virtualized weight is summed with a plurality of modified virtualized weights to produce a prediction direction. The prediction direction is output as a branch predictor result to control instruction fetching in a processor of the processing system.