Parallel Saturation Detection Circuit for Shift Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in identifying saturation during shift operations, as they rely on examining the result of the shift operation to determine if saturation has occurred, which is slower compared to proactive identification.

Innovation Solution

Incorporating bit location indicator generation and comparison circuitry that operates in parallel with shift circuitry to generate a bit location indicator, which identifies potential saturation conditions before the shift operation is completed, using mask data values and inversion circuitry to handle various shift directions and data types efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If saturation identification is performed by examining the result of the shift operation, then the detection method is simple, but the processing speed is slow

Engineering Contradiction:
Improveshift operation execution speedVSAvoidcircuit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing saturation detection before the shift operation completes. The bit location indicator generation circuitry identifies which bit positions would cause saturation, and the comparison circuitry checks if any set bits occupy those positions, all while the shift operation is still in progress. This parallel preliminary detection eliminates the need to wait for the shift to complete before detecting saturation, thereby improving execution speed without significantly increasing overall circuit complexity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallel bit location indicator generation and comparison circuitry is added, then processing speed improves, but device complexity increases

Engineering Contradiction:
Improveshift instruction execution efficiencyVSAvoidcircuit structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the saturation detection function into two distinct circuit modules: bit location indicator generation circuitry that identifies critical bit positions, and comparison circuitry that checks if set bits occupy those positions. This segmentation allows the detection function to operate in parallel with the shift operation, improving productivity. The modular segmented structure manages complexity by dividing the detection task into specialized sub-circuits rather than requiring a monolithic complex detector.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bit location indicator serves as an intermediary between the shift operation and the saturation detection. Instead of directly comparing the input data with saturation thresholds after the shift, the patent uses this intermediary indicator to pre-identify which bit positions would cause saturation. The comparison circuitry then only needs to check if any set bits occupy those indicated positions, simplifying the overall detection process and improving efficiency while managing circuit complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9564187B2Predicting saturation in a shift operation
Publication Date: 2017.02.07 ARM LTD
  • US9564187B2 patent drawing
  • US9564187B2 patent drawing
  • US9564187B2 patent drawing

AI summary

Apparatus for data processing and a method of data processing are provided. Shift circuitry performs a shift operation in response to a shift instruction, shifting bits of an input data value in a direction specified by the shift instruction. Bit location indicator generation circuitry and comparison circuitry operate in parallel with the shift circuitry. The bit location indicator indicates at least one bit location in the input data value which must not have a bit set if the shifted data value is not to saturate. Comparison circuitry compares the bit location indicator with the input data value and indicates a saturation condition if any bits are indicated by the bit position indicator for bit locations which hold set bits in the input data value. A faster indication of the saturation condition thus results.