Graphics Pipeline Prefetching for Cache Miss Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

3D graphics pipelines experience increased latency and stalling due to cache memory misses when rendering scenes, particularly when spans in triangles change, leading to performance degradation.

Innovation Solution

Prefetching data for the next span into the cache memory while processing the current span, using a rasterizer and processor to calculate coordinates and addresses based on fragment information, and an address generator to determine optimal cache access states for prefetching from external memory devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache memory is used to store data addresses and data in advance, then the likelihood of stall is decreased, but cache memory miss probability ratio increases with span change

Engineering Contradiction:
Improvepipeline stall preventionVSAvoidcache hit rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by prefetching data for the next span into the cache memory while the current span is being processed. The address generator calculates the address of the first data of the next span in advance, and the controller transmits this address to the cache memory to prefetch data from external memory devices before it is actually needed, thereby reducing cache misses when span changes occur

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies dynamics by making the prefetching mechanism adaptive to changing spans. The address generator dynamically calculates addresses based on fragment information and span changes, while the controller adaptively manages cache memory operations according to the operational state. This dynamic approach allows the system to respond to varying rendering conditions and maintain optimal cache performance

Inventive Principle:
Principle #15Dynamics

2Loss of information

If data is read from external memory device in advance, then data availability is improved, but latency increases when span changes

Engineering Contradiction:
Improvedata availabilityVSAvoidaccess latency
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs preliminary data loading by calculating the address of the first data of the next span in advance and prefetching it into the cache memory while the current span is being processed. This ensures data is available when needed without waiting for sequential access, thereby reducing latency during span transitions

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism through the cache memory itself, which acts as a buffer between external memory devices and the graphics pipeline. The controller manages this intermediary to coordinate prefetching operations, ensuring that data is loaded from external memory into the cache at optimal times without creating unnecessary latency

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If prefetching is implemented, then cache miss occurrences are reduced, but device complexity increases

Engineering Contradiction:
Improvecache performanceVSAvoidprefetching mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the prefetching functionality into the existing graphics processing architecture by integrating the address generator and controller with the rasterizer and cache memory. Rather than adding a completely separate system, the prefetching mechanism is combined with span processing operations, where the address generator works alongside the rasterizer and the controller coordinates with the cache memory, thereby reducing overall system complexity

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The address generator serves multiple functions: it generates addresses for the current span processing and simultaneously calculates addresses for the next span prefetching. The controller also performs multiple tasks including managing cache operations, coordinating prefetching, and monitoring operational states. This multi-functionality reduces the need for separate dedicated components, thereby reducing device complexity

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

Data Source

PatentUS7551178B2Apparatuses and methods for processing graphics and computer readable mediums storing the methods
Publication Date: 2009.06.23 SAMSUNG ELECTRONICS CO LTD
  • US7551178B2 patent drawing
  • US7551178B2 patent drawing
  • US7551178B2 patent drawing

AI summary

An apparatus according to an example embodiment of the present invention, may process data of a present span. During processing, data corresponding to an address of the start data of the next span may be prefetched from the external memory device based on information related to the presently processed data. The prefetched data may store in the cache memory.