Processor Linked-List Prefetching for Cache Miss Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware prefetch techniques struggle with linked list structures due to the lack of regularity in data addresses, leading to high cache miss rates and reduced processing performance, as they are unable to effectively predict memory access patterns.

Innovation Solution

A processor design incorporating a linked list structure detection unit and a pre-acquisition control unit that identifies linked list structures and proactively fetches data from memory before the load instruction, using a pre-acquisition queue to manage cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware prefetch is used for regular address patterns, then processing performance is improved, but it fails to handle linked list structures with irregular addresses

Engineering Contradiction:
Improveprocessing performanceVSAvoidadaptability to different data structures
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts its prefetching behavior based on the detected data structure type. For regular address patterns, traditional hardware prefetch is used. For linked list structures detected through pattern recognition, the system switches to a different prefetching strategy that accounts for irregular address sequences, thereby maintaining high performance across diverse data structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the prefetching parameters and strategy based on the detected data structure characteristics. When linked list structures are identified through pattern matching, the prefetching mechanism adjusts its address prediction algorithm and timing parameters to suit the irregular memory access patterns inherent in linked lists, rather than applying a fixed prefetching approach.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If data is read directly from memory without cache checking for linked list structures, then cache miss latency is reduced, but processing performance of the arithmetic unit deteriorates

Engineering Contradiction:
Improvecache miss latencyVSAvoidprocessing performance of arithmetic unit
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary prefetching of data that will be needed by the arithmetic unit, even for linked list structures with irregular addresses. By detecting the linked list pattern and proactively fetching data into the cache before it is needed, the system eliminates cache miss latency without causing the arithmetic unit to wait, thereby resolving the contradiction between reduced latency and maintained processing performance.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If traditional prefetching is applied to all data, then regular address data benefits, but linked list structure data suffers from incorrect predictions

Engineering Contradiction:
Improvethroughput for regular dataVSAvoidaccuracy of address prediction
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the prefetching mechanism into different pathways based on data structure type. One pathway handles regular address patterns with traditional hardware prefetch, while another pathway handles linked list structures detected through pattern recognition. This segmentation ensures that each data structure type receives the appropriate prefetching treatment, maintaining high throughput for regular data and prediction accuracy for linked lists.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250383993A1Processor, information processing apparatus, and information processing method
Publication Date: 2025.12.18 FUJITSU LTD
  • US20250383993A1 patent drawing
  • US20250383993A1 patent drawing
  • US20250383993A1 patent drawing

AI summary

In a processor, a control unit determines whether data to be read by a load instruction is present in a cache and processes the load instruction by making a data response by, on the basis of a determination result, using data stored in the cache or a memory, a linked list structure detection unit detects a first load instruction in which data having a linked list structure is taken as an object to be read, and a pre-acquisition control unit predicts that a first type of data to be read by the first load instruction detected by the linked list structure detection unit will not be present in the cache and causes the control unit to read the first type of data from the memory prior to processing of the first load instruction and to process the first load instruction by using the first type of data read previously.