DSP Vector Predication for Selective Memory Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern digital signal processors face challenges with increasing workloads, memory system latency, unreliable memories and registers, conductive trace issues, and signal propagation delays, which impact the efficiency of algorithms like sorting, FFT, and computer vision.
Innovation Solution
Implementing a digital signal processor with a CPU and streaming address generator that calculates a predicate to disable certain elements of a data block, allowing only the enabled portion to be written to memory, thereby optimizing memory access patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a block of data is written to memory without predication, then the memory bandwidth is fully utilized, but unnecessary data is written increasing memory access latency and reducing processing efficiency
Solution Approach 1:
The data block is segmented into enabled and disabled portions using a predicate mask. The predicate divides the original data block into valid elements that should be written to memory and invalid elements that should be skipped, allowing selective writing of only necessary data portions.
Solution Approach 2:
Instead of writing the entire data block to memory, only the enabled portion corresponding to valid data elements is written. This partial action approach avoids the excessive action of writing unnecessary disabled elements, reducing memory bandwidth consumption and access latency.
2Loss of time
If vector predication is implemented to disable certain elements, then memory access latency is reduced, but the device complexity increases due to additional predication logic
Solution Approach 1:
The predication functionality is merged with the existing vector processing unit and memory write operation. The predicate mask is integrated into the data path alongside the vector operands, allowing predicated writes to be performed as part of the normal vector operation without requiring separate dedicated predication hardware.
Solution Approach 2:
The predicate mechanism serves multiple functions: it enables selective data writing to memory, supports conditional execution within vector operations, and can be used for various DSP algorithms including sorting, FFT, and computer vision tasks. This multi-functionality reduces the need for separate specialized hardware for each function.
3Speed
If multi-dimensional addressing is used to accelerate DSP algorithms, then processing speed increases, but the routing congestion and signal propagation delays worsen
Solution Approach 1:
The patent extends addressing from one-dimensional linear memory access to multi-dimensional addressing space. By organizing data access in multiple dimensions (rows, columns, planes), the system can accelerate DSP algorithms that naturally operate on multi-dimensional data structures like images and videos, improving processing speed for these workloads.
Data Source
AI summary
A method for writing data to memory that provides for generation of a predicate to disable a portion of the elements so that only the enabled elements are written to memory. Such a method may be employed to write multi-dimensional data to memory and/or may be used with a streaming address generator.


