Digital signal processor

from Wikipedia, the free encyclopedia
The Motorola XSP56001 is a DSP from the 56K family.

A digital signal processor (engl. Digital signal processor , DSP ) is an electronic component and serves for the continuous processing of digital signals (eg. As audio or video signals). The DSP is used in conjunction with analog-to-digital converters and digital-to-analog converters to process analog signals . Some DSP chips already contain A / D and D / A converters. The term DSP is also only used for the computing component within software and electronics.


DSPs not only serve as a replacement for complex analog filter technology, but can also perform tasks that would be difficult or impossible to solve using analog technology:

Real-time capability

A DSP must be able to safely process a certain amount of data per unit of time. This results from the requirement of a mostly fixed and externally specified data rate at which the input data reach the DSP or the processed data must be output again. A kind of handshake or a time stop during data processing is usually not possible with this real-time processing.

The following measures serve to increase the processing speed:

  • Special synchronous, serial interfaces for the input and output of digital signals.
  • So-called MAC commands for simultaneous multiplication and addition in one machine cycle.
  • Address generators for the implementation of loops and ring buffer structures without software overhead.
  • Implementation of the processor in Harvard architecture .
  • Existence of a dedicated hardware stack .
  • Multiple access to the memory in one cycle.
  • Very-Long-Instruction-Word-Instructions .

Instruction set

Number formats

Signal processors and their instruction set are subdivided according to their ability to perform arithmetic operations

to be able to perform.

Signal processors with fixed point arithmetic are usually simpler in structure and have lower power consumption. For this, the implementation of certain algorithms is more complicated, since the programmer has to consider with each calculation whether there may be overflows in the number representation and where the binary point is. A typical field of application for fixed-point DSPs is, for example, the processing of audio signals. Typical representatives of signal processors with fixed point arithmetic are the DSP series ADSP218x and Blackfin BF53x from Analog Devices and the TMS320VC5x from Texas Instruments .

Signal processors with floating point arithmetic are more complex in structure, since their arithmetic units can process the more complex representation of floating point numbers. With the same computing power, this usually results in a higher power consumption. The advantage lies in the mostly simple implementation of complicated algorithms. A typical field of application for floating point DSPs is, for example, the processing of video signals. Typical representatives of signal processors with floating point arithmetic are the components called SHARC from Analog Devices and the TMS320VC67x from Texas Instruments.


  • There are several arithmetic units ( ALUs ), including a multiply accumulate arithmetic unit ( MAC ). This arithmetic unit enables the operation A * = A + B · C in a single processor cycle and is primarily used to increase the speed of the calculations required for spectral operations - for example for fast Fourier transformation or convolution .
  • In Boolean operations limited arithmetic units in some DSPs (z. B. are TI TMS320Cxx) used for independent data manipulation (PLU = Parallel Logic Unit ).
  • Also it will address generation units (AGU) was used. The AGU consists of programmable counters, shifters and other logical elements. As a result, the address calculations for the operands, for example, can be carried out in parallel with arithmetic operations in order not to reduce the memory transfer rate. Some AGU support indirect register addressing with subsequent incrementation. They are used in computations where data is repeatedly computed that is sequentially arranged in memory. Bit reversed addressing is also used for the fast Fourier transform (FFT) algorithm .
  • The execution unit (EXU) has the task of data manipulation. Each cluster can read out the registers of the neighboring cluster. Example: TI TMS320C6201

Program Sequence

  • Nested no-overhead hardware looping using a dedicated loop stack.
  • In addition, today's DSPs can often be massively programmed in parallel, that is, several computing and / or memory transfer operations can be carried out simultaneously in a single processor cycle.
  • Prefetch and predecoding of the instructions ( pipelining ) for a very high execution speed of the instructions .
  • Loop commands speed up the execution of loops. These are executed under hardware control. Some DSPs use pipelines ( pipelining ) and instruction caches , the execution to accelerate loops. There are two types of loop commands:
    • Single instruction hardware loop - repetition of an operation
    • Multi instruction loop - repetition of an entire block of instructions


The SHARC ADSP-21065L from Analog Devices allows the following single -cycle assembly language command:

F0=F3*F7, F1=F11+F15, F2=F11–F15, DM(I0,M1)=F2, F3=PM(I8,M9);

a quasi-simultaneously in the floating point multiplication, a floating-point addition, floating point subtraction, a write access to the memory with modulo -cyclic Postincrement / -decrement and a read access to the memory with modulo-cyclic Postincrement / decrement takes place.



In the early 1970s, Lincoln Laboratories developed the Lincoln FDP ( Fast Digital Processor ) with Von Neumann structure as the first dedicated digital signal processor. The LSP / 2 was then manufactured with the more suitable Harvard architecture. However, this computer still consisted of several thousand discrete ICs. The first single-chip DSPs hit the market in the early 1980s. Typical representatives were the Intel 2920, TMS32010 from Texas Instruments or the NEC µPD7720.


Elements of DSPs are also increasingly found in desktop CPUs, such as in the AltiVec extensions of the PowerPC or (to a lesser extent) in the SIMD extensions from Intel and AMD . This is due to the increasing prevalence of multimedia content; Data formats such as the JPEG format , MP3 or MPEG2 require DCT coding or decoding, the calculation of which is actually a classic DSP task. The calculation of the increasingly widespread encryption also benefits from these instruction set extensions. In the area of ​​embedded systems, too, the microcontrollers are supplemented by DSP functionalities, which can increase computing power and reduce power consumption. Typical examples are the ARM Cortex M4, the NEON extension for the large ARM Cortex cores, the dsPIC from Microchip and the XS1 series from XMOS .


The generic DSP is facing increasing competition from RISC / CISC CPUs which, with special extensions, can process complex computing tasks such as RSA / AES / 3DES in a highly optimized manner. In addition, tasks related to fast signal processing are increasingly being relocated to flexible parallel digital structures, such as those used in e.g. B. are increasingly and inexpensively available in increasingly powerful Field Programmable Gate Arrays ( FPGAs ).

application areas

Digital signal processors are used today in the following areas and devices, among others:


Web links

Individual evidence

  1. Modem Data Pump DSP software. AlgoTron, accessed May 8, 2013 .