Micro Branch Target Buffer Zero Bubble Prediction

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 inability to accurately predict branches with dynamic outcomes, leading to wasted performance and energy, especially when not incorporating conditional branch predictors or employing content addressable memory (CAM) operations.

Innovation Solution

A micro branch target buffer (BTB) is introduced, separate from the main BTB, which includes a graph structure with link pointers for taken and not-taken branches, and a content addressable memory (CAM) to predict branches with zero bubble insertion, reducing power consumption and improving performance by decoupling prediction information through a queuing mechanism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional BTB is used to predict branch instructions, then branch prediction capability is provided, but performance penalty (bubble) occurs for predicted-taken branches

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidperformance penalty
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the BTB into two separate structures: a micro BTB for handling inner portion branches with zero bubble insertion, and a main BTB for other branches. This segmentation allows the system to eliminate performance penalties for frequently executed inner loop branches while maintaining overall branch prediction capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The micro BTB performs branch prediction in advance for inner portion branches, producing prediction information that is queued and made available before the main front end logic section needs it. This preliminary action ensures that prediction results are ready without causing pipeline bubbles.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a large BTB structure is used to improve prediction coverage, then more branches can be predicted, but energy consumption increases

Engineering Contradiction:
Improveprediction coverageVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent segments the BTB into a small micro BTB and a larger main BTB. The micro BTB focuses on inner portion branches with lower energy consumption, while the main BTB handles other branches. This segmentation reduces overall energy consumption compared to using a single large BTB for all branches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different qualities to different parts of the BTB system. The micro BTB uses a simplified structure with zero bubble insertion logic optimized for inner portion branches, while the main BTB uses the conventional structure. This local optimization reduces energy consumption for the most frequently executed branches.

Inventive Principle:
Principle #3Local quality

3Device complexity

If a smaller and simpler BTB is used to reduce complexity, then device complexity is reduced, but prediction accuracy for dynamic branches decreases

Engineering Contradiction:
ImproveBTB structure complexityVSAvoidprediction accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the prediction task into two parts: the micro BTB handles inner portion branches with a simple structure, while the main BTB handles other branches with more complex logic. This segmentation allows the simple micro BTB to achieve high accuracy for its specific domain without requiring the full complexity needed for all branch types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a decoupling queue as an intermediary between the micro BTB and the main front end logic section. This queue buffers prediction information and allows the micro BTB to operate independently with simpler logic, while still providing accurate predictions through the intermediary buffering mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If CAM operations are used in BTB to detect branch matches, then accurate branch detection is achieved, but energy consumption increases

Engineering Contradiction:
Improvebranch detection accuracyVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by stationary object

Solution Approach 1:

The patent segments the CAM usage into two parts: the micro BTB uses a small CAM for inner portion branches, and the main BTB uses a larger CAM for other branches. This segmentation reduces the energy consumption of CAM operations for frequently executed inner loop branches while maintaining accurate detection capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10402200B2High performance zero bubble conditional branch prediction using micro branch target buffer
Publication Date: 2019.09.03 SAMSUNG ELECTRONICS CO LTD
  • US10402200B2 patent drawing
  • US10402200B2 patent drawing
  • US10402200B2 patent drawing

AI summary

Embodiments include a micro BTB, which can predict up to two branches per cycle, every cycle, with zero bubble insertion on either a taken or not taken prediction, thereby significantly improving performance and reducing power consumption of a microprocessor. A front end of a microprocessor can include a main front end logic section having a main BTB, a micro BTB to produce prediction information, and a decoupling queue. The micro BTB can include a graph having multiple entries, and a CAM having multiple items. Each of the entries of the graph can include a link pointer to a next branch in a taken direction, and a link pointer to a next branch in a not-taken direction. The micro BTB can insert a hot branch into the graph as a new seed.