Graphics Cache Arrangement for Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In tile-based graphics processing systems, the existing cache arrangements are inefficient in managing memory bandwidth, particularly in systems with limited resources like mobile devices, as they often cache all data types uniformly, leading to suboptimal performance and increased memory access costs.

Innovation Solution

A cache system with two caches is implemented, where a first cache handles data transfer between the graphics processor and the graphics processing unit, and a second cache, strategically allocated only for writing, handles data transfer between the first cache and the memory system, optimizing cache usage by caching intermediate data types like geometry and frame buffer data temporarily and discarding them without writing back to memory after use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all data types are cached uniformly in existing cache arrangements, then cache coverage is maximized, but memory bandwidth is wasted and cache trashing increases

Engineering Contradiction:
Improvecache effectivenessVSAvoidmemory bandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by differentiating cache allocation based on data type characteristics. The cache controller identifies intermediate data types (such as geometry data and frame buffer data) and allocates cache resources selectively to these specific data types rather than treating all data uniformly. This targeted approach ensures that cache memory is used effectively for data that benefits most from caching, reducing waste on data types that do not require caching.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the cache system into multiple independent cache buffers, each dedicated to storing specific intermediate data types. Instead of a single unified cache, the system divides cache resources into separate segments (e.g., geometry cache, frame buffer cache), allowing each segment to be optimized for its specific data type. This segmentation prevents cache trashing by isolating different data types and improves memory bandwidth efficiency by caching only the necessary segments.

Inventive Principle:
Principle #1Segmentation

2Reliability

If intermediate data is cached and written back to memory, then data persistence is ensured, but memory bandwidth is unnecessarily consumed

Engineering Contradiction:
Improvedata persistenceVSAvoidmemory bandwidth efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements discarding and recovering by allowing intermediate data to be cached temporarily during processing and then discarded without writing back to memory once it is no longer needed. The cache controller monitors the lifecycle of intermediate data types and automatically invalidates or discards cached data after it has served its purpose in the graphics processing pipeline. This eliminates unnecessary memory write-back operations, freeing up memory bandwidth for other critical operations while maintaining system reliability through proper data lifecycle management.

Inventive Principle:
Principle #34Discarding and recovering

3Device complexity

If a single cache is used for all data transfers, then device complexity is minimized, but cache trashing increases and performance decreases

Engineering Contradiction:
Improvecache structureVSAvoidgraphics processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the cache system into multiple specialized cache buffers, each handling specific intermediate data types. This segmentation reduces cache trashing by preventing different data types from competing for the same cache space. Although the cache structure becomes more complex, the performance gain from reduced cache conflicts and improved data access patterns outweighs the additional structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a cache controller as an intermediary component that manages data flow between the graphics processor and memory system. This intermediary intelligently routes intermediate data types to appropriate cache buffers, monitors data lifecycle, and controls cache invalidation. The cache controller adds complexity to the system architecture but enables fine-grained cache management that significantly improves graphics processing throughput by preventing cache trashing and optimizing memory bandwidth usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11593265B2Cache arrangement for graphics processing systems
Publication Date: 2023.02.28 ARM LTD
  • US11593265B2 patent drawing
  • US11593265B2 patent drawing
  • US11593265B2 patent drawing

AI summary

A graphics processing system is disclosed having a cache system (24) arranged between memory (23) and the graphics processor (20), the cache system comprising a first cache (53) for transferring data to and from the graphics processor (20) and a second cache (54) arranged and configured to transfer data between the first cache (53) and memory (23). When data is to be written from the first cache (53) to memory (23), a cache controller (55) determines a data type of the data and, in dependence on the data type, either causes the data to be written into the second cache (54) without writing the data to memory (23), or causes the data to be written to memory (23) without storing the data in the second cache (54). In embodiments the second cache (54) is write-only allocated.