Crossbar Routing for Graphics Pipeline Blocking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing crossbar architecture in graphics pipelines experiences blocking issues when multiple texture processing clusters (TPCs) try to send data to the same Raster OPerations (ROP) unit, leading to stalls and inefficient resource utilization due to uneven work distribution among ROP units, resulting in performance degradation.

Innovation Solution

A high-performance crossbar design with input and output buffers and multiplexing logic modules that allow simultaneous processing of multiple transaction requests, eliminating blocking and idle cycles by storing requests in input buffers and routing them to output buffers for efficient distribution to ROP units, thereby increasing throughput and reducing bubbles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a traditional crossbar architecture is used to route data from TPCs to ROP units, then the structure is simple, but blocking occurs when multiple TPCs transmit requests to the same ROP unit, causing stalls and performance degradation

Engineering Contradiction:
ImprovethroughputVSAvoidcrossbar structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The crossbar is segmented into multiple independent routing modules, each handling specific TPC-ROP unit pairs. This segmentation allows simultaneous processing of multiple transaction requests without blocking, as each module operates independently. The crossbar is divided into first and second crossbars, with each containing multiple routing modules that can process requests in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Buffer modules are introduced as intermediary components between TPCs and ROP units. These buffers temporarily store transaction requests and data, allowing the crossbar to decouple the timing between request generation and processing. The buffers act as mediators that smooth out traffic variations and prevent blocking by holding requests until routing resources are available.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is routed directly from TPCs to ROP units without buffers, then the latency is low, but uneven work distribution causes ROP units to idle, creating bubbles and reducing system efficiency

Engineering Contradiction:
Improveresource utilizationVSAvoididle cycles
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Transaction requests are pre-fetched and stored in buffer modules before being routed to ROP units. This preliminary action ensures that data is ready and available when ROP units become ready to process it, eliminating idle cycles. The buffers proactively accumulate requests during periods of low ROP unit utilization, so that when ROP units become available, they can immediately process pending requests without waiting.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer modules maintain a continuous supply of transaction requests to ROP units, ensuring that ROP units remain continuously occupied. By decoupling the production rate of requests from the processing rate of ROP units, the system maintains continuous useful action without interruptions. The buffers absorb variations in workload distribution and ensure steady data flow to all ROP units.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If the crossbar services only one request at a time, then the routing logic is simple, but subsequent stages of the graphics rendering pipeline are impeded, causing stalls

Engineering Contradiction:
Improvepipeline throughputVSAvoidarbitration logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The crossbar arbitration function is segmented across multiple independent routing modules, each capable of handling requests autonomously. Instead of a single centralized arbiter that processes requests sequentially, each routing module has its own simplified arbitration logic, allowing parallel processing of multiple requests. This segmentation enables the system to service multiple requests simultaneously while keeping individual arbitration logic simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Buffer modules serve as intermediaries that decouple request submission from request processing. TPCs can submit requests to buffers without waiting for immediate processing, and buffers manage the timing and ordering of request forwarding to ROP units. This intermediary approach allows the crossbar to process requests at its own pace while maintaining high pipeline throughput, as buffers absorb the timing mismatches.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7768519B1High-performance crossbar for high throughput pipelines
Publication Date: 2010.08.03 NVIDIA CORP
  • US7768519B1 patent drawing
  • US7768519B1 patent drawing
  • US7768519B1 patent drawing

AI summary

A high-performance crossbar for a pipeline is disclosed. In particular, one embodiment of the crossbar receives multimedia data at a first throughput from a source operating in a first pipeline stage. The received data are stored in at least one input buffer corresponding to the source in the crossbar. The crossbar also causes the multimedia data from the input buffer to be routed to at least one output buffer at a second throughput. The output buffer corresponds to a destination operating in a second pipeline stage. Then the crossbar causes the multimedia data from the output buffer to be routed to the destination at the first throughput.