Digital signal processor
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
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.