Message Generation Circuit Local Storage Data Fetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in conveying data to slave accelerators within graphics processors, particularly due to the need for repeated data fetching and potential mismatches in data order between fetching and sending processes.

Innovation Solution

Incorporating a message generation circuit with local storage within the execution unit to fetch and store data values for inclusion in messages, allowing for efficient data conveyance to slave accelerators, even when the fetching rate exceeds inclusion rate and order mismatch occurs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is fetched repeatedly from remote storage for slave accelerator operations, then data availability is ensured, but data conveyance efficiency deteriorates due to repeated fetching overhead

Engineering Contradiction:
Improvedata availabilityVSAvoiddata conveyance efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The message generation circuit includes local storage that pre-fetches and stores operand data values before they are needed for slave accelerator operations. This preliminary action eliminates the need for repeated remote storage fetching during message construction, as data is already available in local storage when messages need to be sent to slave accelerators.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The message generation circuit with its local storage acts as an intermediary between the remote storage system and the slave accelerators. It captures data values from remote storage once, stores them locally, and then efficiently retrieves them multiple times for message construction without requiring repeated remote storage access, thus mediating the data flow to improve efficiency while maintaining availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If data is fetched in a fixed order from storage, then data fetching is simplified, but flexibility deteriorates when data order mismatch occurs between fetching and sending requirements

Engineering Contradiction:
Improvedata fetching simplicityVSAvoiddata ordering flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The message generation circuit with local storage serves as an intermediary buffer that decouples the fixed-order data fetching from the flexible-order data sending requirements. Data can be fetched in a simple fixed order and stored in the local storage, then retrieved in the specific order required for constructing messages to slave accelerators, thus providing ordering flexibility without complicating the fetching process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The local storage in the message generation circuit adds a temporal dimension to data handling, allowing data to be fetched at one time (in fixed order) and then accessed at different times (in flexible order) as needed for message construction. This separates the fetching operation from the sending operation in time, enabling independent optimization of each.

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

Data Source

PatentUS11436166B2Data processing systems
Publication Date: 2022.09.06 ARM LTD
  • US11436166B2 patent drawing
  • US11436166B2 patent drawing
  • US11436166B2 patent drawing

AI summary

A processor comprises an execution unit operable to execute programs to perform processing operations, and one or more slave accelerators each operable to perform respective processing operations under the control of the execution unit. The execution unit includes a message generation circuit that generates messages to cause a slave accelerator to perform a processing operation. The message generation circuit fetches data values for including in a message or messages to be sent to a slave accelerator into local storage of the message generation circuit pending the inclusion of those data values in a message that is sent to a slave accelerator, and retrieves the data value or values from the local storage, and sends a message including the retrieved data value or values to the slave accelerator.