Serial Bus Context Switching in Graphics Processing Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for saving and restoring state information in graphics processing units are either unwieldy due to dedicated wires and slow register accesses, or complex due to long parallel storage paths, necessitating a more efficient mechanism for context switching.

Innovation Solution

A graphics processing unit with a closed-loop serial bus connecting processing controllers and a cache, allowing for serial storage and restoration of state information, eliminating the need for register accesses and parallel paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If RAM chains with dedicated wires are used to store state information, then data transfer speed is improved, but device complexity increases and the architecture becomes unwieldy

Engineering Contradiction:
Improvedata transfer speedVSAvoidarchitecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges multiple state information storage paths into a single shared bus structure. Instead of having dedicated wires from each RAM to each processor, all processors share a common bus for state information transfer, significantly reducing the number of wires and architectural complexity while maintaining data transfer capability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared bus structure serves multiple functions: it can transfer state information between any processor and any RAM, support context switching, and handle data transfer for multiple threads simultaneously. This universal interface replaces the need for dedicated point-to-point connections

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

2Device complexity

If register accesses are used to transfer state information, then device complexity is reduced, but transfer speed deteriorates

Engineering Contradiction:
Improvearchitecture complexityVSAvoidtransfer speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent introduces a shared bus as an intermediary structure between processors and RAMs. This bus provides a dedicated high-speed pathway for state information transfer, avoiding the bottleneck of general-purpose register accesses while maintaining architectural simplicity through a unified interface

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If long parallel storage paths are used to route state information to frame buffer, then data transfer speed is improved, but device complexity increases

Engineering Contradiction:
Improvedata transfer speedVSAvoidstorage path complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent combines multiple parallel storage paths into a single shared bus that connects the frame buffer to all processors. This unified path eliminates the complexity of managing multiple separate parallel paths while maintaining high data transfer speeds through the shared high-bandwidth connection

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8212824B1Apparatus and method for serial save and restore of graphics processing unit state information
Publication Date: 2012.07.03 NVIDIA CORP
  • US8212824B1 patent drawing
  • US8212824B1 patent drawing
  • US8212824B1 patent drawing

AI summary

A graphics processing unit includes a first processing controller controlling a first set of multi-threaded processors. A second processing controller controls a second set of multi-threaded processors. A serial bus connects the first processing controller to the second processing controller. The first processing controller gathers first state information from the first set of multi-threaded processors in response to a context switch token and then passes the context switch token over the serial bus to the second processing controller. The second processing controller gathers second state information from the second set of multi-threaded processors in response to the context switch token.