Hardware Prefetcher Suppression via Control Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in optimizing the execution of instructions, particularly complex ones like floating-point operations and load/store operations, which can lead to inefficiencies in pipeline throughput due to hardware prefetching, causing latency and resource management issues.

Innovation Solution

The implementation of an instruction set architecture that allows for selective suppression of hardware prefetchers based on data addresses, using mechanisms like prefetch suppressor modules to control when hardware prefetchers act, thereby optimizing resource allocation and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware prefetchers are enabled to improve memory access efficiency, then cache hit rate is improved, but pipeline throughput deteriorates due to latency and resource management issues

Engineering Contradiction:
Improvecache hit rateVSAvoidpipeline throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by making different parts of the memory system have different prefetching behaviors. Specifically, it implements separate prefetching controls for different cache levels (L1 vs L2/L3) and different memory regions, allowing optimized prefetching where beneficial while suppressing it where harmful to pipeline throughput.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic control of hardware prefetchers through runtime mechanisms that can enable or disable prefetching based on current execution conditions. This includes dynamic prefetcher suppression that responds to pipeline status, memory access patterns, and resource availability, allowing the system to adapt prefetching behavior to current workload characteristics.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If hardware prefetchers are activated to reduce memory access latency, then memory access efficiency is improved, but resource management deteriorates due to increased complexity

Engineering Contradiction:
Improvememory access latencyVSAvoidresource management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts the prefetching control logic from the general memory management system and creates a separate, dedicated control mechanism. This includes extracting prefetcher suppression capabilities that can independently control prefetching behavior without interfering with other memory management functions, thereby simplifying overall resource management.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces intermediary control structures that mediate between the hardware prefetchers and the memory management unit. These intermediaries include control registers, status flags, and coordination logic that manage prefetcher behavior in a standardized way, reducing the complexity burden on the main memory management system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If selective suppression of hardware prefetchers is implemented based on data addresses, then pipeline throughput is enhanced, but device complexity increases due to additional control mechanisms

Engineering Contradiction:
Improvepipeline throughputVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the prefetching control into distinct functional units and address range handlers. Each segment can independently manage prefetching for specific address ranges or memory regions, allowing fine-grained control without requiring a monolithic complex control system. This modular segmentation reduces overall control complexity while enabling selective suppression.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10496410B2Instruction and logic for suppression of hardware prefetchers
Publication Date: 2019.12.03 INTEL CORP
  • US10496410B2 patent drawing
  • US10496410B2 patent drawing
  • US10496410B2 patent drawing

AI summary

A processor includes a core, a hardware prefetcher, and a prefetcher control module. The hardware prefetcher includes logic to make speculative prefetch requests, through a memory subsystem, for elements for execution by the core, and logic to store prefetched elements in a cache. The prefetcher control module includes logic to selectively suppress, based on a hardware-prefetch suppression instruction executed by the core, a speculative prefetch request to be made by the hardware prefetcher.