Multidimensional DMA Address Generation for Processor Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional processors and processing techniques are inadequate for handling the immense computational requirements of vast quantities of unstructured data, such as those encountered in big data applications, which overwhelm traditional systems and require innovative approaches for efficient data manipulation and analysis.

Innovation Solution

The implementation of a processor cluster address generation method using a direct memory access (DMA) engine that employs address generation across multiple tensor dimensions, enabling efficient processing within processor clusters by parsing work request address fields and generating DMA addresses for accessing memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional processors and processing techniques are used to handle data, then centralized control is maintained, but the system becomes overwhelmed and cannot efficiently process vast quantities of unstructured data

Engineering Contradiction:
Improvedata processing capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system is divided into multiple processor clusters, each capable of independent operation and data processing. This segmentation allows the system to handle vast quantities of unstructured data by distributing the computational load across multiple independent units, preventing any single processor from becoming overwhelmed while maintaining overall system productivity.

Inventive Principle:
Principle #1Segmentation

2Speed

If a DMA engine with multidimensional address generation is implemented, then data access efficiency is improved, but the address generation complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidaddress generation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The DMA engine implements address generation across multiple tensor dimensions (e.g., N-D dimensions) to efficiently access data in multidimensional data structures. By adding dimensional complexity to the address generation system, the engine can directly access elements in complex data structures without requiring multiple sequential access operations, thereby improving data access speed despite the increased address generation complexity.

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

3Productivity

If processor clusters operate independently with DMA engines, then processing efficiency is improved, but control and coordination become more difficult

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcontrol ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

Each processor cluster is equipped with its own DMA engine that can independently generate addresses and access memory without requiring centralized control for each operation. The clusters operate autonomously, managing their own data access and processing tasks, which improves processing efficiency while reducing the coordination burden on centralized control systems.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10997102B2Multidimensional address generation for direct memory access
Publication Date: 2021.05.04 MIPS HLDG INC
  • US10997102B2 patent drawing
  • US10997102B2 patent drawing
  • US10997102B2 patent drawing

AI summary

Techniques for data manipulation using processor cluster address generation are disclosed. One or more processor clusters capable of executing software-initiated work requests are accessed. A direct memory access (DMA) engine, coupled to the one or more processor clusters, is configured, wherein the DMA engine employs address generation across a plurality of tensor dimensions. A work request address field is parsed, where the address field contains unique address space descriptors for each of the plurality of dimensions, along with a common address space descriptor. DMA addresses are generated based on the unique address space descriptors and the common address space descriptor. Memory using two or more of the DMA addresses that were generated is accessed, where the two or more DMA addresses enable processing within the one or more processor clusters.