Prefetch Store Preallocation in Effective Address Cache Directory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, store-through caches face performance penalties due to the need for address translation during demand store accesses, especially when prefetching is avoided to prevent cache pollution, leading to inefficiencies in bandwidth utilization and access latency.

Innovation Solution

A processor core preallocates directory entries in an effective address-based directory of an upper-level store-through cache for store prefetch streams without prefetching the corresponding cache line, caching EA-to-RA translation information to reduce address translation penalties and enhance bandwidth efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Object-generated harmful factors

If prefetching is avoided to prevent cache pollution, then cache pollution is reduced, but address translation penalties and access latency increase

Engineering Contradiction:
Improvecache pollutionVSAvoidaccess latency
Core Design Contradiction:
Object-generated harmful factorsVSLoss of time

Solution Approach 1:

The patent segments the cache directory into separate directories for store-through and store-in caches. This allows independent management of directory entries for different cache types, enabling the store-through cache to maintain directory entries without necessarily prefetching data, thus reducing cache pollution while maintaining address translation efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary allocation of directory entries in the store-through cache for store prefetch streams before actual data prefetching occurs. This preallocation allows the cache to prepare directory structures in advance, reducing address translation penalties during demand store accesses without requiring actual data to be prefetched, thereby avoiding cache pollution.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If address translation is performed during demand store accesses, then address accuracy is maintained, but bandwidth utilization and access efficiency deteriorate

Engineering Contradiction:
Improveaddress accuracyVSAvoidbandwidth utilization
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary allocation of directory entries and caches EA-to-RA translation information during the prefetch stream setup phase. This preliminary action allows subsequent demand store accesses to utilize the pre-cached translation information, maintaining address accuracy while avoiding repeated address translation operations that would consume bandwidth and reduce access efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates and caches copies of address translation information (EA-to-RA mappings) in the store-through cache directory. These cached copies allow the system to maintain accurate address translation without performing full address translation operations during every demand store access, thereby preserving bandwidth utilization while maintaining address accuracy.

Inventive Principle:
Principle #26Copying

3Loss of time

If directory entries are preallocated for store prefetch streams, then address translation penalties are reduced, but cache memory resources are consumed

Engineering Contradiction:
Improveaddress translation penaltyVSAvoidcache memory resources
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent segments the cache directory structure to create dedicated directories for store-through and store-in caches. This segmentation allows directory entries to be allocated specifically for store-through cache operations without consuming resources from the store-in cache directory, thereby reducing address translation penalties while controlling cache memory resource consumption through dedicated resource allocation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11520585B2Prefetch store preallocation in an effective address-based cache directory
Publication Date: 2022.12.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11520585B2 patent drawing
  • US11520585B2 patent drawing
  • US11520585B2 patent drawing

AI summary

In at least one embodiment, a processing unit includes a processor core and a vertical cache hierarchy including at least a store-through upper-level cache and a store-in lower-level cache. The upper-level cache includes a data array and an effective address (EA) directory. The processor core includes an execution unit, an address translation unit, and a prefetch unit configured to initiate allocation of a directory entry in the EA directory for a store target EA without prefetching a cache line of data into the corresponding data entry in the data array. The processor core caches in the directory entry an EA-to-RA address translation information for the store target EA, such that a subsequent demand store access that hits in the directory entry can avoid a performance penalty associated with address translation by the translation unit.