Circular Buffer Processor for Reducing Filter Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In processors following a load store architecture, frequent memory accesses for filter coefficients and data in filter operations lead to increased processing time and power consumption due to repeated loading and address calculations.
Innovation Solution
A processor with a circular buffer that supplies data in a circular manner, reducing overlapping memory accesses by allowing data to be loaded into and stored from the buffer, and enabling operations between data in the buffer and general-purpose registers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is repeatedly loaded from memory in filter operations, then data can be accessed, but processing time and power consumption increase
Solution Approach 1:
The circular buffer pre-loads and stores filter coefficients and data in advance, making them immediately available for repeated operations without requiring repeated memory accesses. This preliminary action eliminates waiting time and reduces both processing time and power consumption.
Solution Approach 2:
The circular buffer acts as an intermediary between memory and the operation unit. Instead of directly accessing memory repeatedly, data flows through the circular buffer which maintains it in ready state, reducing the frequency of memory accesses and thereby lowering power consumption and processing time.
2Productivity
If memory is accessed frequently for filter operations, then data can be supplied, but the number of instructions and memory accesses increases
Solution Approach 1:
The circular buffer serves multiple functions: it stores filter coefficients, stores input data, and provides data to the operation unit in a circular manner. This multi-functionality eliminates the need for separate storage structures and reduces the number of instructions required for data management.
Solution Approach 2:
The circular buffer enables continuous data supply to the operation unit without interruption. By maintaining data in a ready state and providing it continuously, the system achieves high productivity without requiring repeated load instructions, thereby reducing instruction count while maintaining efficient data supply.
3Ease of operation
If data is loaded and stored repeatedly in memory, then operations can be performed, but processing time increases
Solution Approach 1:
Data and filter coefficients are loaded into the circular buffer in advance before the operation begins. This preliminary loading ensures that all necessary data is immediately available during the operation, eliminating repeated memory access wait times and significantly reducing total processing time while maintaining operational feasibility.
Data Source
AI summary
Data is supplied in a circular manner and overlapping memory accesses is suppressed in a processor. The processor includes a circular buffer and an instruction executing part. The circular buffer has a function of holding a plurality of pieces of data and reading the plurality of pieces of data in circulation. The instruction executing part executes an instruction that designates the circular buffer as an operand. That is, this processor has an instruction that designates the circular buffer as an operand, as an instruction set. With this configuration, the data is supplied in a circular manner from the circular buffer in the execution of the instruction by the processor.


