Dynamic Cache Associativity Adjustment via Tag Bits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in optimizing cache memory effectiveness due to varying data set characteristics and access patterns, as the associativity of cache memory significantly impacts hit ratios, with existing technologies failing to dynamically adjust associativity to suit different program requirements.

Innovation Solution

A cache memory system that can dynamically configure its associativity by transitioning between normal, fat, and skinny modes, allowing for increased or decreased associativity based on the mode input, using tag bits and index bits to select subsets of ways for allocation, thereby optimizing cache performance for varying workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache memory uses fixed high associativity, then hit ratio improves, but power consumption increases and device complexity increases

Engineering Contradiction:
Improvehit ratioVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic associativity adjustment by allowing the cache to transition between different modes (e.g., 4-way, 8-way, 16-way set associative) based on runtime workload characteristics. This dynamic reconfiguration enables the cache to adapt its associativity level to match actual access patterns, maintaining high hit ratios when needed while reducing power consumption during periods of lower associativity requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the associativity parameter of the cache memory dynamically by modifying the allocation logic based on workload characteristics. The system monitors cache performance metrics and adjusts the associativity parameter (number of ways) accordingly, allowing the cache to operate at optimal performance points rather than being fixed at a single associativity level throughout execution.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If cache memory uses fixed high associativity, then hit ratio improves, but device complexity increases

Engineering Contradiction:
Improvehit ratioVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic associativity adjustment by allowing the cache to transition between different modes (e.g., 4-way, 8-way, 16-way set associative) based on runtime workload characteristics. This dynamic reconfiguration enables the cache to adapt its associativity level to match actual access patterns, maintaining high hit ratios when needed while reducing power consumption during periods of lower associativity requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache memory system is designed to perform multiple associativity configurations within a single unified structure. The same physical cache resources can operate in different associativity modes (4-way, 8-way, 16-way) depending on the allocation mode signal, eliminating the need for separate cache structures for different associativity requirements and reducing overall device complexity.

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

3Adaptability or versatility

If cache memory dynamically adjusts associativity, then adaptability to different workloads improves, but device complexity increases

Engineering Contradiction:
Improveadaptability to different workloadsVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic associativity adjustment by allowing the cache to transition between different modes (e.g., 4-way, 8-way, 16-way set associative) based on runtime workload characteristics. This dynamic reconfiguration enables the cache to adapt its associativity level to match actual access patterns, maintaining high hit ratios when needed while reducing power consumption during periods of lower associativity requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the associativity parameter of the cache memory dynamically by modifying the allocation logic based on workload characteristics. The system monitors cache performance metrics and adjusts the associativity parameter (number of ways) accordingly, allowing the cache to operate at optimal performance points rather than being fixed at a single associativity level throughout execution.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If cache memory uses normal allocation mode, then device complexity is reduced, but adaptability to different access patterns worsens

Engineering Contradiction:
Improvedevice complexityVSAvoidadaptability to different access patterns
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic associativity adjustment by allowing the cache to transition between different modes (e.g., 4-way, 8-way, 16-way set associative) based on runtime workload characteristics. This dynamic reconfiguration enables the cache to adapt its associativity level to match actual access patterns, maintaining high hit ratios when needed while reducing power consumption during periods of lower associativity requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the associativity parameter of the cache memory dynamically by modifying the allocation logic based on workload characteristics. The system monitors cache performance metrics and adjusts the associativity parameter (number of ways) accordingly, allowing the cache to operate at optimal performance points rather than being fixed at a single associativity level throughout execution.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3129886B1Dynamic cache replacement way selection based on address tag bits
Publication Date: 2019.10.02 VIA ALLIANCE SEMICON CO LTD
  • EP3129886B1 patent drawingFigure 1
  • EP3129886B1 patent drawingFigure 2~3
  • EP3129886B1 patent drawingFigure 4~6

AI summary

A cache memory comprising: a mode input indicates in which of a plurality of allocation modes the cache memory is to operate; a set-associative array of entries having a plurality of sets by W ways; an input receives a memory address comprising: an index used to select a set from the plurality of sets; and a tag used to compare with tags stored in the entries of the W ways of the selected set to determine whether the memory address hits or misses; and allocation logic, when the memory address misses in the array: selects one or more bits of the tag based on the allocation mode; performs a function, based on the allocation mode, on the selected bits of the tag to generate a subset of the W ways of the array; and allocates into one way of the subset of the ways of the selected set.