Parallel Processing Architecture Memory Block Transfers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processing architectures are ill-suited for handling large and complex projects, particularly in managing and processing vast amounts of disparate data, leading to inefficiencies and increased resource requirements.

Innovation Solution

A parallel processing architecture with memory block transfers, where an array of compute elements is accessed and controlled on a cycle-by-cycle basis using wide control words generated by a compiler, enabling autonomous memory block transfers that support data movement between cache and memory systems, allowing for efficient processing of tasks and subtasks without interrupting ongoing operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data movement is performed through the array of compute elements, then data can be transferred between cache and memory systems, but the processing operations are interrupted and throughput is reduced

Engineering Contradiction:
Improvedata movement capabilityVSAvoidprocessing throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system separates data movement operations from compute operations by introducing dedicated memory block transfer control logic that operates independently from the array of compute elements. This segmentation allows data transfers to occur through dedicated pathways without interrupting the compute pipeline, resolving the contradiction between data movement capability and processing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces memory block transfer control logic as an intermediary component that handles data movement between cache and memory systems. This intermediary operates autonomously from the compute elements, enabling data transfers to proceed without blocking processing operations, thus maintaining high throughput while facilitating ease of data movement.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If fine-grained control of compute elements is implemented using cycle-by-cycle control words, then processing efficiency is improved, but control logic complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs universal control words that can direct multiple types of operations including compute operations, memory accesses, and inter-element data transfers. This multi-functionality reduces control logic complexity by consolidating diverse control functions into a single standardized interface, while maintaining fine-grained cycle-by-cycle control for high processing efficiency.

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

Solution Approach 2:

The control logic is designed to automatically generate and manage control words for data movement operations without requiring external intervention. The memory block transfer control logic autonomously handles the complexity of coordinated data transfers, freeing higher-level control structures from managing low-level details, thus improving efficiency without proportionally increasing overall system complexity.

Inventive Principle:
Principle #25Self-service

3Productivity

If autonomous memory block transfers are implemented outside the array, then data movement occurs without interrupting processing, but additional control logic is required

Engineering Contradiction:
Improveprocessing continuityVSAvoidcontrol logic quantity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the control functions for compute operations and memory block transfers into a unified control architecture. The same control word interface and control logic structures used for compute operations are extended to also manage autonomous memory transfers, eliminating the need for separate complex control logic while enabling processing continuity during data movements.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20230409328A1Parallel processing architecture with memory block transfers
Publication Date: 2023.12.21 ASCENIUM INC
  • US20230409328A1 patent drawing
  • US20230409328A1 patent drawing
  • US20230409328A1 patent drawing

AI summary

Techniques for task processing based on a parallel processing architecture with memory block transfers are disclosed. An array of compute elements is accessed. Each compute element is known to a compiler and is coupled to its neighboring compute elements. Control for the array is provided on a cycle-by-cycle basis. The control is enabled by a stream of wide control words generated by the compiler. A control word from the stream of control words includes a source address, a target address, a block size, and a stride. Memory block transfer control logic is used. The memory block transfer logic is implemented outside of the array of compute elements. A memory block transfer is executed. The memory block transfer is initiated by a control word from the stream of wide control words. Data for the memory block transfer is moved independently from the array of compute elements.