Graphics Processing Unit Multithreaded Execution Unit Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units face inefficiencies in throughput, leading to hardware requirements and gate counts that are higher than necessary for a given performance level, particularly due to challenges in real-time rendering and anti-aliasing techniques that increase memory traffic with higher sampling rates.

Innovation Solution

A graphics processing unit architecture that includes a programmable execution unit capable of multi-threaded operations, with a thread controller and instruction fetch arbiters to manage threads efficiently, along with a constant cache and vertex attribute cache to optimize shader operations, reducing latency and improving pipeline efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-threaded execution is implemented to improve throughput, then productivity increases, but device complexity increases due to need for thread controllers and instruction fetch arbiters

Engineering Contradiction:
ImprovethroughputVSAvoidhardware requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The execution unit is segmented into multiple threads that can execute instructions independently. The register file is divided into multiple banks, with each bank dedicated to specific threads. This segmentation allows parallel processing of multiple threads simultaneously, improving throughput while managing complexity through structured organization of resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The thread controller and instruction fetch arbiters serve multiple functions: they manage instruction fetching for multiple threads, coordinate resource access, and optimize pipeline efficiency. The constant cache and vertex attribute cache serve both thread groups, reducing overall hardware requirements while maintaining multi-threaded capability.

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

2Productivity

If register file is divided into multiple banks allocated to different threads, then thread isolation and data access efficiency improve, but device complexity increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidmemory organization
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The register file is segmented into multiple banks, with each bank allocated to specific threads. This allows threads to access their own register banks without contention, improving data access efficiency. The segmentation is implemented in a way that maintains manageable complexity through systematic allocation patterns.

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If constant cache and vertex attribute cache are added to optimize shader operations, then manufacturing precision improves, but device complexity increases

Engineering Contradiction:
Improveshader operation optimizationVSAvoidcache system
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The constant cache and vertex attribute cache store frequently used shader constants and attributes in advance, before they are needed during thread execution. This preliminary loading of data reduces latency during shader operations and improves manufacturing precision of graphical output without requiring complex real-time computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The caches act as intermediaries between memory and the execution units, buffering commonly accessed data to reduce direct memory accesses. This intermediary layer optimizes shader operations by providing fast access to constants and attributes while managing the complexity of data retrieval through automated cache management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8564604B2Systems and methods for improving throughput of a graphics processing unit
Publication Date: 2013.10.22 VIA TECH INC
  • US8564604B2 patent drawing
  • US8564604B2 patent drawing
  • US8564604B2 patent drawing

AI summary

Systems and methods for improving throughput of a graphics processing unit are disclosed. In one embodiment, a system includes a multithreaded execution unit capable of processing requests to access a constant cache, a vertex attribute cache, at least one common register file, and an execution unit data path substantially simultaneously.