Branch Prediction Using Hint Instructions to Reduce Hardware Complexity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-issue processors require complex and costly branch prediction mechanisms to predict a first taken branch instruction, leading to increased hardware complexity and chip area, as they need multiple comparison and directional prediction circuits for each instruction.

Innovation Solution

A branch prediction method and device that determines the first taken branch instruction using hint instructions or latest statistics, enabling branch prediction on at most one fetched instruction per clock cycle with a single set of comparator and direction predictor, reducing hardware complexity by using a multiplexer and single prediction logic module.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple comparison and directional prediction circuits are used for each fetched instruction, then branch prediction accuracy is improved, but hardware complexity and chip area increase significantly

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the branch prediction function by identifying and isolating the first taken branch instruction from multiple fetched instructions. Instead of predicting all fetched instructions simultaneously, the system focuses prediction resources on only the first taken branch, dividing the prediction task into manageable portions and reducing the number of required prediction circuits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing branch prediction only on the first taken branch instruction rather than all fetched instructions. This selective approach uses prediction resources efficiently, applying full prediction capability only where necessary (for the first taken branch) while using simpler handling for subsequent branches, thereby reducing overall hardware complexity while maintaining accuracy.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If multiple comparison and directional prediction circuits are used for each fetched instruction, then branch prediction accuracy is improved, but material and design costs increase

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidmaterial and design costs
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent segments the branch prediction function by identifying and isolating the first taken branch instruction from multiple fetched instructions. Instead of predicting all fetched instructions simultaneously, the system focuses prediction resources on only the first taken branch, dividing the prediction task into manageable portions and reducing the number of required prediction circuits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing branch prediction only on the first taken branch instruction rather than all fetched instructions. This selective approach uses prediction resources efficiently, applying full prediction capability only where necessary (for the first taken branch) while using simpler handling for subsequent branches, thereby reducing overall hardware complexity while maintaining accuracy.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If multiple comparison and directional prediction circuits are used for each fetched instruction, then branch prediction capability is improved, but overall chip area increases

Engineering Contradiction:
Improvebranch prediction capabilityVSAvoidchip area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent segments the branch prediction function by identifying and isolating the first taken branch instruction from multiple fetched instructions. Instead of predicting all fetched instructions simultaneously, the system focuses prediction resources on only the first taken branch, dividing the prediction task into manageable portions and reducing the number of required prediction circuits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing branch prediction only on the first taken branch instruction rather than all fetched instructions. This selective approach uses prediction resources efficiently, applying full prediction capability only where necessary (for the first taken branch) while using simpler handling for subsequent branches, thereby reducing overall hardware complexity while maintaining accuracy.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7664941B2Branch prediction methods and devices capable of predicting first taken branch instruction within plurality of fetched instructions
Publication Date: 2010.02.16 FARADAY TECH CORP
  • US7664941B2 patent drawing
  • US7664941B2 patent drawing
  • US7664941B2 patent drawing

AI summary

A branch prediction method, capable of predicting a first taken branch instruction within a plurality of fetched instructions, includes: determining whether one of the fetched instructions is the first taken branch instruction to be predicted according to hint instruction(s) or according to latest statistics of whether respective fetched instructions have been taken. The branch prediction method further includes: if one of the fetched instructions is determined to be the first taken branch instruction, performing branch prediction on the first taken branch instruction.