Two-Stage Graphics Cache With Intermediate Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in caching texture data, particularly due to the need for data modification such as decompression and rearrangement before use, which can be cumbersome and resource-intensive.

Innovation Solution

A two-stage caching system with an intermediate data processing unit that processes texture data from memory, decompresses it, and rearranges it into a more suitable format for the graphics processing unit, allowing for efficient storage and retrieval of texture data in a graphics processing system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single cache level is used for texture data, then the device complexity is reduced, but the productivity is limited due to the need for data modification such as decompression and rearrangement

Engineering Contradiction:
Improvetexture data handling efficiencyVSAvoidcache system structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache system is divided into two distinct levels: a first cache for storing compressed texture data and a second cache for storing decompressed and rearranged texture data. This segmentation allows each cache level to specialize in specific data states, improving overall texture data handling efficiency by avoiding the need for modification at the second cache level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first cache performs preliminary decompression and rearrangement of texture data before it is stored in the second cache. By performing these data modification actions in advance at the first cache level, the system eliminates the need for resource-intensive modification operations at the second cache level, thereby improving productivity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If texture data is stored in memory and fetched into cache, then the graphics processing unit can access the data, but resource usage increases due to the need for decompression and rearrangement operations

Engineering Contradiction:
Improvetexture data retrieval speedVSAvoidresource usage for data processing
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The first cache performs decompression and rearrangement operations on texture data before storing it in the second cache. This preliminary processing action shifts the resource-intensive operations to occur once during data transfer, rather than repeatedly during subsequent graphics processing operations, thereby reducing overall resource usage while maintaining fast retrieval speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the texture data in the first cache in a compressed state, and then creates another copy in the second cache in a decompressed and rearranged state. By maintaining both versions simultaneously, the system avoids the need for repeated decompression and rearrangement operations, reducing resource consumption while enabling fast access.

Inventive Principle:
Principle #26Copying

3Ease of operation

If texture data is modified before storage in cache, then the data is ready for graphics processing, but the ease of operation is reduced due to cumbersome decompression and rearrangement processes

Engineering Contradiction:
Improvetexture data accessibilityVSAvoiddata processing workflow
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The cache system is segmented into two functional levels: the first cache handles compressed data storage and preliminary processing, while the second cache handles decompressed data storage and provides direct accessibility to the graphics processing unit. This segmentation simplifies the overall workflow by clearly separating data modification operations from data access operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first cache acts as an intermediary between memory and the second cache, performing decompression and rearrangement operations as part of the data transfer process. This intermediary function automates the data modification workflow, making texture data accessible to the graphics processing unit without requiring manual intervention in the complex decompression and rearrangement processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10726519B2Cache arrangement for graphics processing systems
Publication Date: 2020.07.28 ARM LTD
  • US10726519B2 patent drawing
  • US10726519B2 patent drawing
  • US10726519B2 patent drawing

AI summary

A graphics processing system includes a cache system for transferring texture data stored in memory to a graphics processing unit for use by the graphics processing unit when generating a render output. The cache system includes a first cache operable to receive texture data from the memory system, and a second cache operable to receive texture data from the first cache and to provide texture data to the graphics processing unit for use when generating a render output, and a data processing unit intermediate the first cache and the second cache and operable to process data stored in the first cache and to store the processed data in the second cache.