A processor optimized for DigitalSignalProcessing--numeric compuations, in particular those involving relatively simple mathematical functions performed on large datasets, often streamed in an out (such as digital filters, convolutions, etc.)
Typical attributes of a DSP:
In the past, the difference between a DSP and a "normal" CPU was tremendous--DSPs were very "application specific" processors, with limited memories, simple or no MMUs, and register sizes tailored to meet applications. (The 56k series was a 24-bit processor; as 24-bits was and still is commonly used in audio processing). With the increasing number of gates made available by MooresLaw, the CPU and the DSP are rapidly converging. The vector processing units found in many modern processors (AltiVec, MMX, etc.) are quite good at many DSP applications (especially couples with superscalar architectures and large on-chip caches that can emulate the special-purpose memory architectures of traditional DSP chips); and modern DSPs are rapidly replacing the "special purpose" architectures with more general purpose computing structures. Many DSPs are now capable of hosting a modern protected OperatingSystem.
[from DigitalSignalProcessing]
On a basic level, a bona fide DSP chip must, as a minimum requirement be able to optimally perform the convolution summation used to compute the output of an FIR (finite impulse response) filter.
N-1
y[k] = SUM{ h[n]*x[k-n] }
n=0
y[k] = FIR filter output
x[k] = FIR filter input
h[k] = impulse response of FIR filter (also FIR coefficients)
To do this in N instructions, one must be able to in ONE instruction:
In addition, for the FastFourierTransform (FFT), the ability to do bit reversal or bit reversed addressing is necessary along with some other handy instructions that make for efficient coding of FFT butterflies.
It is suggested getting a good DSP textbook like Oppenheim & Schafer "DiscreteTimeSignalProcessing" (ISBN: 0137549202) to understand the mathematical needs of digital signal processing and the DSP User's Manuals for some particular DSP chips to see how these chips satisfy those mathematical needs. This might help one understand the DSP architecture better.
(contributed by Robert Bristow-Johnson rbj@audioimagination.com )
DigitalSignalProcessorFamilies