Domain-Specific Architectures & Accelerators

a digital signal processor (DSP)

/ D-S-P /

Think about what your phone does to turn a microphone's wobbling voltage into a clean phone call: it samples the sound thousands of times a second and runs each stream of numbers through filters that strip out noise and echo. That kind of work — endless streams of samples, each transformed by the same repetitive multiply-and-add formula — is everywhere in audio, radio, and images. A digital signal processor (DSP) is a processor specialized to chew through exactly that: real-time, continuous streams of signal data.

Concretely, a DSP is a programmable processor (you write software for it, unlike a fixed ASIC) whose datapath is tuned for the core operation of signal processing: the multiply-accumulate, computing sums of products like y = c0 times x0 + c1 times x1 + c2 times x2 + ... A DSP typically has a dedicated single-cycle multiply-accumulate unit, special addressing modes for stepping through sample buffers (including circular buffers that wrap around automatically), and the ability to fetch data and coefficients in parallel so the multiplier never waits. Many DSPs are VLIW or have wide SIMD lanes to do several multiply-accumulates at once. The result is a chip that sustains a steady, predictable rate of signal math at low power.

Where it fits: DSPs are a classic, older species of accelerator, found in modems, hearing aids, audio gear, base stations, and as a low-power block inside phone SoCs (handling always-listening voice and camera image processing). The honest framing: a DSP sits between a general CPU and a fixed-function ASIC — more efficient than a CPU at signal work because it is specialized, but still programmable, so it stays flexible as standards change. For the very highest-volume, fixed tasks, a hard-wired ASIC block still beats it; the DSP wins when you need both efficiency and the freedom to update the algorithm.

A noise-cancelling filter computes each output sample as a weighted sum of the last N input samples: y[n] = sum over k of c[k] times x[n-k]. A DSP does one such multiply-accumulate per cycle, walks the input through a circular buffer, and fetches the next sample and coefficient in parallel — sustaining a fixed sample rate that a general CPU would struggle to hold at the same power.

A DSP: a programmable processor tuned for streaming multiply-accumulate — between a CPU and a fixed ASIC.

A DSP is programmable, which is its advantage over a fixed ASIC and its limit versus one: it keeps flexibility as standards evolve, but a hard-wired block beats it on the very highest-volume, frozen tasks.

Also called
DSPsignal processor訊號處理器