SIMD Search Circuitry for Extreme Value Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software algorithms for finding extreme values in a data array are inefficient, requiring multiple computer instructions and not scalable for different index sizes, especially in processing units like the ZSP400 SIMD unit.

Innovation Solution

Incorporating search circuitry within a computer processor that allows a single instruction to compare values, select the extreme value, and increment the index, enabling operations to be performed in a single clock cycle and scalable for various index lengths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional software algorithms are used to search for extreme values in a data array, then the implementation is simple and flexible, but the execution speed is slow and requires multiple computer instructions per step

Engineering Contradiction:
Improvesearch execution speedVSAvoidinstruction complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical software-based search algorithm with dedicated hardware search circuitry that includes comparison elements, multiplexers, and incrementers. This hardware implementation performs array element comparison, extreme value selection, and index incrementing in parallel, reducing the operation from multiple sequential software instructions to a single hardware-clocked cycle operation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The search circuitry is divided into distinct functional segments: comparison elements for evaluating array values, multiplexers for selecting extreme values and their indices, and incrementers for updating the search index. This segmentation allows each component to operate independently and in parallel, improving overall search speed while maintaining clear functional separation.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If conventional SIMD processing is used with fixed register bit allocations, then the implementation is straightforward, but it does not scale to different index sizes (e.g., 32-bit indexes)

Engineering Contradiction:
Improveindex size scalabilityVSAvoidregister configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The search circuitry employs dynamic bit-slice configuration where the comparison elements and multiplexers can be dynamically activated for different bit widths. The circuit can adaptively use 8-bit, 16-bit, or 32-bit slices of the data array and index registers based on the specific search requirements, allowing scalable operation across different index sizes without requiring separate dedicated circuits for each bit width.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hardware search circuit is designed as a universal structure that can handle multiple index sizes and data types through configurable bit-slice activation. The same comparison elements and multiplexers serve multiple functions by processing different portions of wider registers, eliminating the need for separate search circuits for 8-bit, 16-bit, and 32-bit operations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If multiple computer instructions are used for each search step, then the algorithm is flexible and adaptable, but the processing time increases significantly

Engineering Contradiction:
Improvesearch processing throughputVSAvoidinstruction execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges three separate operations that traditionally required multiple software instructions into a single hardware-clocked search step: comparing array elements to find the extreme value, selecting the extreme value and its index using multiplexers, and incrementing the search index. This merging of operations into unified hardware logic dramatically reduces execution time from multiple instruction cycles to a single clock cycle.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The search circuitry is designed to operate continuously in a pipelined manner where the comparison, selection, and increment operations occur simultaneously and continuously through the clock cycles. The circuit maintains continuous operation by immediately preparing the next comparison while the current selection and increment operations complete, maximizing processing throughput without idle cycles.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9600279B2Circuit and method for searching a data array and single-instruction, multiple-data processing unit incorporating the same
Publication Date: 2017.03.21 VERISILICON HLDGCO LTD
  • US9600279B2 patent drawing
  • US9600279B2 patent drawing
  • US9600279B2 patent drawing

AI summary

Search circuitry responsive to a single instruction for undertaking a step of a search of a data array for an extreme value therein, a method of searching a data array to identify an extreme value therein and a location thereof and a single-instruction, multiple-data (SIMD) processing unit incorporating the search circuitry or the method. In one embodiment, the search circuitry includes: a comparison element configured to compare two values in the data array, (2) multiplexers coupled to the comparison element and configured to select a more extreme value of the two values and a location in the data array of the more extreme value and (3) an incrementer configured to increment a counter associated with the search.