Control Flow Prediction Entries for Loop Branch Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in accurately predicting the outcome of control flow instructions, leading to inefficient speculative execution and pipeline flushes due to incorrect predictions, particularly in the context of out-of-order execution and loop iterations.

Innovation Solution

A data processing apparatus with pointer storage and increment circuitry to differentially increment pointers, combined with prediction circuitry that maintains prediction entries and behavior records, uses multiple types of prediction entries to identify control flow instructions based on associated pointers, reducing congestion and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single type of prediction entry is used to identify all control flow instructions, then the prediction mechanism is simple, but pointer congestion and power consumption increase

Engineering Contradiction:
Improveprediction mechanism complexityVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent divides the prediction mechanism into multiple types of prediction entries (first type, second type, third type) that are selectively used based on the control flow instruction characteristics. This segmentation allows the system to use simpler entry types for common cases and more sophisticated entry types for specific cases, reducing overall power consumption while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects which type of prediction entry to use based on the characteristics of the control flow instruction being predicted. This dynamic adaptation allows the prediction mechanism to optimize its operation for each specific case, avoiding the constant high power consumption that would result from always using the most comprehensive entry type.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If multiple prediction entries are maintained to improve prediction accuracy, then prediction accuracy improves, but area requirements increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidarea requirements
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent segments the prediction entries into multiple types with different levels of detail and functionality. By maintaining multiple types of prediction entries rather than a single comprehensive type, the system achieves high prediction accuracy for various control flow scenarios while using area-efficient representations for each entry type.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different types of prediction entries are used for different local cases or categories of control flow instructions. This local optimization allows the system to maintain high prediction accuracy for each specific case while avoiding the need to maintain all possible prediction information for all cases simultaneously, thus reducing overall area requirements.

Inventive Principle:
Principle #3Local quality

3Productivity

If speculative execution is used to improve performance, then execution speed improves, but pipeline flushes occur when predictions are incorrect

Engineering Contradiction:
Improveexecution speedVSAvoidprediction reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by maintaining multiple types of prediction entries with different levels of information before execution occurs. This preliminary preparation of diverse prediction information allows the speculative execution to proceed with higher confidence, reducing the likelihood of incorrect predictions and subsequent pipeline flushes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The prediction mechanism uses feedback from the behavior records associated with each prediction entry type to improve future predictions. By learning from past prediction outcomes and updating the behavior records, the system increases prediction reliability over time, thereby reducing pipeline flushes while maintaining high execution speed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12541371B2Predicting behaviour of control flow instructions using prediction entry types
Publication Date: 2026.02.03 ARM LTD
  • US12541371B2 patent drawing
  • US12541371B2 patent drawing
  • US12541371B2 patent drawing

AI summary

An apparatus stores pointer values for pointers which are incremented differentially and has prediction circuitry to maintain prediction entries each identifying a control flow instruction, an associated pointer, and a behaviour record indicating resolved behaviour of the control flow instruction. Resolved behaviour stored in a selected element of the behaviour record identified using a pointer value of the associated pointer may be used as predicted behaviour for a control flow instruction. The prediction entries include a first type of prediction entry and a further type of prediction entry, where prediction circuitry uses each prediction entry of the first type to identify a control flow instruction whose associated pointer is within a first subset of the pointers, and uses each prediction entry of a further type to identify a control flow instruction whose associated pointer is within a further subset of the pointers excluding at least one pointer of the first subset.