Shared Pointer for Local History Records in Prediction Circuitry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing prediction mechanisms in data processing systems face challenges in achieving accurate predictions while maintaining low overhead, as they often rely on global history records which are less accurate and require significant circuit area and power for local history record maintenance.

Innovation Solution

The use of local history records with a shared pointer that indicates a common storage position across multiple records, allowing for more accurate predictions with reduced overhead by enabling efficient misprediction recovery and tagging of instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If global history records are used for prediction, then prediction coverage is improved, but prediction accuracy deteriorates and circuit area increases

Engineering Contradiction:
Improveprediction coverageVSAvoidprediction accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent divides the global history record into multiple local history records, each dedicated to tracking instruction behavior for specific instruction address subsets. This segmentation allows each local record to specialize in particular instruction patterns, improving prediction accuracy for those patterns while maintaining comprehensive coverage through the collection of all local records.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each local history record is optimized to track instruction behavior characteristics specific to its assigned instruction address subset. This local quality approach ensures that prediction is tailored to the specific behavior patterns of different instruction types and locations, rather than using a single generic global history for all instructions.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If local history records are maintained for each instruction address subset, then prediction accuracy is improved, but circuit area and power consumption increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidcircuit area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

Multiple local history records share common storage infrastructure and control logic, merging resources that would otherwise be duplicated. The patent implements a shared history buffer that can be accessed by multiple local records, and uses common update and read control circuitry to serve all local records, significantly reducing the total circuit area required.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared history storage and control circuitry serves multiple local history records simultaneously, making these components multi-functional. A single history buffer can store records for different instruction subsets, and the control logic can direct updates and reads to any appropriate local record based on the current instruction being predicted.

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

3Reliability

If separate pointers are maintained for each local history record, then misprediction recovery accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvemisprediction recovery accuracyVSAvoidpointer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple local history records share a common pointer mechanism for tracking the current position in the shared history buffer. This shared pointer approach eliminates the need for separate pointer storage and update logic for each local record, reducing device complexity while maintaining the ability to accurately track positions for misprediction recovery.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared pointer acts as an intermediary that mediates access to the shared history buffer for multiple local records. Instead of each local record having direct independent access with its own pointer, the shared pointer provides a unified interface that simplifies pointer management while enabling accurate position tracking for all local records.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11334361B2Shared pointer for local history records used by prediction circuitry
Publication Date: 2022.05.17 ARM LTD
  • US11334361B2 patent drawing
  • US11334361B2 patent drawing
  • US11334361B2 patent drawing

AI summary

An apparatus has processing circuitry, and history storage circuitry to store local history records. Each local history record corresponds to a respective subset of instruction addresses and tracks a sequence of observed instruction behaviour observed for successive instances of instructions having addresses in that subset. Pointer storage circuitry to store a shared pointer shared between the local history records. The shared pointer indicates a common storage position reached in each local history record. Prediction circuitry determines predicted instruction behaviour for a given instruction address based on a selected portion of a selected local history record stored in the history storage circuitry. The prediction circuitry selects the selected local history record based on the given instruction address and selects the selected portion based on the shared pointer.