Digital signal processor

From Free net encyclopedia

(Redirected from Digital signal processors)

A digital signal processor (DSP) is a specialized microprocessor designed specifically for digital signal processing, generally in real-time.

Contents

Characteristics of Digital Signal Processors

  • Separate program and data memories (Harvard architecture).
  • Special Instructions for SIMD (Single Instruction, Multiple Data) operations.
  • Only parallel processing, no multitasking.
  • The ability to act as a direct memory access device if in a host environment.
  • Takes digital data from ADC (Analog-Digital Converter) and passes out data which is finally output by converting into analog by DAC (Digital-Analog Converter).
     analog input----->ADC---->DSP---->DAC---> analog output
                               ^^^
                          processing of
                          digital data

Digital signal processing

Digital signal processing can be done on general-purpose microprocessors. Possible optimizations:

Data operators

  • Saturation arithmetic, in which operations that produce overflows will accumulate at the maximum (or minimum) values that the register can hold rather than wrapping around (maximum+1 doesn't equal minimum as in many general-purpose CPUs, instead it stays at maximum). Sometimes various sticky bits operation modes are available.
  • Multiply-accumulate (MAC) operations, which is good for any kind of matrix operation, such as convolution for filtering, Dot product, or even polynomial evaluation (see Horner scheme, also Fused multiply-add). Single cycle MAC is an assumption in many DSPs, thus a lot of the following properties are derived (esp. Harvard architecture and pipelining).
  • Specialized instructions for modulo addressing in ring buffers and bit-reversed addressing mode for FFT cross-referencing.

Program flow

  • Deep pipelining. That makes wrong predicted branches costly, but increases the throughput of the system.
  • Branch prediction. Either with a dynamic table or hard coded as zero-overhead looping. To alleviate the branch impact for execution hi-frequent inner-loops, some processors provide this feature. There are two types of operation: single instruction repeating and multi-instruction loops.

History

In 1978, Intel released the 2920 as an "analog signal processor". It had an on-chip ADC/DAC with an internal signal processor, but it didn't have a hardware multiplier and was not successful in the market. In 1979, AMI released the S2811. It was designed as a microprocessor peripheral, and it had to be initialized by the host. The S2811 was likewise not successful in the market.

In 1979, Bell Labs introduced the first single chip DSP, the Mac 4 Microprocessor. Then, in 1980 the first stand-alone, complete DSPs -- the NEC µPD7720 and AT&T DSP1 -- were presented at the IEEE International Solid-State Circuits Conference '80. Both processors were inspired by the research in PSTN telecommunications.

The Altamira DX-1 was another early DSP, utilizing a quad integer pipelines with delayed branches and branch prediction.

The first DSP produced by Texas Instruments (TI), the TMS32010 presented in 1983, proved to be an even bigger success, and TI is now the market leader in general purpose DSPs. Another successful design was the Motorola 56000.

General purpose CPU's have ideas and influences from digital signal processors with Extensions such as the MMX extensions in the Intel IA-32 architecture instruction set (ISA).

Most DSPs use fixed-point arithmetic, because in real world signal processing, the additional range provided by floating point is not needed, and there is a large speed benefit; however, floating point DSPs are common for scientific and other applications where additional range or precision may be required.

See also

Generally, DSPs are dedicated integrated circuits, however DSP functionality can also be realised using Field Programmable Gate Array chips.

External links

cs:Digitální signální procesor de:Signalprozessor (Hardware) es:Procesador de señal digital fr:Digital signal processor it:Digital Signal Processor nl:Digitale signaal processor ja:デジタルシグナルプロセッサ nds:Digital Signalperzesser pl:Procesor sygnałowy pt:DSP ro:DSP ru:Цифровой сигнальный процессор sk:Digitálny signálny procesor fi:Digitaalinen signaaliprosessori zh:数字信号处理器