Matrix Multiply-Add Unit Single Instruction Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Two-dimensional matrix multiplication operations in multimedia and signal processing applications often require multiple instructions, leading to inefficiencies due to the need for storing intermediate products in registers, which can hinder performance.

Innovation Solution

A processing device with a matrix multiply-add unit capable of performing a 2D matrix multiply-add operation using a single instruction, operating on three 4×4 matrices to generate a 4×4 result matrix, eliminating the need for external storage of intermediate results by integrating the operation within the unit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional matrix multiplication is performed using multiple instructions, then intermediate products can be stored in registers, but the operation requires multiple instructions which reduces processing efficiency

Engineering Contradiction:
Improvematrix multiplication efficiencyVSAvoidoperation latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines multiple matrix multiplication instructions into a single instruction that performs the complete 2D matrix multiplication operation. The matrix multiply-add unit integrates the functionality of multiple separate instructions (load, multiply, store) into one unified operation, eliminating the need for multiple instruction cycles and intermediate storage operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements nested data storage within the matrix multiply-add unit where intermediate products are stored in internal storage locations that are nested within the unit itself rather than requiring external register storage. This nested structure allows intermediate results to be held and manipulated within the computational unit during the single instruction execution.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Ease of operation

If intermediate products are stored in external registers, then the operation can proceed step-by-step, but external permute or shuffle operations are required which increases device complexity

Engineering Contradiction:
Improveoperation simplicityVSAvoidpermute operation requirements
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the permute and shuffle operations from the external instruction sequence and integrates them directly into the matrix multiply-add unit's internal data paths. The unit internally reorganizes data elements as needed during the multiplication process without requiring external permute instructions, thereby simplifying the overall operation sequence.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces internal storage locations within the matrix multiply-add unit that act as intermediaries between the input matrices and the output result. These internal storage locations temporarily hold intermediate products and facilitate data reorganization without requiring external permute operations, serving as a mediator that simplifies the data flow.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple instructions are used for matrix multiplication, then each operation can be executed separately, but the throughput is reduced due to sequential execution requirements

Engineering Contradiction:
Improveprocessing throughputVSAvoidinstruction execution time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The patent enables continuous useful action by allowing the matrix multiply-add unit to perform the complete matrix multiplication operation in a single uninterrupted instruction cycle. The unit continuously processes all necessary computations (multiplications, additions, and data reorganization) without pausing for intermediate storage or external permute operations, maintaining continuous productive action throughout the operation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8984043B2Multiplying and adding matrices
Publication Date: 2015.03.17 INTEL CORP
  • US8984043B2 patent drawing
  • US8984043B2 patent drawing
  • US8984043B2 patent drawing

AI summary

An apparatus and method are described for multiplying and adding matrices. For example, one embodiment of a method comprises decoding by a decoder in a processor device, a single instruction specifying an m-by-m matrix operation for a set of vectors, wherein each vector represents an m-by-m matrix of data elements and m is greater than one; issuing the single instruction for execution by an execution unit in the processor device; and responsive to the execution of the single instruction, generating a resultant vector, wherein the resultant vector represents an m-by-m matrix of data elements.