Dual-Indexed Cache for Vertex Attribute Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing systems face inefficiencies in caching vertex attribute data, leading to increased power consumption and slower data retrieval due to conventional caching methods that do not optimize queries by polygon or vertex identifiers effectively.

Innovation Solution

Implementing a dual-indexed cache system where data entries are grouped and tagged by both polygon and vertex identifiers, allowing for efficient retrieval of vertex attribute data by querying either polygon identifiers in one set of cache lines or vertex identifiers in another, reducing the need for multiple queries and minimizing cache size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional caching methods are used to store vertex attribute data, then the cache can store recently used data, but the query efficiency is low and power consumption is high

Engineering Contradiction:
Improvequery efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The cache is segmented into two distinct sets: a first set of cache lines indexed by polygon identifiers and a second set of cache lines indexed by vertex identifiers. This segmentation allows the system to optimize queries by directing them to the appropriate cache set, improving query efficiency while reducing unnecessary memory accesses and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention introduces a dual-indexing dimension to the cache structure, organizing cache lines along two independent dimensions: polygon identifiers and vertex identifiers. This dimensional organization enables efficient retrieval operations by allowing queries to target the specific dimension relevant to the access pattern, thereby improving productivity and reducing energy waste from inefficient sequential searches.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If a single cache structure is used for all vertex attribute data, then the cache organization is simple, but the cache size must be large to accommodate all data efficiently

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcache size
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The cache is divided into two specialized sets of lines, each optimized for a specific type of identifier (polygon or vertex). This segmentation allows each cache set to be smaller and more specialized, while collectively providing efficient access paths for different query types, thus improving data retrieval speed without requiring a uniformly large cache.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the cache (the two sets of lines) are optimized for different local access patterns: one set is optimized for polygon-based queries while the other is optimized for vertex-based queries. This local optimization allows each cache segment to be highly efficient for its specific purpose, improving overall retrieval speed without proportionally increasing total cache size.

Inventive Principle:
Principle #3Local quality

3Loss of time

If multiple queries are performed to retrieve polygon and vertex data separately, then the data can be retrieved, but the query process is slow and inefficient

Engineering Contradiction:
Improvequery timeVSAvoidquery efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The cache structure is designed to serve multiple query types through a unified dual-indexed interface. By incorporating both polygon identifier indexing and vertex identifier indexing in the same cache structure, the system can handle both types of queries efficiently within a single cache operation, reducing query time and improving productivity.

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

Solution Approach 2:

The dual-indexing approach adds an additional dimensional layer to the cache organization, enabling the system to resolve queries in a single operation by selecting the appropriate indexing dimension. This eliminates the need for sequential queries and significantly reduces the time loss associated with multiple separate lookup operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9965827B2Graphics processing system for and method of storing and querying vertex attribute data in a cache
Publication Date: 2018.05.08 ARM LTD
  • US9965827B2 patent drawing
  • US9965827B2 patent drawing
  • US9965827B2 patent drawing

AI summary

A graphics processing system for processing polygons includes a cache with cache lines for storing data entries, each line having a tag for identifying the data stored in the line. The polygons have vertices with which pieces of vertex attribute data are associated. The system also includes processing circuitry which writes, to a line in a first set of lines, data entries associated with pieces of vertex attribute data. The pieces of vertex attribute data are associated with the vertices of a polygon. The processing circuitry also writes a tag including a polygon identifier to identify the polygon associated with the data entries to the line in the first set of lines, and writes, to a second set of lines of the cache, data entries associated with pieces of vertex attribute data. The processing circuitry also writes tags including vertex identifiers to the second set of lines to identify the vertices associated with the data entries.