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 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.