Next Branch Table Circuitry for Early Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems with deep pipelines, branch prediction circuitry faces bottlenecks due to the time taken to return predictions after identifying branch instructions, which increases complexity and reduces speed, especially since branch addresses are unknown until identified.

Innovation Solution

The implementation of next branch table circuitry that stores and provides the next branch instruction address before it is identified, allowing branch prediction to commence earlier and improving prediction accuracy by combining with history values, and using hash values to manage predictions in parallel or series within the branch prediction circuitry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If branch prediction circuitry waits for instruction decoding to identify branch instructions, then prediction accuracy is maintained, but prediction speed is reduced and processing bottleneck occurs

Engineering Contradiction:
Improvebranch prediction speedVSAvoidtime to return branch prediction
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The next branch table circuitry performs preliminary action by storing and providing next branch instruction addresses before the instruction decoding circuitry identifies them as branch instructions. This allows the branch prediction circuitry to start prediction operations earlier, reducing the time bottleneck while maintaining accuracy through proper address-based prediction.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If branch prediction circuitry size and complexity are increased to improve accuracy, then prediction accuracy improves, but device complexity increases and speed of operation decreases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidbranch prediction circuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The next branch table circuitry acts as an intermediary between the instruction decoding circuitry and the branch prediction circuitry. It pre-computes and stores next branch addresses, allowing the prediction circuitry to operate with simpler logic by receiving ready-to-use address information rather than waiting for branch identification during decoding.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If branch prediction is performed after branch instruction identification, then prediction reliability is ensured, but processing time is increased

Engineering Contradiction:
Improveprediction reliabilityVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary action by having the next branch table circuitry prepare and provide next branch instruction addresses before the current branch instruction is fully decoded and identified. This enables the branch prediction circuitry to initiate prediction operations in advance, improving throughput while maintaining reliability through accurate address-based prediction.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9135011B2Next branch table for use with a branch predictor
Publication Date: 2015.09.15 THE RGT UNIV OF MICHIGAN
  • US9135011B2 patent drawing
  • US9135011B2 patent drawing
  • US9135011B2 patent drawing

AI summary

A data processing system2 is provided with branch prediction circuitry 20 for performing branch prediction operations. Next branch table circuitry 22 stores data identifying from a given branch instruction what will be the address of the next branch instruction to be encountered within the program flow. This next branch instruction address is supplied to the branch prediction circuitry 20 which uses it to form its prediction prior to that next branch instruction being identified as such by the instruction decoder 16. This permits branch prediction to commence earlier in the branch prediction circuitry 20 than would otherwise be the case.