Matrix Multiplication Engine Pipelining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional computing architectures and processors fail to efficiently handle the vast amounts of unstructured data in big data datasets, leading to economic infeasibility in data analysis due to saturated processing capabilities.

Innovation Solution

A matrix multiplication engine using pipelining is implemented within a processor, configuring multiple multiply-accumulate units to perform operations in parallel, allowing for efficient processing of large datasets through a data flow architecture that eliminates the need for centralized control signals and system clocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional computing architectures are used to process big data datasets, then data analysis can be performed, but processing capabilities become saturated and analysis becomes economically infeasible

Engineering Contradiction:
Improvedata processing capabilityVSAvoidanalysis time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the matrix multiplication operation into multiple pipeline stages, with each stage processing a portion of the computation. This allows different parts of the computation to be performed simultaneously across multiple processing units, dramatically increasing throughput and eliminating the bottleneck that causes traditional architectures to saturate when handling big data datasets.

Inventive Principle:
Principle #1Segmentation

2Productivity

If matrix multiplication operations are performed using traditional sequential methods, then computation can be completed, but the time complexity remains O(n^3)

Engineering Contradiction:
Improvematrix multiplication speedVSAvoidcomputation time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The patent implements a continuous pipeline where multiply-accumulate operations are performed without interruption. As soon as one set of operations completes, the next set immediately begins, maintaining continuous useful action throughout the computation process. This eliminates idle time between operations and achieves optimal utilization of processing resources, reducing the overall computation time from O(n^3) to O(n^2).

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11227030B2Matrix multiplication engine using pipelining
Publication Date: 2022.01.18 MIPS HLDG INC
  • US11227030B2 patent drawing
  • US11227030B2 patent drawing
  • US11227030B2 patent drawing

AI summary

Techniques for data manipulation using a matrix multiplication engine using pipelining are disclosed. A first and a second matrix are obtained for matrix multiplication. A first matrix multiply-accumulate (MAC) unit is configured, where a first matrix element and a second matrix element are presented to the MAC unit on a first cycle. A second MAC unit is configured in pipelined fashion, where the first element of the first matrix and a second element of the second matrix are presented to the second MAC unit on a second cycle, and where a second element of the first matrix and the first element of the second matrix are presented to the first MAC unit on the second cycle. Additional MAC units are further configured within the processor in pipelined fashion. Multiply-accumulate operations are executed in pipelined fashion on each of n MAC units over additional k sets of m cycles.