Associative Memory Multi-Bit Multiplication Without Carry Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multiplication methods in computation devices require complex carry propagation across multiple partial products, leading to inefficiencies in processing time and complexity, especially when dealing with multi-bit binary numbers.

Innovation Solution

The method involves replacing sets of three multi-bit binary numbers with two binary numbers using a 3-to-2 replacement process, allowing for concurrent processing of partial products without carry propagation delay, utilizing an associative memory device and a multi-bit multiplier to reduce the number of operands in the final addition step.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If standard multi-bit adder with carry propagation is used to sum partial products, then multiplication can be completed, but the complexity becomes O(n^2) and processing time increases

Engineering Contradiction:
Improvemultiplication processing speedVSAvoidcomplexity of multiplication operation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the addition operation into multiple independent stages, where each stage processes a specific group of partial products. By dividing the n partial products into groups and processing them in parallel stages, the overall complexity is reduced from O(n^2) to O(2n), as each stage can operate concurrently without waiting for carry propagation through the entire chain.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the sequential carry propagation process into a multi-dimensional parallel processing structure. Instead of adding partial products one after another in a single dimension (sequential), the invention organizes them into multiple processing dimensions/stages that can operate simultaneously, effectively changing the computational landscape from linear to parallel.

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

2Measurement precision

If carry propagation is performed across multiple partial products, then accurate sum is achieved, but processing time increases due to sequential dependency

Engineering Contradiction:
Improveaccuracy of multiplication resultVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary grouping and partial summation operations before the final addition stage. By pre-processing the partial products into organized groups and performing initial summations in parallel, the carry propagation required in the final stage is minimized, reducing the overall processing time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuous useful action by organizing the addition process into overlapping stages where while one stage is completing its carry propagation, other stages are already processing the next group of partial products. This pipelining approach ensures that the computational resources remain continuously utilized without idle wait states.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10635397B2System and method for long addition and long multiplication in associative memory
Publication Date: 2020.04.28 GSI TECHNOLOGY INC
  • US10635397B2 patent drawing
  • US10635397B2 patent drawing
  • US10635397B2 patent drawing

AI summary

A method for an associative memory device includes replacing a set of three multi-bit binary numbers P, Q and R, stored in the associative memory device, with two multi-bit binary numbers X and Y, also stored in the associative memory device, wherein a sum of the binary numbers P, Q and R is equal to a sum of the binary numbers X and Y. A system includes an associative memory array having rows and columns and a multi-bit multiplier. Each column of the array stores two multi-bit binary numbers to be multiplied. The multi-bit multiplier multiplies, in parallel, the two multi-bit binary numbers per column by concurrently processing all bits of partial products generated by the multiplier. The multiplier performs the processing without any carry propagation delay when adding all but the last two partial products.