Three-Operand Add Instructions for Large Integer Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing add instructions, such as ADD and ADC, are limited to adding only two operands, which can hinder efficient data processing in scenarios requiring three-way addition, particularly in large number multiplication where carry and overflow flags are crucial.

Innovation Solution

The introduction of new add instructions, like ADD3 and ADOC3, which allow for the addition of three operands and utilize additional flags to store and manage carry and overflow, enabling efficient handling of larger sums and reducing the need for multiple instructions in large integer multiplication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional ADD and ADC instructions are used, then only two operands can be added, but this limits efficiency in scenarios requiring three-way addition

Engineering Contradiction:
Improveprocessing speedVSAvoidoperand addition capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent combines multiple addition operations into a single instruction by merging the addition of three operands (SRC1, SRC2, and SRC3) into one atomic operation. This is achieved by extending the traditional two-operand ADD/ADC instruction format to accommodate three source operands that are added simultaneously and stored in the destination operand, thereby improving productivity without requiring multiple sequential instructions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The invention creates a universal add instruction that can handle both traditional two-operand addition and new three-operand addition scenarios. The instruction set architecture is extended to support both modes, allowing the same instruction mechanism to adapt to different operational requirements (two-operand for compatibility, three-operand for enhanced efficiency in large number multiplication).

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

2Productivity

If multiple ADD/ADC instructions are used for three-way addition, then existing instruction compatibility is maintained, but this increases instruction count and reduces efficiency

Engineering Contradiction:
Improveprocessing speedVSAvoidinstruction sequence complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges three separate addition operations (adding SRC1, SRC2, and SRC3) into a single atomic instruction. Instead of executing multiple sequential ADD/ADC instructions, the new instruction performs all three additions simultaneously in one cycle, reducing the instruction count and eliminating the complexity of managing multiple instruction sequences while maintaining hardware simplicity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The instruction is segmented into distinct operational components: adding SRC1 to the destination, adding SRC2 to the result, adding SRC3 to the result, and managing carry/overflow flags. This internal segmentation allows the complex three-way addition to be broken down into manageable operational steps within a single instruction execution cycle.

Inventive Principle:
Principle #1Segmentation

3Productivity

If three-way addition is implemented, then large number multiplication efficiency is improved, but this requires additional flags for carry and overflow management

Engineering Contradiction:
Improvemultiplication efficiencyVSAvoidflag management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent reuses existing carry and overflow flags (CF and OF) to serve dual purposes: managing carries/overflows from the first addition (SRC1 + DEST) and from the second addition (SRC2 + RESULT). This multi-functional use of existing flags avoids the need for entirely new flag registers, thereby improving multiplication efficiency while limiting the increase in device complexity to already-present components.

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

Solution Approach 2:

The instruction incorporates feedback mechanisms where the carry flag from the first addition becomes an input to the second addition operation, and similarly for overflow. This feedback loop allows the flags to dynamically adjust based on the actual arithmetic operations performed, enabling efficient three-way addition while using existing flag infrastructure rather than requiring additional complex flag management hardware.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8738893B2Add instructions to add three source operands
Publication Date: 2014.05.27 INTEL CORP
  • US8738893B2 patent drawing
  • US8738893B2 patent drawing
  • US8738893B2 patent drawing

AI summary

A method in one aspect may include receiving an add instruction. The add instruction may indicate a first source operand, a second source operand, and a third source operand. A sum of the first, second, and third source operands may be stored as a result of the add instruction. The sum may be stored partly in a destination operand indicated by the add instruction and partly a plurality of flags. Other methods are also disclosed, as are apparatus, systems, and instructions on machine-readable medium.