Pixel Cache for 3D Graphics Circuitry Memory Bottleneck

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded systems with 3D graphics capabilities face memory bandwidth bottlenecks due to shared resources, affecting the operation of 3D graphics chips and other hardware entities.

Innovation Solution

A pixel cache is introduced, separate from the device memory, to store buffered sub-image cell values, with a cache write operator that uses a priority scheme to preserve border cell values, allowing 3D graphics circuitry to access data from the cache instead of the main memory, reducing memory access demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If 3D graphics circuitry directly accesses device memory through the shared system bus, then memory bandwidth is available for graphics processing, but memory access bottlenecks occur due to shared resources with other hardware entities

Engineering Contradiction:
Improve3D graphics processing throughputVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

A dedicated pixel cache memory is introduced as an intermediary between the 3D graphics circuitry and the shared device memory. The cache is directly connected to the graphics pipeline, allowing pixel data to be stored and retrieved locally without contending for bandwidth on the system bus. This mediator buffer resolves the bottleneck by providing fast local access while periodic write-back operations maintain consistency with the device memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a pixel cache is introduced to reduce memory access demands, then memory bandwidth bottleneck is alleviated, but device complexity increases due to additional cache structure

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmemory structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory system is segmented into two distinct parts: a small, fast pixel cache dedicated to 3D graphics processing and the larger shared device memory for general-purpose storage. This segmentation allows the graphics subsystem to operate independently from the shared memory bus, improving performance while keeping the cache size manageable and the overall architecture modular.

Inventive Principle:
Principle #1Segmentation

3Reliability

If border cell values are preserved in the cache using a priority scheme, then image quality at boundaries is maintained, but cache management complexity increases

Engineering Contradiction:
Improveimage boundary accuracyVSAvoidcache control logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Different priority levels are assigned to different regions within the cache. Border cell values, which are critical for maintaining image quality at object boundaries, are given higher priority and preserved in the cache longer. Internal cell values are evicted more readily. This local quality differentiation ensures accurate rendering at boundaries while allowing flexible cache management overall.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7737985B2Pixel cache for 3D graphics circuitry
Publication Date: 2010.06.15 QUALCOMM INC
  • US7737985B2 patent drawing
  • US7737985B2 patent drawing
  • US7737985B2 patent drawing

AI summary

Apparatus are provided including device memory, hardware entities, a sub-image cell value cache, and a cache write operator. At least some of the hardware entities perform actions involving access to and use of the device memory. The hardware entities include 3D graphics circuitry to process, for ready display, 3D images from primitive objects. The cache is separate from the device memory, and is provided to hold data, including buffered sub-image cell values. The cache is connected to the 3D graphics circuitry so that pixel processing portions of the 3D graphics circuitry access the buffered sub-image cell values in the cache, in lieu of the pixel processing portions directly accessing the sub-image cell values in the device memory. The write operator writes the buffered sub-image cell values to the device memory under direction of a priority scheme. The priority scheme preserves in the cache border cell values bordering one or more primitive objects.