Unified Shading Cluster Register Access via Direct Write Ports

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The high power consumption and decreased performance in graphics processing units (GPUs) due to the use of queuing systems for register access in computer systems, particularly in mobile devices, which reduces battery life and efficiency.

Innovation Solution

A unified shading cluster apparatus and method that includes a second functional unit configured to check control bits in write requests and hold data in queues based on availability, identifying the oldest entries when the queue is full to manage register access efficiently and reduce power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a queuing system is used for register access in GPUs, then register access can be managed, but power consumption increases

Engineering Contradiction:
Improveregister access managementVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the power-consuming components from the traditional queuing system and replaces them with direct write ports to the register file. Instead of using complex queue structures with multiple ports and arbitration logic, the invention directly writes data to the register file through simplified write ports, eliminating the need for most queue infrastructure while maintaining register access management functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a status bit mechanism as an intermediary to manage register access without requiring full queuing infrastructure. The status bit indicates whether a register entry is available for writing, allowing the system to manage register access efficiently without the power consumption of complex queue arbitration and management logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a queuing system is used for register access in GPUs, then register access can be managed, but performance decreases

Engineering Contradiction:
Improveregister access managementVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent removes the performance-limiting queue infrastructure and replaces it with direct write ports to the register file. This extraction eliminates arbitration delays, queue management overhead, and access bottlenecks, thereby improving overall GPU performance while maintaining necessary register access control through status bits.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the register file into multiple banks, each with its own write ports and status bits. This segmentation allows parallel write operations to different register banks, improving throughput and performance while maintaining simple, efficient access control for each bank independently.

Inventive Principle:
Principle #1Segmentation

3Speed

If multiple write ports are added to register file, then write speed increases, but device complexity increases

Engineering Contradiction:
Improvewrite speedVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies local quality by giving each register bank its own write ports and status bits, allowing each bank to operate independently with optimized write capability. This local optimization increases write speed without requiring complex global arbitration logic, as each bank manages its own access locally through simple status bit checks.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9437172B2High-speed low-power access to register files
Publication Date: 2016.09.06 APPLE INC
  • US9437172B2 patent drawing
  • US9437172B2 patent drawing
  • US9437172B2 patent drawing

AI summary

Embodiments of a unified shading controller are disclosed. The embodiments may provide a first functional unit configured to send a write request to a second functional unit. The write request may include data and the data may include one or more control bits. Upon receiving the write request, the second functional unit may check the one or more control bits, and hold the data in a given queue dependent upon the control bits.