Vector Floating-Point Scale Instruction for DSP
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern digital signal processors face inefficiencies due to the high computational overhead of floating-point multiplication operations, particularly when performing algorithms that require multiplication or division by powers of 2, such as in the Newton-Raphson approximation, which often necessitate multiple cycles per operation.
Innovation Solution
A vector floating-point scale instruction is introduced, allowing for simultaneous scaling of multiple floating-point values in a single instruction by adding scale values to the exponent field of floating-point values stored in registers, reducing the computational overhead by enabling these operations to be completed in a single cycle or fewer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If floating-point multiplication operation is used to multiply or divide by power of 2, then the operation can be performed, but multiple cycles are required which increases computational overhead
Solution Approach 1:
The patent changes the operational parameter from general floating-point multiplication to exponent field addition. By recognizing that multiplication/division by power of 2 corresponds to adding/subtracting exponents, the system transforms a complex multiplication operation into a simpler addition operation on the exponent field, reducing cycle requirements
Solution Approach 2:
The patent extracts the exponent field from the floating-point number structure and operates on it separately. By isolating the exponent component and performing addition operations only on this extracted field rather than executing full floating-point multiplication, the system achieves faster execution for power-of-2 scaling operations
2Productivity
If vector floating-point scale instruction is implemented, then scaling operations are completed in single cycle reducing computational overhead, but the device complexity increases
Solution Approach 1:
The vector floating-point scale instruction provides multi-functionality by handling scaling operations for multiple data elements simultaneously in a single instruction. This SIMD (Single Instruction Multiple Data) capability allows the same instruction to scale numerous floating-point values in parallel, improving productivity while the complexity is amortized across many operations
Solution Approach 2:
The patent merges multiple scaling operations into a single vector instruction. Instead of executing separate multiplication instructions for each floating-point value, the vector scale instruction combines multiple scaling operations into one unified operation that processes multiple elements concurrently, reducing overall computational overhead
Data Source
AI summary
A method to scale source data in a processor in response to a vector floating-point scale instruction includes specifying a first source register containing the source data, a second source register containing scale values, and a destination register to store scaled source data. The first source register includes a plurality of lanes that each contains a floating-point value and the second source register and the destination register each includes a plurality of lanes corresponding to the lanes of the first source register. The method includes executing the vector floating-point scale instruction by, for each lane in the first source register adding the scale value in the corresponding lane of the second source register to an exponent field of the floating-point value in the lane of the first source register to create a scaled floating-point value, and storing the scaled floating-point value in the corresponding lane of the destination register.


