SIMD Bit Exact Data Processing via Pipelined Saturation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data processing methods for bit exactness are inefficient due to sequential operations, which slow down processing speed, especially when handling multiple operands.

Innovation Solution

The implementation of Single Instruction Multiple Data (SIMD) instructions that perform operations in parallel and use pipelining to ensure bit exactness by executing instructions through non-overlapping accumulator portions, allowing for simultaneous processing and saturation of intermediate results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If sequential operations are used to maintain bit exactness, then bit exactness is achieved, but processing speed deteriorates

Engineering Contradiction:
Improvebit exactnessVSAvoidprocessing speed
Core Design Contradiction:
Manufacturing precisionVSSpeed

Solution Approach 1:

The patent divides the processing of multiple operands into separate pipeline stages, where each stage handles a specific operation (e.g., multiplication, addition) on different operand pairs simultaneously. This segmentation allows parallel execution while maintaining bit exactness through controlled saturation at each stage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary saturation on intermediate results before they are combined with subsequent operands. By pre-saturating intermediate values, the system ensures bit exactness is maintained without requiring sequential processing, as the saturation state is determined in advance and can be processed in parallel.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallel operations are used to increase processing speed, then productivity is improved, but maintaining bit exactness becomes more difficult

Engineering Contradiction:
Improveprocessing speedVSAvoidbit exactness
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent introduces saturation as an intermediary mechanism that mediates between parallel operations and bit exactness requirements. By applying saturation to intermediate results in a controlled manner, the system enables parallel processing while ensuring that the final result maintains bit exactness, as saturation prevents overflow from affecting subsequent calculations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If intermediate results are saturated sequentially, then bit exactness is maintained, but execution time increases

Engineering Contradiction:
Improvebit exactnessVSAvoidexecution time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent segments the saturation operation into pipeline stages that can execute in parallel. Instead of sequentially saturating each intermediate result, the system saturates multiple intermediate results simultaneously in different pipeline stages, reducing the total execution time while maintaining bit exactness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent maintains continuous processing by overlapping the saturation of intermediate results with subsequent operations. While one intermediate result is being saturated, other operations can proceed in parallel pipeline stages, eliminating idle time and reducing overall execution time while preserving bit exactness.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8307196B2Data processing system having bit exact instructions and methods therefor
Publication Date: 2012.11.06 NXP USA INC
  • US8307196B2 patent drawing
  • US8307196B2 patent drawing
  • US8307196B2 patent drawing

AI summary

A method for operating a data processing system is provided. The method includes providing a first operand stored in a first register, providing a second operand stored in the register, providing a third operand stored in the register. The method further includes executing a first instruction, where executing the first instruction comprises: (1) retrieving the first operand, the second operand, and the third operand from the first register; (2) performing an operation using the first operand, the second operand, and the third operand to generate a bit exact result.