No-locality hint vector memory access processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor technologies face inefficiencies in handling vector memory access instructions due to insufficient spatial and temporal locality, leading to cache pollution and wasteful bandwidth usage, especially in applications with sparse memory access patterns.

Innovation Solution

The introduction of no-locality hint vector memory access instructions, which allow processors to bypass cache storage and perform sub-cache line data access, reducing cache pollution and bandwidth waste by indicating the lack of spatial and temporal locality in data access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If processors use standard vector memory access instructions with cache storage, then data access speed is improved for localized patterns, but cache pollution increases and bandwidth is wasted for sparse access patterns

Engineering Contradiction:
Improvedata access speedVSAvoidbandwidth waste
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent introduces a no-locality hint parameter in the memory access instruction that changes the behavior of the cache system. When this hint is detected, the processor bypasses normal cache storage operations for the specified memory access, thereby avoiding cache pollution while maintaining efficient data retrieval for sparse access patterns

Inventive Principle:
Principle #35Parameter changes

2Productivity

If processors store all accessed data in cache, then temporal locality is exploited effectively, but cache memory is polluted with data that will not be reused

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoidcache pollution
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent implements a feedback mechanism where the no-locality hint in the instruction provides information about the expected access pattern. The cache control system uses this feedback to make intelligent decisions about whether to store data in cache, thereby preventing pollution from non-reusable data while maintaining efficient caching for reusable data

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If processors perform full cache line access, then maximum data is retrieved in each memory operation, but bandwidth is wasted when only minimal data is needed

Engineering Contradiction:
Improvedata retrieval volumeVSAvoidbandwidth consumption
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent applies local quality by making the cache access granularity adaptive based on the no-locality hint. When the hint is present, the system performs minimal data access rather than full cache line access, matching the actual data retrieval needs and avoiding unnecessary bandwidth consumption while still retrieving the required data volume

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11892952B2No-locality hint vector memory access processors, methods, systems, and instructions
Publication Date: 2024.02.06 INTEL CORP
  • US11892952B2 patent drawing
  • US11892952B2 patent drawing
  • US11892952B2 patent drawing

AI summary

A processor of an aspect includes a plurality of packed data registers, and a decode unit to decode a no-locality hint vector memory access instruction. The no-locality hint vector memory access instruction to indicate a packed data register of the plurality of packed data registers that is to have a source packed memory indices. The source packed memory indices to have a plurality of memory indices. The no-locality hint vector memory access instruction is to provide a no-locality hint to the processor for data elements that are to be accessed with the memory indices. The processor also includes an execution unit coupled with the decode unit and the plurality of packed data registers. The execution unit, in response to the no-locality hint vector memory access instruction, is to access the data elements at memory locations that are based on the memory indices.