Multi-table Signature Prefetch for Cache Miss Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current prefetching techniques in computer processors face inefficiencies due to cache misses and limitations in predicting instruction paths, particularly with control transfer instructions, leading to reduced performance and increased circuit area requirements.

Innovation Solution

Implementing multiple independent signature prefetch tables that use different signature generation techniques, such as XOR operations and varying history lengths, to improve prefetch accuracy and reduce cache misses, while allowing for flexible lead times and adaptive training based on hit thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple signature prefetch tables are implemented, then prefetch accuracy and coverage are improved, but device complexity and circuit area increase

Engineering Contradiction:
Improveprefetch accuracyVSAvoidcircuit area
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the prefetcher into multiple independent signature tables (first signature table and second signature table), each handling different types of control transfer instructions. This segmentation allows each table to specialize in specific instruction types, improving overall prefetch accuracy while keeping individual table complexities manageable

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of classification by creating separate signature tables for different control transfer instruction types (calls/returns vs. branches). This dimensional separation enables the system to track and predict multiple execution paths simultaneously, improving coverage without requiring a single overly complex table

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

2Adaptability or versatility

If multiple signature prefetch tables are implemented, then prefetch coverage is improved, but device complexity increases

Engineering Contradiction:
Improveprefetch coverageVSAvoidcircuit area
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the prefetch coverage across multiple tables, with the first table handling calls and returns, and the second table handling branches. This segmentation allows each table to be optimized for its specific instruction type, improving overall coverage while limiting the complexity growth of individual components

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each signature table is designed to be universally applicable to its designated instruction types, with configurable history lengths and XOR operation parameters. This multi-functionality within each table allows them to handle various instruction patterns efficiently, improving coverage without requiring separate specialized circuits for each case

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

3Measurement precision

If longer history lengths are used in signature generation, then prefetch accuracy is improved, but productivity and processing speed decrease

Engineering Contradiction:
Improveprefetch accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements dynamic history length configuration, where the first and second signature tables can use different history lengths optimized for their respective instruction types. This dynamic adaptation allows the system to use longer histories where beneficial for accuracy while maintaining shorter histories where speed is critical, balancing both requirements

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11630670B2Multi-table signature prefetch
Publication Date: 2023.04.18 APPLE INC
  • US11630670B2 patent drawing
  • US11630670B2 patent drawing
  • US11630670B2 patent drawing

AI summary

Techniques are disclosed relating to signature-based instruction prefetching. In some embodiments, processor pipeline circuitry executes a computer program that includes control transfer instructions, such that the execution follows a taken path through the computer program. First signature prefetch table circuitry indicates prefetch addresses for signatures generated using a first signature generation technique and second signature prefetch table circuitry indicates prefetch addresses for signatures generated using a second, different signature generation technique. Signature prefetch circuitry, in response to a prefetch training event, determines a first signature according to the first technique and a second signature according to the second technique and selects one but not both of the first and second signature prefetch tables to train using the first signature or the second signature.