A Digital Signal Processor (DSP) is a specialized microprocessor designed specifically for (real-time) digital signal processing. DSPs can also be used to perform general-purpose computation, but they are not optimised for this function.

Rather than general computations, DSPs are usually ha an instruction set (ISA) optimised for/by:

  • Multiply-accumulate (MAC) operations (good for all kinds of matrix operations).
  • Deep pipelining.
  • DMA processing.
  • Saturation arithmetic (i.e. figures do not "wrap around" from maximum positive values to minimum negative values but saturate at the max/min level.
  • Separate program and data memories.
  • Most DSPs are fixed-point, however, floating point DSPs are common for more demanding applications.
  • Specialized instructions for modulo addressing in ring-buffers and for FFT cross-referencing.

DSP functionality can also be realised using FPGA chips. Present-day general-purpose microprocessors have ideas and influences from digital signal processors, such as the MMX extensions in the Intel IA-32 architecture.

History

The first successful DSP was the NEC µPD7710 presented in 1980 soon followed by the AT&T DSP1 in the same year.

The first DSP produced by Texas Instruments, the TMS32010 presented in 1982, was an even bigger success.