Processor Branch Prediction via Coherence Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer processors face challenges in accurately predicting branch directions due to incorrect predictions by existing branch predictors, leading to increased execution time and reduced performance.

Innovation Solution

The implementation of prediction logic that uses a tracking table to update entries with information about executed branch instructions and associated coherence operations, providing hints for branch direction predictions based on coherence operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional branch predictors are used, then the device complexity is low, but the branch prediction accuracy deteriorates leading to increased execution time

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidprediction logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by tracking coherence operations (load, store, exclusive, atomic instructions) before branch execution. The tracking table pre-captures memory access patterns and coherence events associated with branch instructions, enabling the branch predictor to make more accurate predictions based on pre-gathered coherence information rather than relying solely on traditional pattern recognition.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A tracking table is introduced as an intermediary structure between the execution units and the branch predictor. This tracking table stores coherence operation information (load misses, store conflicts, exclusive failures, atomic operation outcomes) that mediates the prediction process by providing additional contextual information about memory coherence events that influence branch behavior, thereby improving prediction accuracy without requiring fundamental changes to the branch predictor architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If branch prediction accuracy is improved using coherence operations, then execution time is reduced, but the device complexity increases due to tracking table requirements

Engineering Contradiction:
Improveexecution time penaltyVSAvoidtracking table structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The tracking table serves multiple functions simultaneously: it tracks coherence operations for branch prediction, records memory access patterns, and provides hints about branch direction based on coherence events. By consolidating these multiple functions into a single data structure, the system reduces execution time penalties without proportionally increasing device complexity, as the same infrastructure supports multiple prediction-enhancing capabilities.

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

Solution Approach 2:

The system changes the parameters used for branch prediction by incorporating coherence operation metrics (such as load miss rates, store conflict frequencies, exclusive operation outcomes, and atomic operation success rates) into the prediction process. These parameter changes enable more accurate predictions that reduce execution time penalties, while the tracking table efficiently manages these additional parameters without excessive complexity through structured storage and selective utilization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11886884B2Branch prediction based on coherence operations in processors
Publication Date: 2024.01.30 INTEL CORP
  • US11886884B2 patent drawing
  • US11886884B2 patent drawing
  • US11886884B2 patent drawing

AI summary

In an embodiment, a processor includes a branch prediction circuit and a plurality of processing engines. The branch prediction circuit is to: detect a coherence operation associated with a first memory address; identify a first branch instruction associated with the first memory address; and predict a direction for the identified branch instruction based on the detected coherence operation. Other embodiments are described and claimed.