Vector Instructions for Large Integer Arithmetic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing technologies face challenges in efficiently performing large integer arithmetic operations, particularly in vector processing, where existing methods are inefficient in handling and processing multiple large integers simultaneously.
Innovation Solution
The development of vector instructions and execution units that utilize a combination of multiplication and addition instructions, along with masking logic, to efficiently multiply and accumulate partial products for large integers, allowing for parallel processing of multiple integer operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional scalar arithmetic instructions are used for large integer operations, then the processor architecture remains simple, but the processing speed and efficiency for large integer arithmetic deteriorates
Solution Approach 1:
The patent segments large integer arithmetic operations into smaller operations by dividing integers into multiple digits represented in registers. Each register holds a digit (e.g., 32-bit or 64-bit), and the arithmetic operations are performed on these segmented digits using traditional ALU instructions, thereby achieving fast processing without requiring complex new hardware architecture
Solution Approach 2:
The patent introduces a new dimension of operation by enabling simultaneous processing of multiple integer digits across different registers through vectorization. This allows the processor to handle large integer arithmetic by operating on multiple segmented digits in parallel, effectively increasing processing speed while maintaining architectural simplicity through the use of existing register and instruction mechanisms
2Productivity
If multiple large integers are processed simultaneously in vector processing, then the productivity increases, but the complexity of handling and processing multiple integers deteriorates
Solution Approach 1:
The patent makes the existing register and instruction set universal by enabling them to handle both single and multiple integer operations. The same register architecture and basic arithmetic instructions can process either one large integer or multiple integers simultaneously through vectorization, eliminating the need for separate specialized hardware for multi-integer processing and thereby increasing productivity without adding complexity
Solution Approach 2:
The patent merges multiple integer processing operations into a unified vector processing framework. By combining multiple scalar operations into vector operations that can execute simultaneously, the system achieves high throughput for multiple large integer arithmetic operations while using a unified and simplified processing approach rather than requiring separate complex handling mechanisms for each operation
Data Source
AI summary
An apparatus is described that includes a semiconductor chip having an instruction execution pipeline having one or more execution units with respective logic circuitry to: a) execute a first instruction that multiplies a first input operand and a second input operand and presents a lower portion of the result, where, the first and second input operands are respective elements of first and second input vectors; b) execute a second instruction that multiplies a first input operand and a second input operand and presents an upper portion of the result, where, the first and second input operands are respective elements of first and second input vectors; and, c) execute an add instruction where a carry term of the add instruction's adding is recorded in a mask register.


