Multi-operation instruction for multi-digit multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer applications that perform secure communications and complex computations require substantial resources and time due to the need for duplicating calculations when processing higher and lower digits.
Innovation Solution
A computer program product that facilitates processing within a computing environment by executing a multi-operation computer instruction. This instruction selects digits from predefined groups, multiplies them, shifts results if necessary, and adds them to obtain intermediate results, optimizing processing by reducing hardware requirements and duplicative calculations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional computer instructions are used to perform multi-digit computations, then calculations can be completed, but processing time and computational resources increase due to duplicative calculations
Solution Approach 1:
The patent segments multi-digit multiplication into multiple 32-bit operations by dividing operands into high and low digits. Each 32-bit operation processes a specific segment (e.g., low×low, low×high, high×low, high×high), and results are combined through shifting and adding. This segmentation eliminates duplicative calculations by ensuring each digit pair is multiplied exactly once, improving processing efficiency.
Solution Approach 2:
The patent merges multiple 32-bit operation results into a final 64-bit product through shifting and adding operations. Intermediate results from segmented multiplications are shifted to their correct positional values and summed together. This merging process consolidates the segmented computations into the final result, reducing the need for duplicative calculations while maintaining accuracy.
2Reliability
If traditional computation methods are used for secure communications, then security operations can be performed, but substantial computer resources are required
Solution Approach 1:
The patent applies segmentation to cryptographic operations by breaking down multi-digit multiplications (common in encryption/decryption) into efficient 32-bit operations. This reduces the computational burden on processing circuits while maintaining the mathematical integrity required for secure communications, thereby lowering energy consumption without compromising security reliability.
Solution Approach 2:
The patent changes the parameter representation by using optimized digit grouping and carry handling mechanisms. By structuring the computation to process 32-bit segments with proper carry propagation, the system achieves more efficient resource utilization for cryptographic algorithms that rely on large number arithmetic, reducing overall computational resource consumption.
3Productivity
If multi-digit computations are performed using conventional instructions, then calculations are completed, but hardware requirements increase due to need for duplicative calculations
Solution Approach 1:
The patent segments the computation process into standardized 32-bit operation units that can be executed by conventional processors. This segmentation allows existing hardware to handle multi-digit computations without requiring specialized high-precision arithmetic units, thereby reducing hardware complexity while maintaining computational throughput through efficient use of available processing capabilities.
Data Source
AI summary
A multi-operation computer instruction is executed to obtain an intermediate result. The execution includes selecting digits of a plurality of digits of multiple values to be multiplied. A location defined to hold a digit is greater in size than the size of the digit and further defined to hold a carry digit. The digits are selected from a predefined group of digits of a plurality of predefined groups based on a selection control of the instruction. The digits selected are multiplied to obtain a plurality of results. At least one result may be shifted a preselected amount to obtain at least one shifted result. One or more results and any shifted results, at least, are added to obtain an intermediate result. Execution of the instruction is repeated for multiple other predefined groups providing a plurality of intermediate results used to obtain a product of multiplying the multiple values.


