Coarse Fine Shifting Circuitry for Binary Number Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face performance constraints when performing shift functions on binary numbers, particularly in situations where the leading zero count is required quickly for operations like floating-point normalization, as existing techniques do not produce the count quickly enough.

Innovation Solution

The shift function is split into coarse and fine shifting operations, where coarse shifting circuitry performs an initial shift in parallel with count determination, allowing for quicker application of the shift function while still capturing the count value for other components, and fine shifting adjusts based on the actual count value.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the leading zero count is determined before performing the shift operation, then the shift function can be performed accurately, but the overall processing speed is reduced due to sequential operation

Engineering Contradiction:
Improveshift operation speedVSAvoidtime to generate leading zero count
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The coarse shifting circuitry performs an initial shift operation on the binary number before the complete leading zero count is available. This preliminary action uses a predetermined number of contiguous bit positions to determine whether those positions have the predetermined bit value, allowing the shift to start in parallel with the count determination process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The shift operation is divided into two segments: a coarse shift performed by coarse shifting circuitry that operates in parallel with count determination, and a fine shift performed by fine shifting circuitry that uses the complete leading zero count. This segmentation allows different parts of the shift operation to proceed at different times with different levels of information availability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the shift operation waits for the complete leading zero count, then accurate shifting is achieved, but performance is constrained due to sequential processing

Engineering Contradiction:
Improvedata processing throughputVSAvoidwaiting time for count value
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary coarse shifting action while waiting for the complete leading zero count to be determined. This allows the data processing pipeline to remain active and productive during the count determination period, rather than idle-waiting for the count value.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The coarse shifting circuitry continues to perform useful shifting work in parallel with the count determination process, ensuring that the data processing operation continues without interruption. The fine shifting circuitry then completes the operation once the count is available, maintaining continuous productive action throughout.

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If coarse shifting is performed in parallel with count determination, then shift speed is improved, but device complexity increases due to additional circuitry

Engineering Contradiction:
Improveparallel processing speedVSAvoidcircuitry structure
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The shifting function is segmented into coarse shifting circuitry and fine shifting circuitry, each with specific roles. The coarse shifting circuitry handles the parallel operation with simplified logic that checks predetermined bit positions, while the fine shifting circuitry handles the precise adjustment. This segmentation distributes complexity across specialized components rather than requiring one complex circuit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The coarse shifting circuitry performs preliminary shifting action using a predetermined number of contiguous bit positions, which simplifies the parallel processing logic. This preliminary action reduces the complexity of the parallel circuitry by using fixed, predetermined parameters rather than requiring dynamic analysis of all possible bit positions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9519456B2Data processing apparatus and method for performing a shift function on a binary number
Publication Date: 2016.12.13 ARM LTD
  • US9519456B2 patent drawing
  • US9519456B2 patent drawing
  • US9519456B2 patent drawing

AI summary

A data processing apparatus and method are provided for performing a shift function on a binary number. The apparatus comprises count determination circuitry for determining a number of contiguous bit positions in the binary number that have a predetermined bit value, the count determination circuitry outputting a count value indicative of the number of contiguous bit positions determined. In parallel with the operation of the count determination circuitry, coarse shifting circuitry is used to determine, for at least one predetermined number of contiguous bit positions, whether that predetermined number of contiguous bit positions within the binary number has said predetermined bit value. An initial shift operation is then performed on the binary number based on that determination in order to produce an intermediate binary number. Once the count value is available from the count determination circuitry, fine shifting circuitry then performs a further shift operation on the intermediate binary number, based on the count value output by the count determination circuitry, in order to produce the result binary number. This provides an efficient mechanism for performing a shift function on a binary number, while still capturing the count value from the count determination circuitry.