Fast Index Tree Accelerates Branch Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing branch prediction techniques in computer processing systems face inefficiencies due to pipeline stalls caused by conditional branch instructions, leading to increased latency and reduced throughput, as they often require multiple cycles to resolve branch targets, especially when auxiliary structures like pattern history tables and multiple target tables are not needed.

Innovation Solution

A fast index tree (FIT) structure is introduced to accelerate branch prediction by re-indexing the branch target buffer (BTB) search, using a content addressable memory to translate between BTB and FIT locations, and redirecting searches based on taken and not-taken branch paths, thereby reducing the number of cycles required for prediction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional branch prediction methods are used, then branch target prediction can be performed, but pipeline stalls occur due to multiple cycles required to resolve branch targets

Engineering Contradiction:
Improvebranch prediction throughputVSAvoidre-indexing cycles
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing branch target predictions in the branch target buffer (BTB) before the branch instruction is executed. The Fast Index Tree (FIT) structure pre-calculates next search addresses based on taken and not-taken paths, allowing the BTB search to skip unnecessary cycles and achieve faster branch target resolution without waiting for execution stage completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces the Fast Index Tree (FIT) structure as an intermediary between the branch instruction and the BTB search. The FIT structure takes the branch address and predicts the next search address in the BTB, acting as a mediator that accelerates the re-indexing process and reduces the number of cycles required to locate branch target predictions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If auxiliary structures like pattern history tables and multiple target tables are used, then prediction accuracy may improve, but device complexity and power consumption increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidauxiliary structures
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies the extraction principle by removing unnecessary auxiliary structures (pattern history tables and multiple target tables) from the branch prediction system. The invention demonstrates that the BTB combined with the FIT structure can achieve sufficient prediction accuracy without these additional components, thereby simplifying the device architecture and reducing power consumption while maintaining effective branch prediction.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9250912B2Fast index tree for accelerated branch prediction
Publication Date: 2016.02.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9250912B2 patent drawing
  • US9250912B2 patent drawing
  • US9250912B2 patent drawing

AI summary

Embodiments relate to using a fast index tree for accelerated branch prediction. A system includes a branch target buffer, a FIT structure, and a processing circuit configured to perform a method. The method includes determining that searching of the branch target buffer is to be performed under FIT control. A current search address for searching of the branch target buffer is saved. The branch target buffer is searched at the saved current search address for a branch prediction. A FIT next-search address is determined based on reading branch taken and branch not taken paths for a next search level of predicted branches from the FIT structure. The searching of the branch target buffer is re-indexed based on the FIT next-search address. It is determined whether the searching at the saved current search address located the branch prediction.