Shared Cache Memory System for Texture Mapping Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache memory systems face inefficiencies in providing texel data for graphic processing units, particularly in reducing aliasing effects during texture mapping, as they require rapid data access and simultaneous reading from multiple texture images, which is not adequately supported by existing cache systems.

Innovation Solution

A cache memory system with two caches that operate in alternating modes, allowing independent use in one mode and shared use in another, using overlapping tag and set index bits to determine data presence and access, enabling efficient data retrieval for both bilinear and trilinear filtering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single cache is used for texture mapping, then the cache structure is simple, but the data retrieval rate is insufficient for simultaneous reading from multiple texture images

Engineering Contradiction:
Improvedata retrieval rateVSAvoidcache structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache is divided into two separate caches (first cache and second cache) that can operate independently or share data. Each cache can store texel data for different texture images or different levels of mipmap, enabling simultaneous access to multiple texture images without contention, thus improving data retrieval rate while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache system is designed to perform multiple functions: it can operate in independent mode where each cache serves specific texture images, or in shared mode where both caches can provide texel data for the same texture image. This multi-functionality allows the system to adapt to different rendering scenarios (bilinear filtering, trilinear filtering, simultaneous texture sampling) without requiring completely different cache architectures.

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

2Adaptability or versatility

If data is stored in both first cache and second cache for shared access, then data availability is improved, but cache management complexity increases

Engineering Contradiction:
Improvedata availabilityVSAvoidcache management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache system alternates between independent mode and shared mode periodically or based on rendering requirements. In independent mode, each cache manages its own data separately. When shared access is needed, the system transitions to shared mode where both caches can provide data for the same texture image. This periodic switching simplifies management by allowing each mode to use simpler management rules appropriate to that mode.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The cache system dynamically switches between independent and shared operational modes based on the specific rendering task. The mode selection is made adaptively depending on whether bilinear filtering, trilinear filtering, or simultaneous texture sampling is required. This dynamic behavior allows the system to optimize for data availability when needed while maintaining simpler management when independent operation suffices.

Inventive Principle:
Principle #15Dynamics

3Speed

If tag bits and set index bits overlap in memory address, then cache addressing efficiency is improved, but address decoding complexity increases

Engineering Contradiction:
Improvecache addressing efficiencyVSAvoidaddress decoding
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system changes the interpretation of memory address bits depending on the operational mode. In independent mode, tag bits and set index bits are clearly separated. In shared mode, the system utilizes overlapping bits where certain address bits serve dual purposes as both tag and set index for different caches. This parameter change in bit interpretation allows more efficient use of address space while the underlying decoding logic adapts to the mode-specific requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9256536B2Method and apparatus for providing shared caches
Publication Date: 2016.02.09 SAMSUNG ELECTRONICS CO LTD
  • US9256536B2 patent drawing
  • US9256536B2 patent drawing
  • US9256536B2 patent drawing

AI summary

A method and apparatus for providing shared caches. A cache memory system may be operated in a first mode or a second mode. When the cache memory system is operated in the first mode, a first cache and a second cache of the cache memory system may be operated independently. When the cache memory system is operated in the second mode, the first cache and the second cache may be shared. In the second mode, at least one bit may overlap tag bits and set index bits among bits of a memory address.