Hierarchical Branch Prediction Using Micro-BTB Enablement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional branch target buffers (BTBs) incur performance and energy penalties due to their large size and inefficiencies in predicting branch instructions, especially when dynamic outcomes are involved, leading to wasted resources and energy consumption.

Innovation Solution

A hierarchical branch prediction system comprising a main-BTB and a smaller micro-BTB, with confidence counters and misprediction rate counters to evaluate and enable the usage of prediction information, allowing dynamic switching between the two based on performance metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional large BTB is used to predict branch instructions, then branch prediction coverage is improved, but energy consumption and performance penalty increase

Engineering Contradiction:
Improvebranch prediction coverageVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent divides the branch prediction system into two segments: a small micro-BTB for low-power operation and a large main-BTB for high-performance operation. The micro-BTB handles common branch prediction tasks with minimal energy consumption, while the main-BTB provides comprehensive coverage when needed. This segmentation resolves the contradiction by allowing the system to achieve adequate prediction coverage through the small micro-BTB most of the time, avoiding the continuous energy cost of the large main-BTB.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic switching between micro-BTB and main-BTB based on runtime conditions such as branch prediction accuracy requirements and power state. An enablement circuit dynamically activates the main-BTB only when the micro-BTB fails to provide accurate predictions or when performance requirements demand it. This dynamic approach resolves the contradiction by adapting the prediction coverage to actual needs rather than maintaining constant high coverage at high energy cost.

Inventive Principle:
Principle #15Dynamics

2Loss of energy

If a smaller and simpler BTB is used to reduce energy consumption, then energy efficiency is improved, but branch prediction accuracy deteriorates

Engineering Contradiction:
Improveenergy efficiencyVSAvoidbranch prediction accuracy
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent merges the micro-BTB and main-BTB into a unified hierarchical system where both structures coexist and work together. The micro-BTB operates as the primary predictor for energy efficiency, while the main-BTB serves as a backup for accuracy-critical cases. This merging resolves the contradiction by combining the energy efficiency of the small micro-BTB with the accuracy assurance of the large main-BTB, achieving both goals simultaneously rather than forcing a trade-off.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an enablement circuit and confidence counter as intermediary components that mediate between the micro-BTB and main-BTB. These intermediaries monitor the micro-BTB's prediction accuracy and dynamically enable the main-BTB when prediction confidence is low or misprediction rate is high. This intermediary mechanism resolves the contradiction by automatically compensating for the micro-BTB's limited accuracy with the main-BTB's comprehensive coverage only when necessary, maintaining energy efficiency while ensuring prediction accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If a conventional BTB with conditional branch predictor is used, then prediction capability is improved, but device complexity and performance penalty increase

Engineering Contradiction:
Improveprediction capabilityVSAvoidBTB structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the prediction capability into two levels: basic prediction handled by the simple micro-BTB and advanced prediction handled by the main-BTB. The micro-BTB implements only essential branch prediction functions with minimal structure, while the main-BTB provides sophisticated prediction capabilities when activated. This segmentation resolves the contradiction by delivering adequate prediction capability through the simple micro-BTB most of the time, avoiding the complexity overhead of the advanced main-BTB structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic control of the main-BTB activation through an enablement circuit that responds to runtime conditions such as misprediction rate and confidence counter values. The complex main-BTB structure remains inactive by default, reducing effective device complexity, and is activated only when prediction capability requirements exceed what the micro-BTB can provide. This dynamic approach resolves the contradiction by adapting the effective complexity to actual prediction needs rather than maintaining constant high capability at constant complexity cost.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11113063B2Method and apparatus to control the use of hierarchical branch predictors based on the effectiveness of their results
Publication Date: 2021.09.07 SAMSUNG ELECTRONICS CO LTD
  • US11113063B2 patent drawing
  • US11113063B2 patent drawing
  • US11113063B2 patent drawing

AI summary

According to one general aspect, an apparatus may include a main-branch target buffer (BTB). The apparatus may include a micro-BTB separate from and smaller than the main-BTB, and configured to produce prediction information associated with a branching instruction. The apparatus may include a micro-BTB confidence counter configured to measure a correctness of the prediction information produced by the micro-BTB. The apparatus may further include a micro-BTB misprediction rate counter configured to measure a rate of mispredictions produced by the micro-BTB. The apparatus may also include a micro-BTB enablement circuit configured to enable a usage of the micro-BTB's prediction information, based, at least in part, upon the values of the micro-BTB confidence counter and the micro-BTB misprediction rate counter.