GPU with MMU and Cache Coherent Link for CPU Peer Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems treat graphics processing units (GPUs) as slaves, limiting their ability to efficiently share computations with central processing units (CPUs) due to restrictive memory access and cache coherence protocols, resulting in inefficient data transfer and computational performance.

Innovation Solution

Equating GPUs to CPUs by integrating a memory management unit (MMU) and CPU core within the GPU, allowing direct access to shared memory and cache coherence, enabling GPUs to operate as peers in computing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If GPU is treated as slave device with restrictive memory access protocols, then system complexity is reduced and ease of operation is improved, but computational performance and data transfer efficiency deteriorate

Engineering Contradiction:
Improveease of operationVSAvoidcomputational performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The GPU is transformed from a specialized graphics-only device into a universal processing unit capable of both graphics rendering and general-purpose computation. By integrating an x86-compatible CPU core and MMU, the GPU can execute operating systems and manage memory independently, enabling it to function as both a graphics processor and a computational engine, thus achieving multi-functionality that resolves the contradiction between operational simplicity and computational performance

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

2Productivity

If GPU is equipped with independent memory management and cache coherence, then computational performance and data sharing efficiency are improved, but device complexity increases

Engineering Contradiction:
Improvecomputational performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges previously separate components (GPU processing units, CPU core, MMU, and cache systems) into a single integrated GPU device. By combining the x86-compatible CPU core with the GPU's existing memory management capabilities and adding cache coherence protocols, the system eliminates the need for separate memory management units and cache controllers, thereby reducing overall system complexity while enhancing computational performance through unified memory access

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If GPU copies data between local memory and system memory, then memory access control is simplified, but data transfer time and energy consumption increase

Engineering Contradiction:
Improvedevice complexityVSAvoiddata transfer time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent extracts the data copying operation from the computational process by implementing direct memory access between the GPU's local memory and system memory through the integrated MMU. This extraction eliminates the intermediate step of copying data through CPU-controlled buffers, allowing the GPU to access system memory directly while maintaining simplified memory access control protocols, thereby reducing data transfer time without significantly increasing device complexity

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8860741B1Graphics processor with memory management unit and cache coherent link
Publication Date: 2014.10.14 NVIDIA CORP
  • US8860741B1 patent drawing
  • US8860741B1 patent drawing
  • US8860741B1 patent drawing

AI summary

In contrast to a conventional computing system in which the graphics processor (graphics processing unit or GPU) is treated as a slave to one or several CPUs, systems and methods are provided that allow the GPU to be treated as a central processing unit (CPU) from the perspective of the operating system. The GPU can access a memory space shared by other CPUs in the computing system. Caches utilized by the GPU may be coherent with caches utilized by other CPUs in the computing system. The GPU may share execution of general-purpose computations with other CPUs in the computing system.