Traceback Acceleration via Parallel Bit Extraction Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveforward pass processing speedVSAvoidtraceback processing time
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvetraceback processing timeVSAvoidinstruction set complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

3Productivity

If load-with-update instruction is used to optimize address computation, then address generation efficiency is improved, but the processor pipeline complexity increases

Engineering Contradiction:
Improveaddress generation efficiencyVSAvoidprocessor pipeline complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8171265B2Accelerating traceback on a signal processor
Publication Date: 2012.05.01 QUALCOMM INC
  • US8171265B2 patent drawing
  • US8171265B2 patent drawing
  • US8171265B2 patent drawing

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.