DMA Request Scheduling via Queue Occupancy in Parallel VPE ICs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional CPUs lack the processing power and parallel execution capabilities to efficiently perform complex real-time physics simulations, limiting the scale and performance of physics-based simulations in computer games due to hardware limitations such as inadequate execution units, data registers, and memory bandwidth.

Innovation Solution

An integrated circuit architecture featuring an external memory, control processor, and multiple parallel Vector Processing Engines (VPEs) with Vector Processing Units (VPUs) and VPU Control Units (VCUs), along with a Data Movement Engine (DME) and VPE Messaging Unit (VMU) to facilitate high-bandwidth data transfers and parallel computations, enabling efficient execution of physics simulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional CPUs are used for physics simulations, then general purpose processing is maintained, but processing power and parallel execution capabilities are insufficient

Engineering Contradiction:
Improveprocessing powerVSAvoidhardware architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The CPU is segmented into multiple independent Vector Processing Engines (VPEs), each capable of executing physics simulation operations in parallel. Each VPE contains its own Vector Processing Units (VPUs) that can perform computations simultaneously, dramatically increasing overall processing power while maintaining a modular architecture that manages complexity through standardization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The architecture transitions from single-instruction single-data (SISD) conventional CPU operations to single-instruction multiple-data (SIMD) vector processing. This dimensional change in instruction execution mode enables parallel processing of multiple data elements simultaneously, transforming the processing capability from sequential to parallel execution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If more execution units and parallel processing capabilities are added, then computing performance improves, but device complexity increases

Engineering Contradiction:
Improvecomputing performanceVSAvoidnumber of execution units
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing system is divided into multiple identical VPE modules, each containing the same set of VPUs and control units. This segmentation allows the system to achieve high computing performance through parallelism while managing complexity through modular repetition of standardized units rather than designing a single complex heterogeneous architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each VPE is designed as a universal processing unit capable of executing various physics simulation operations through its VPUs. The same VPE architecture can handle different computational tasks by loading appropriate data and instructions, making the system versatile without requiring specialized hardware for each function.

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

3Speed

If data transfer bandwidth is increased, then data processing speed improves, but memory bandwidth limitations remain

Engineering Contradiction:
Improvedata processing speedVSAvoidmemory bandwidth
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The data transfer path is segmented into multiple parallel channels through the VPE architecture, with each VPE having its own memory access pathways. This segmentation allows simultaneous data transfers across multiple channels, effectively multiplying the total bandwidth capacity without requiring a single monolithic high-bandwidth memory interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from sequential memory access to parallel memory access across multiple VPEs. By distributing memory access requests across multiple processing engines operating simultaneously, the effective data transfer bandwidth is dramatically increased without changing the physical memory interface specifications.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Ease of operation

If DMA requests are processed without scheduling control, then data transfer simplicity is maintained, but queue occupancy management becomes inefficient

Engineering Contradiction:
ImproveDMA request processingVSAvoidqueue occupancy management
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The DMA controller preemptively schedules DMA requests based on predicted queue occupancy levels before actual data transfer occurs. By analyzing queue depth and occupancy trends in advance, the controller proactively adjusts scheduling priorities and timing to prevent queue overflow or excessive wait times, improving overall system productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The DMA controller continuously monitors queue occupancy levels and uses this feedback to dynamically adjust DMA request scheduling priorities. When queues approach capacity thresholds, the controller modulates request timing and sequencing to maintain efficient queue management, creating a closed-loop control system that optimizes performance based on real-time conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7627744B2External memory accessing DMA request scheduling in IC of parallel processing engines according to completion notification queue occupancy level
Publication Date: 2009.12.01 NVIDIA CORP
  • US7627744B2 patent drawing
  • US7627744B2 patent drawing
  • US7627744B2 patent drawing

AI summary

An integrated circuit comprises an external memory, a plurality of parallel connected Vector Processing Engines (VPEs), and an External Memory Unit (EMU) providing a data transfer path between the VPEs and the external memory. Each VPE contains a plurality of data processing units and a message queuing system adapted to transfer messages between the data processing units and other components of the integrated circuit.