FDMDA Operator for Simultaneous Double Multiplication and Addition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor cores are limited in performing combined operations involving multiple multiplications and additions with more than three operands, requiring additional instructions and register identifiers, which hampers efficient evaluation of polynomials, matrix multiplications, and complex number operations.

Innovation Solution

The introduction of a processor core instruction set with a fused double multiplication and addition (FDMDA) operator that combines two multiplications and two additions using three register references, allowing for simultaneous calculation and addition of products, enabling efficient evaluation of polynomials, matrix products, and complex number operations without losing accuracy through rounding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a processor core uses traditional FMA operator with three operands, then the instruction set can be kept simple with three register identifiers, but it cannot efficiently perform combined operations with more than three operands requiring additional instructions

Engineering Contradiction:
Improveperformance in combined operationsVSAvoidnumber of instructions
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple FMA operations into a single hardware operator that can process more than three operands simultaneously. The operator is extended to accept multiple multiplication pairs and accumulation terms, combining what would traditionally require multiple sequential FMA instructions into one unified operation that executes in a single cycle.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The enhanced operator is designed to be universal, capable of handling various combined operations including polynomial evaluation, matrix multiplications, and complex number operations. By making the operator multi-functional, the processor can efficiently execute diverse computational tasks without requiring separate specialized hardware for each operation type.

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

2Measurement precision

If the processor evaluates polynomials or performs matrix multiplications with multiple operands, then computational accuracy may be maintained, but the number of instructions required increases

Engineering Contradiction:
Improvecomputational accuracyVSAvoidnumber of instructions
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The operator is designed to perform all necessary multiplications and additions in a single unified operation, eliminating the need for intermediate rounding steps that would occur with sequential FMA instructions. By computing all products and accumulations simultaneously in one operation, the processor maintains full precision throughout the calculation without premature rounding errors.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the hardware operator performs multiple multiplications and additions simultaneously, then productivity improves, but the device complexity increases

Engineering Contradiction:
Improvespeed of combined operationsVSAvoidhardware operator structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The enhanced operator is segmented into distinct functional units that handle different aspects of the computation independently. Multiple multiplication units process different operand pairs simultaneously, while accumulation units handle the addition of products to running totals. This segmentation allows parallel execution of multiple operations while keeping each individual processing unit relatively simple and manageable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11604646B2Processor comprising a double multiplication and double addition operator actuable by an instruction with three operand references
Publication Date: 2023.03.14 KALRAY
  • US11604646B2 patent drawing
  • US11604646B2 patent drawing
  • US11604646B2 patent drawing

AI summary

A method of processing data by a processor, the method comprising the steps of: receiving, by the processor, an instruction including an operator code associated with three register references designating registers configured to contain pairs of multiplication operands, an addition operand, and a result register configured to receive an operator result, the operator code designating an operator configured to compute products of the pairs of multiplication operands and add the products with the addition operand; decoding the instruction by an instruction decoder of the processor, to determine the operator to be executed, and the registers containing the operands to be supplied to the operator and the result of the operator; actuating the operator by an arithmetic circuit of the processor, consuming the operands in the registers designated by the register references; and storing the result of the operator in the designated result register.