Data Processing Circuitry for Efficient Substring Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of data processing circuitry required for substring searches in large input data items becomes impractical due to the growing number of permutations of comparisons, making it difficult to efficiently determine the presence of a sequence of predefined values within the data.
Innovation Solution
The implementation of data processing circuitry that selectively applies vector processing operations to segments of an input data vector, using instruction decoder circuitry to generate control signals for comparison circuitry to perform comparison operations across candidate offsets, thereby managing complexity and enabling efficient substring searches across multiple segments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If data processing circuitry performs substring searches on large input data items, then search accuracy is improved, but device complexity increases due to the growing number of comparison permutations
Solution Approach 1:
The input data vector is divided into multiple segments, with each segment processed by dedicated comparison circuitry. This segmentation allows the system to maintain high search accuracy across large datasets while managing circuitry complexity by distributing comparison operations across multiple manageable units rather than requiring a single complex comparison structure.
2Measurement precision
If the number of comparison operations is increased to cover all candidate offsets, then substring detection accuracy is improved, but processing time increases
Solution Approach 1:
Comparison operations are initiated for all candidate offsets simultaneously across multiple segments before the search process completes. This preliminary action approach ensures that all possible substring positions are evaluated for accurate detection, while the parallel execution across segments prevents sequential processing delays from accumulating.
Solution Approach 2:
The comparison circuitry continuously operates across all segments and candidate offsets without interruption, maintaining uninterrupted search coverage. This continuous operation ensures that no potential substring match is missed while avoiding the time losses associated with restarting or pausing comparison operations between segments.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An apparatus and a method of operating the apparatus are provided for performing a comparison operation to match a given sequence of values within an input vector. Instruction decoder circuitry is responsive to a string match instruction specifying a segment of an input vector to generate control signals to control the data processing circuitry to perform a comparison operation. The comparison operation determines a comparison value indicative of whether each input element of a required set of consecutive input elements of the segment has a value which matches a respective value in consecutive reference elements of the reference data item. A plurality of comparison operations may be performed to determine a match vector corresponding to the segment of the input vector to indicate the start position of the substring in the input vector. A string match instruction, as well as simulator virtual machine implementations, are also provided.