Circular Buffer Subsets for Parallel Data Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processing systems, such as embedded processors, face performance and power consumption challenges in performing iterative operations like the least-mean-square (LMS) adaptive FIR filter due to sequential execution and lack of data reuse.
Innovation Solution
Organizing a circular buffer into subsets and using memory load commands with offset and subset parameters to identify and load data addresses, enabling parallel processing and data reuse across iterative steps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential execution is used for iterative processing operations, then power consumption is reduced, but performance and processing speed deteriorate
Solution Approach 1:
The circular buffer is segmented into multiple subsets (e.g., even and odd subsets), allowing different data elements to be accessed in parallel during iterative operations. This segmentation enables simultaneous reads from different buffer locations, improving processing throughput without proportionally increasing power consumption.
Solution Approach 2:
The patent introduces a subset dimension to the traditional circular buffer addressing scheme. By organizing buffers into subsets and using subset parameters alongside offset parameters, the system enables parallel access paths that effectively add a dimensional layer to data retrieval operations, thereby improving performance without linearly increasing energy usage.
2Productivity
If data is loaded into circular buffer at each iterative step, then data availability is improved, but power consumption increases
Solution Approach 1:
The system performs preliminary organization of data into circular buffer subsets before iterative processing begins. By pre-positioning data elements in appropriate buffer subsets based on their access patterns, the system ensures data availability during iteration without requiring repeated load operations, thereby reducing power consumption while maintaining data accessibility.
Solution Approach 2:
The circular buffer structure allows old data to be automatically overwritten (discarded) when new data is loaded, while the subset organization enables recovery and reuse of previously loaded data in subsequent iterations. This reduces the frequency of new data loads, lowering power consumption while maintaining data availability when needed.
3Productivity
If input values are not shared between calculations, then calculation accuracy is maintained, but performance deteriorates
Solution Approach 1:
The circular buffer subset mechanism creates implicit copies of data elements at different buffer locations. When the same input value is needed for multiple calculations in an iterative step, the buffer structure provides replicated access points through different subset references, enabling parallel performance without compromising calculation accuracy through shared state modifications.
Data Source
AI summary
A device includes a circular buffer, which, in operation, is organized into a plurality of subsets of buffers, and control circuitry coupled to the circular buffer. The control circuitry, in operation, receives a memory load command to load a set of data into the circular buffer. The memory load command has an offset parameter indicating a data offset and a subset parameter indicating a subset of the plurality of subsets into which the circular buffer is organized. The control circuitry responds to the command by identifying a set of buffer addresses of the circular buffer based on a value of the offset parameter and a value of the subset parameter, and loading the set of data into the circular buffer using the identified set of buffer addresses.


