Multi-GPU Interface Unit for Data Transfer Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge lies in creating a flexible multi-graphics processor system that can efficiently communicate data between processors with different command execution schemes, such as general-purpose processors capable of out-of-order execution and graphics processors that only support in-order execution, while maintaining high data transfer efficiency.

Innovation Solution

A multiprocessor system is designed with a general-purpose processor unit capable of both out-of-order and in-order command execution, a dedicated processor unit for in-order execution, and an interface unit featuring a FIFO queue for write commands and a double buffer for read commands, allowing for efficient data transfer by accommodating differences in command execution schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a general-purpose processor issues out-of-order commands to a graphics processor that only supports in-order execution, then data transfer efficiency is improved, but command execution consistency deteriorates

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcommand execution consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an interface unit as an intermediary component between the general-purpose processor and the graphics processor. This interface unit includes a write FIFO queue that receives out-of-order commands from the general-purpose processor and a read double buffer that stores commands for in-order execution. The intermediary structure translates the out-of-order command stream into an in-order execution stream, allowing the graphics processor to execute commands correctly while maintaining high data transfer efficiency from the general-purpose processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If write commands are processed out-of-order to improve throughput, then data transfer speed increases, but data integrity deteriorates

Engineering Contradiction:
Improvedata transfer speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the command processing into two distinct paths: a write FIFO queue for in-order command storage and a read double buffer for out-of-order command retrieval. The write FIFO ensures that commands are written to the graphics processor in the correct sequence, maintaining data integrity. The read double buffer allows the general-purpose processor to read commands out-of-order for faster processing. This segmentation separates the concerns of command ordering and data transfer speed, resolving the contradiction between them.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If an I/O interface connects general-purpose and graphics processors, then system flexibility improves, but data communication efficiency deteriorates

Engineering Contradiction:
Improvesystem flexibilityVSAvoiddata communication efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The interface unit serves multiple functions simultaneously: it acts as a FIFO queue for write commands, a double buffer for read commands, and a command translation mechanism between out-of-order and in-order execution modes. By combining these functions into a single interface unit, the patent maintains system flexibility through the I/O interface connection while achieving high data communication efficiency through optimized buffering and translation operations.

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

Data Source

PatentUS8730248B2Multi-graphics processor system, graphics processor and data transfer method
Publication Date: 2014.05.20 SONY INTERACTIVE ENTERTAINMENT LLC
  • US8730248B2 patent drawing
  • US8730248B2 patent drawing
  • US8730248B2 patent drawing

AI summary

A multi-graphics processor system includes a CPU; a first GPU connected to the CPU via an input/output interface; and a second GPU connected to the first GPU via a second-GPU interface. The first GPU is provided with a second-GPU bus for communicating the CPU and the second GPU via the second-GPU interface. The CPU communicates with the second GPU via the second-GPU bus after receiving a signal indicating the timing of the data communication.