Extended Multiply Unit Without Carry Flag

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures require a carry flag to perform extended multiplies, which increases control and storage complexity, especially in multi-threaded processors.

Innovation Solution

A multiply unit performs a sequence of operations using only portions of stored operands, eliminating the need for a carry flag by executing multiply-add and shift operations to achieve larger multiplication results without relying on carry flags.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a carry flag is used to perform extended multiplies, then the multiplication capability is improved, but the control and storage complexity increases

Engineering Contradiction:
Improvemultiplication capabilityVSAvoidcontrol and storage complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the multiplication operation into multiple smaller multiply operations that process portions of the operand. By dividing the large multiplication into smaller manageable chunks (e.g., multiplying high and low portions separately), the system achieves extended multiplication capability without requiring a carry flag to track between operations. Each segment operation is independent and self-contained.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the multiplication problem by processing operands in parallel portions (high and low parts) simultaneously rather than sequentially with carry propagation. This dimensional change allows the system to compute multiple multiplication results at once, eliminating the need for sequential carry flag management while maintaining correctness.

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

2Adaptability or versatility

If a carry flag is implemented for extended multiplies, then larger multiplication support is achieved, but the storage complexity increases especially in multi-threaded processors

Engineering Contradiction:
Improvemultiplication supportVSAvoidstorage complexity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the multiplication task into independent portions that can be processed in parallel. By dividing the operand into high and low portions and processing them separately through independent multiply operations, the system eliminates the need for shared carry flag storage across threads. Each thread can perform its multiplication independently without interfering with other threads' carry states.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and removes the carry flag from the system architecture entirely. Instead of maintaining a shared carry flag resource that consumes storage and creates synchronization overhead in multi-threaded environments, the patent reformulates the multiplication to eliminate carry propagation dependencies, thereby removing the need for this storage resource completely.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If a carry flag is used between multiply operations, then extended multiplication is enabled, but the control complexity increases

Engineering Contradiction:
Improveextended multiplicationVSAvoidcontrol complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments the multiplication process into independent operations that do not depend on carry flags. By breaking down the large multiplication into smaller independent multiply operations on portions of the operand, the control logic becomes simpler - each operation can be executed independently without managing carry state transitions between operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of the conventional approach of performing multiplication sequentially and using carry flags to pass results between operations, the patent inverts the approach by performing multiple multiplications in parallel on different portions of the operand. This inversion eliminates the need for carry flag management while achieving the same mathematical result.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS9417843B2Extended multiply
Publication Date: 2016.08.16 APPLE INC
  • US9417843B2 patent drawing
  • US9417843B2 patent drawing
  • US9417843B2 patent drawing

AI summary

Techniques are disclosed relating to performing extended multiplies without a carry flag. In one embodiment, an apparatus includes a multiply unit configured to perform multiplications of operands having a particular width. In this embodiment, the apparatus also includes multiple storage elements configured to store operands for the multiply unit. In this embodiment, each of the storage elements is configured to provide a portion of a stored operand that is less than an entirety of the stored operand in response to a control signal from the apparatus. In one embodiment, the apparatus is configured to perform a multiplication of given first and second operands having a width greater than the particular width by performing a sequence of multiply operations using the multiply unit, using portions of the stored operands and without using a carry flag between any of the sequence of multiply operations.