Histogram Generation Using SIMD Parallel Register Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing histogram generation techniques are inefficient and require a large number of processing cycles, making them slow and resource-intensive in digital processing systems.
Innovation Solution
The method employs a SIMD instruction to simultaneously update multiple frequency counters by setting specific registers based on decoded data values, allowing for quick determination of frequency occurrences and reducing the number of operations needed to generate a histogram.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional histogram generation methods are used, then the histogram can be generated with standard processing, but the number of processing cycles is large and the generation speed is slow
Solution Approach 1:
The patent divides the histogram generation process into multiple parallel segments by using multiple frequency counters (first frequency counter, second frequency counter, etc.) that simultaneously update different portions of the histogram data. This segmentation allows concurrent processing of multiple data ranges, significantly reducing the total processing cycles required compared to sequential conventional methods
Solution Approach 2:
The patent introduces a new dimension of parallelism by utilizing multiple storage elements and frequency counters that operate simultaneously. Instead of updating histogram bins sequentially in a single processing stream, the invention creates multiple parallel processing streams that update different frequency counters concurrently, effectively adding a temporal parallelism dimension to the histogram generation process
Data Source
AI summary
A processor generating a histogram of a set of data values receives a data value, and sets a corresponding register in each of two sets of registers based respectively on a decoded value represented by bits in a first and second set of positions in the received data value. The processor then simultaneously increments/updates each of multiple frequency counters (specifying frequency of occurrence of respective data values/ranges) by a value of a corresponding register in one of the two sets of registers if a value of a corresponding register in the other one of the two sets of registers is set. As a result, histogram generation is made efficient and fast. In an embodiment, 32 frequency counters are updated in 16 operations.


