Hardware Prefetcher Weak Stream Data Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional prefetchers suffer from latency due to their training period and inability to learn unanticipated data access patterns, degrading performance.

Innovation Solution

Implementing weak stream software data and instruction prefetching using a hardware data prefetcher that executes prefetching operations based on software prefetch instructions provided by the programmer, eliminating the need for training operations and allowing for immediate identification of data access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional prefetchers use training operations to identify data access patterns, then prefetching accuracy is improved, but latency is introduced and performance is degraded

Engineering Contradiction:
Improvedata access pattern identification accuracyVSAvoidtraining period latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The software prefetcher executes prefetch instructions directly without requiring a training period. The programmer provides the data access pattern explicitly through software prefetch instructions, eliminating the need for runtime pattern detection and training operations, thus removing the latency penalty while maintaining accurate prefetching

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The software prefetcher uses explicitly provided software prefetch instructions that directly specify the data access pattern. This self-service approach eliminates the need for the prefetcher to learn patterns through training operations, as the pattern is already known from the software instructions

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If conventional prefetchers use fixed access patterns in their design, then device complexity is reduced, but adaptability to unanticipated patterns is lost

Engineering Contradiction:
Improveability to learn unanticipated data access patternsVSAvoidprefetcher design complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The software prefetcher provides a universal solution that can handle any data access pattern specified by software prefetch instructions. Rather than being limited to fixed patterns, the software prefetcher can adapt to any pattern the programmer specifies, making it highly versatile without requiring complex hardware pattern recognition circuits

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

Data Source

PatentUS10255187B2Systems and methods for implementing weak stream software data and instruction prefetching using a hardware data prefetcher
Publication Date: 2019.04.09 INTEL CORP
  • US10255187B2 patent drawing
  • US10255187B2 patent drawing
  • US10255187B2 patent drawing

AI summary

A method for weak stream software data and instruction prefetching using a hardware data prefetcher is disclosed. A method includes, determining if software includes software prefetch instructions, using a hardware data prefetcher, and, accessing the software prefetch instructions if the software includes software prefetch instructions. Using the hardware data prefetcher, weak stream software data and instruction prefetching operations are executed based on the software prefetch instructions, free of training operations.