Branch Target Buffer With Gated Word Lines For Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional branch prediction mechanisms in processors are inefficient due to high power consumption and complexity, particularly in accessing the Branch Target Buffer (BTB) memory array, which leads to significant performance penalties and increased power usage, especially in devices with limited power resources like laptops and mobile devices.

Innovation Solution

A Branch Target Buffer (BTB) memory array with gated word lines and a word line gating circuit that conditionally enables access based on branch history data, reducing unnecessary READ operations and conserving power by only accessing data entries predicted to be needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If conventional branch prediction mechanisms access the BTB memory array for every branch instruction, then complete branch information is available, but power consumption increases significantly

Engineering Contradiction:
Improvepower consumptionVSAvoidbranch prediction accuracy
Core Design Contradiction:
Use of energy by stationary objectVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-computing branch history information and storing it in the BTB before actual branch execution. The branch history unit calculates taken/not-taken patterns in advance, and this pre-computed data is stored in the BTB memory array. When a branch instruction is encountered, the pre-stored history information is immediately available, avoiding the need for real-time computation and reducing power consumption during actual branch handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the essential branch history information (taken/not-taken patterns) from the complete branch data and stores it in the BTB. Instead of accessing and processing all branch instruction details, the system extracts and stores only the critical prediction-relevant data. This extraction reduces the amount of data that needs to be accessed and processed, thereby reducing power consumption while maintaining prediction accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If the BTB memory array is accessed for every branch instruction, then accurate branch prediction is achieved, but processing speed decreases due to access delays

Engineering Contradiction:
Improvebranch instruction processing speedVSAvoidbranch prediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The branch history information is pre-computed and stored in the BTB before branch execution occurs. This preliminary preparation eliminates the need for real-time memory access during branch handling, allowing the processor to quickly retrieve prediction information and maintain high processing speed without sacrificing accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The BTB acts as an intermediary structure between the branch instruction and the branch prediction logic. Instead of directly accessing complex branch information during execution, the system uses the BTB as a intermediate storage layer that holds pre-processed prediction data. This intermediary approach simplifies the access path and reduces delays in the branch prediction process.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If complex branch prediction mechanisms are implemented, then prediction accuracy improves, but device complexity increases

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

Solution Approach 1:

The branch prediction mechanism is segmented into distinct functional components: a branch history unit for computing history patterns, a BTB memory array for storing pre-computed information, and a prediction logic unit for using the stored data. This segmentation allows each component to perform its specific function efficiently, reducing overall system complexity while maintaining high prediction accuracy through specialized processing in each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and isolates the critical branch history computation function into a separate branch history unit, distinct from the main execution pipeline. By extracting this specific function and handling it separately with dedicated hardware, the system achieves accurate branch prediction without requiring complex interwoven logic throughout the entire processor, thereby reducing overall device complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7471574B2Branch target buffer and method of use
Publication Date: 2008.12.30 SAMSUNG ELECTRONICS CO LTD
  • US7471574B2 patent drawing
  • US7471574B2 patent drawing
  • US7471574B2 patent drawing

AI summary

A branch target buffer (BTB) storing a data entry related to a branch instruction is disclosed. The BTB conditionally enables access to the data entry in response to a word line gating circuit associated with a word line in the BTB. The word line gating circuit stores a word line gating value derived from branch history data related to the instruction. Additionally, a branch prediction unit and a processor incorporating the BTB are disclosed, along with methods for operating the BTB.