Branch Instruction Prediction Accuracy via Method Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current branch prediction methods in processors are inaccurate, leading to significant waiting times and performance losses, as they fail to predict branch instructions effectively, resulting in processor clock cycle losses of about 20 cycles.

Innovation Solution

A method that determines a branch instruction to be predicted based on a target instruction, predicts it using multiple preset methods, evaluates the accuracy of each method, and selects the method with the highest accuracy for improved prediction, adjusting prediction states and cumulative results to enhance prediction accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a processor uses traditional branch prediction methods, then the device complexity is low, but the branch prediction accuracy is poor causing loss of time

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidprocessor waiting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the branch prediction task into multiple independent prediction methods (e.g., static prediction, dynamic prediction, pattern-based prediction). Each method operates independently and contributes to the overall prediction decision, allowing the system to evaluate multiple approaches without increasing complexity of individual components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic selection of prediction methods based on runtime conditions. The system adaptively chooses which prediction method to use based on the specific branch instruction characteristics and historical performance, making the prediction system flexible and responsive rather than static.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If a processor uses multiple branch prediction methods, then the branch prediction accuracy is improved, but the device complexity increases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidprediction system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple prediction methods into a unified prediction framework. Different prediction techniques (static, dynamic, pattern-based) are combined and evaluated together, with their results integrated to form the final branch prediction decision, maximizing accuracy while managing complexity through systematic integration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal prediction system that can handle different types of branch instructions using multiple prediction methods. The system is designed to be multi-functional, accommodating various prediction strategies within a single framework that adapts to different instruction patterns and scenarios.

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

Data Source

PatentUS20240370265A1Branch instruction processing method, system, and device, and computer storage medium
Publication Date: 2024.11.07 INSPUR SUZHOU INTELLIGENT TECH CO LTD
  • US20240370265A1 patent drawing
  • US20240370265A1 patent drawing
  • US20240370265A1 patent drawing

AI summary

The present application discloses a branch instruction processing method, system, and device, and a computer storage medium. The method includes: determining, on the basis of a target branch instruction, a branch instruction to be predicted (S101); predicting, on the basis of a plurality of preset branch prediction methods, the branch instruction to be predicted, so as to obtain a corresponding prediction result (S102); determining the prediction accuracy of each branch prediction method on the basis of the prediction result (S103); determining the branch prediction method corresponding to the highest prediction accuracy as a target branch prediction method (S104); and performing branch prediction on the target branch instruction on the basis of the target branch prediction method (S105).