Traceback Acceleration via Parallel Bit Extraction Instructions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The viterbi algorithm's traceback phase becomes a significant processing bottleneck when the forward pass is accelerated, as existing technologies lack efficient methods to reduce traceback processing time.
Innovation Solution
The introduction of specific instructions such as tbbit and tbaddr, which facilitate bit extraction and address generation, along with the use of load-with-update and parallel execution of integer and control instructions, to accelerate the traceback process on a SIMD processor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the forward pass of the viterbi algorithm is accelerated using traditional methods, then the forward pass processing time is reduced, but the traceback phase becomes a significant processing bottleneck
Solution Approach 1:
The traceback operation is segmented into independent parallel operations: address generation (tbaddr) and bit extraction (tbbit) are separated as distinct instructions that can be executed independently and in parallel with other operations, breaking the sequential dependency chain that previously bottlenecked the process
Solution Approach 2:
The invention introduces a new dimensional approach by creating specialized SIMD instructions that operate on multiple traceback elements simultaneously across parallel data lanes, transforming the traditionally sequential 1D traceback into a parallel multi-dimensional operation that exploits the vector processor's inherent parallelism
2Loss of time
If specialized instructions (tbbit, tbaddr) are introduced to accelerate traceback, then traceback processing time is reduced, but the instruction set complexity increases
Solution Approach 1:
The specialized instructions are designed to be self-sufficient and self-describing, with built-in semantics that automatically handle the complex traceback logic without requiring additional control software or interpretation layers, allowing the hardware itself to manage the complexity
3Productivity
If load-with-update instruction is used to optimize address computation, then address generation efficiency is improved, but the processor pipeline complexity increases
Solution Approach 1:
The load-with-update instruction merges two previously separate operations (memory loading and address register updating) into a single atomic instruction that performs both functions simultaneously, eliminating the need for separate execution stages and reducing pipeline complexity despite the enhanced functionality
Data Source
AI summary
A method executed by an instruction set on a processor is described. The method includes providing a tbbit instruction, inputting a first index for the tbbit instruction, loading a second value for the tbbit instruction, wherein the second value comprises at least 2b bits, using selected b bits of the first index to select at least one target bit in the loaded second value, shifting the target bit into the bottom of the first index, and computing a second index based on the shifting of the target bit into the bottom of the first index. Other methods and variations are also described.


