Multi-Way Pattern History Table Branch Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing branch prediction methods in processor pipelines face inefficiencies in predicting multiple branches simultaneously and updating global path vectors, leading to penalties from incorrect predictions.

Innovation Solution

A multi-way pattern history table (PHT) indexed using a global path vector (GPV) allows for simultaneous prediction of multiple branches, updating the GPV only upon taken branches to enable efficient branch prediction, and can be used in conjunction with a branch target buffer (BTB) for asynchronous or synchronous prediction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a traditional branch prediction structure is used, then the prediction accuracy for single branches is maintained, but the throughput for multiple simultaneous branch predictions is limited

Engineering Contradiction:
Improvebranch prediction throughputVSAvoidprediction structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The branch prediction structure is segmented into multiple independent prediction paths (first prediction path, second prediction path, third prediction path) that can simultaneously evaluate different branches. Each path has its own comparison logic and prediction output, enabling parallel processing of multiple branches without interference, thus increasing throughput while maintaining manageable complexity through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by implementing multiple prediction paths that operate simultaneously on different branch instructions. Instead of sequentially processing branches through a single prediction unit, the system evaluates multiple branches in parallel across different paths, effectively adding a temporal parallelism dimension to the prediction architecture

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If the global path vector is updated for every branch prediction, then the prediction accuracy is maintained, but the performance penalty from incorrect predictions increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidprediction penalty
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by updating the global path vector only for predictions made through the first prediction path, while predictions from the second and third paths do not trigger updates. This selective updating approach maintains sufficient prediction accuracy for the critical path while avoiding the performance penalty of updating the path vector for every prediction attempt, thus reducing the time loss from incorrect predictions

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Different prediction paths are assigned different update behaviors based on their local characteristics. The first prediction path, which handles critical branches, updates the global path vector to maintain high accuracy, while other paths use the path vector without updating it, accepting lower accuracy in exchange for avoiding update penalties. This local differentiation optimizes the overall system performance

Inventive Principle:
Principle #3Local quality

3Productivity

If multiple branch predictions are made simultaneously, then the throughput is increased, but the probability of incorrect predictions and associated penalties increases

Engineering Contradiction:
Improveprediction throughputVSAvoidprediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The simultaneous prediction process is segmented into multiple independent paths, each with its own accuracy characteristics. By dividing the prediction workload across separate paths rather than attempting a single comprehensive prediction, the system maintains higher reliability for each individual prediction while achieving high overall throughput through parallel operation of multiple segmented paths

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10642619B2Branch prediction using multi-way pattern history table (PHT) and global path vector (GPV)
Publication Date: 2020.05.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10642619B2 patent drawing
  • US10642619B2 patent drawing
  • US10642619B2 patent drawing

AI summary

Embodiments relate to branch prediction using a pattern history table (PHT) that is indexed using a global path vector (GPV). An aspect includes receiving a search address by a branch prediction logic that is in communication with the PHT and the GPV. Another aspect includes starting with the search address, simultaneously determining a plurality of branch predictions by the branch prediction logic based on the PHT, wherein the plurality of branch predictions comprises one of: (i) at least one not taken prediction and a single taken prediction, and (ii) a plurality of not taken predictions. Another aspect includes updating the GPV by shifting an instruction identifier of a branch instruction associated with a taken prediction into the GPV, wherein the GPV is not updated based on any not taken prediction.