Conditional Branch Prediction Using Split Pattern History Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing branch prediction schemes face challenges in increasing conditional branch prediction accuracy without significantly increasing the amount of information stored, as longer histories require larger pattern history tables, leading to memory and performance issues.

Innovation Solution

The method involves generating two indices from different portions of the conditional branch history to index separate pattern history tables, allowing for more accurate predictions with reduced storage requirements by using multiple smaller tables instead of a single larger one.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the conditional branch history is extended to improve prediction accuracy, then the pattern history table size must be doubled for each additional history bit, leading to increased storage requirements and timing problems

Engineering Contradiction:
Improveprediction accuracyVSAvoidstorage requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides the pattern history table into multiple smaller tables (first pattern history table, second pattern history table, etc.). Each table stores prediction information for a portion of the conditional branch history, allowing the system to use long history for accurate predictions without requiring a single large table that would consume excessive storage and cause timing issues.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the pattern history table size is increased to accommodate longer history, then prediction accuracy improves, but timing problems and power consumption increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidtiming performance
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

By segmenting the pattern history table into multiple smaller tables, the patent reduces the access time and power consumption associated with reading from a single large table. Each smaller table can be accessed more quickly, improving timing performance while still maintaining the ability to use long conditional branch history for accurate predictions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10318304B2Conditional branch prediction using a long history
Publication Date: 2019.06.11 MIPS TECH INC
  • US10318304B2 patent drawing
  • US10318304B2 patent drawing
  • US10318304B2 patent drawing

AI summary

Methods and conditional branch predictors for predicting an outcome of a conditional branch instruction in a program executed by a processor using a long conditional branch history include generating a first index from a first portion of the conditional branch history and a second index from a second portion of the conditional branch history. The first index is then used to identify an entry in a first pattern history table including first prediction information; and the second index is used to identify an entry in a second pattern history table including second prediction information. The outcome of the conditional branch is predicted based on the first and second prediction information.