Multi-degree Branch Predictor Resolving Speed-Accuracy Tradeoff

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in achieving accurate branch predictions while maintaining high processing throughput, due to limitations in the size of history tables used in branch predictors, which affect both speed and accuracy.

Innovation Solution

A multi-degree branch predictor is implemented, where multiple prediction subcircuits with different-sized history tables operate in degrees, generating predictions in different clock cycles. Smaller history tables provide fast initial predictions, while larger tables refine these predictions, with later degrees overriding earlier ones when discrepancies occur.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If larger history tables are used in branch predictors, then prediction accuracy is improved, but processing speed deteriorates

Engineering Contradiction:
Improveprediction accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The branch predictor is divided into multiple prediction subcircuits, each with different-sized history tables (different degrees). This segmentation allows the system to use smaller tables for fast predictions and larger tables for more accurate predictions, resolving the contradiction between speed and accuracy by distributing the prediction function across multiple specialized subcircuits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to the prediction process by having prediction subcircuits operate in different clock cycles. Smaller history tables operate in earlier clock cycles providing fast initial predictions, while larger tables operate in later cycles providing refined predictions. This transforms the speed-accuracy tradeoff from a spatial constraint into a temporal sequence.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If smaller history tables are used in branch predictors, then processing speed is improved, but prediction accuracy deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidprediction accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

Smaller history tables in earlier prediction subcircuits perform preliminary predictions in initial clock cycles. These preliminary actions provide fast predictions that can be used immediately, while larger history tables in later subcircuits perform refined predictions that can correct or override the preliminary ones, ensuring both speed and accuracy are achieved.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback through the multi-degree architecture where predictions from smaller history tables are subject to verification and potential override by larger history tables. This feedback mechanism allows the system to maintain high speed through initial quick predictions while ensuring accuracy through subsequent verification by more comprehensive history tables.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If multiple prediction subcircuits with different history table sizes are used, then both speed and accuracy are balanced, but device complexity increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidpredictor complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Multiple prediction subcircuits implement a common branch prediction scheme, providing universality in the prediction methodology while varying only the history table sizes. This multi-functionality approach allows different subcircuits to serve different purposes (speed vs. accuracy) while maintaining a unified prediction framework, reducing the complexity increase compared to having completely different prediction mechanisms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12236244B1Multi-degree branch predictor
Publication Date: 2025.02.25 APPLE INC
  • US12236244B1 patent drawing
  • US12236244B1 patent drawing
  • US12236244B1 patent drawing

AI summary

A multi-degree branch predictor is disclosed. A processing circuit includes an instruction fetch circuit configured to fetch branch instructions, and a branch prediction circuit having a plurality of prediction subcircuits. The prediction subcircuits are configured to store different amounts of branch history data with respect to other ones, and to receive an indication of a given branch instruction in a particular clock cycle. The prediction subcircuits implement a common branch prediction scheme to output, in different clock cycles, corresponding predictions for the given branch instruction using the different amounts of branch history data and cause, instruction fetches to be performed by the instruction fetch circuit. The prediction subcircuits are also configured to override, in subsequent clock cycles, instruction fetches caused by prediction subcircuits with comparatively less branch history data based on contrary predictions performed in subsequent clock cycles by prediction subcircuits with more branch history data.