Configurable Cache Address Bit Multiplexing for Tag Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems face challenges in efficiently resizing cache lines without altering the number of tags, which affects tag utilization and data RAM configurations, particularly in low-powered multi-threaded processors where traditional data locality assumptions do not hold.

Innovation Solution

A configurable cache system that modifies cache line size while maintaining the same number of tags by shifting the index location during memory address lookup, using multiplexers to select address bits based on cache size, allowing for flexible mapping between tags and cache lines to support various data RAM configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cache line size is modified to resize the cache, then cache size is adjusted, but the number of tags must change which reduces tag utilization efficiency

Engineering Contradiction:
Improvecache size configurationVSAvoidtag utilization efficiency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent changes the interpretation of address bits rather than physically reconfiguring the cache structure. By dynamically adjusting which address bits are used as index bits versus tag bits based on cache size, the system achieves cache resizing while maintaining consistent tag array dimensions and preserving tag utilization efficiency

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system dynamically reconfigures the address bit allocation between index and tag fields based on the desired cache size. Multiplexers selectively route address bits to different fields, enabling the cache to adapt between different size configurations (e.g., 8KB, 16KB, 32KB) without physical reconfiguration, thereby maintaining optimal tag utilization across different operating modes

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If the number of tags is changed to accommodate different cache sizes, then cache capacity is adjusted, but address space conflicts increase

Engineering Contradiction:
Improvecache capacityVSAvoidaddress space conflicts
Core Design Contradiction:
Quantity of substanceVSObject-affected harmful factors

Solution Approach 1:

The patent changes the address bit allocation parameters dynamically. When cache size increases, more address bits are allocated to the index field and fewer to the tag field, and vice versa. This parameter adjustment allows the same physical tag array to support different cache capacities while maintaining proper address space mapping and minimizing conflicts

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If traditional cache structures are used in low-powered multi-threaded processors, then device complexity is reduced, but performance decreases due to poor tag utilization

Engineering Contradiction:
Improvecache structure simplicityVSAvoidcache performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces dynamic reconfiguration capability into the cache structure through multiplexers that can selectively route address bits. This dynamic approach allows the same hardware structure to optimize for different workloads and thread configurations, improving performance without proportionally increasing device complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The configurable cache structure serves multiple functions: it can operate in different cache sizes (8KB, 16KB, 32KB), support different associativity configurations, and adapt to various workload patterns. This multi-functionality is achieved within a unified hardware framework, maintaining relative simplicity while dramatically improving performance across diverse scenarios

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

Data Source

PatentUS8943293B2Configurable cache and method to configure same
Publication Date: 2015.01.27 QUALCOMM INC
  • US8943293B2 patent drawing
  • US8943293B2 patent drawing
  • US8943293B2 patent drawing

AI summary

A method includes receiving an address at a tag state array of a cache, wherein the cache is configurable to have a first size and a second size that is smaller than the first size. The method further includes identifying a first portion of the address as a set index, wherein the first portion has a same number of bits when the cache has the first size as when the cache has the second size. The method further includes using the set index to locate at least one tag field of the tag state array, identifying a second portion of the address to compare to a value stored at the at least one tag field, locating at least one state field of the tag state array that is associated with a particular tag field that matches the second portion, identifying a cache line based on a comparison of a third portion of the address to at least one status bit of the at least one state field when the cache has the second size, and retrieving the cache line.