What is a DSP

© 2002-2017 Ulm University, Othmar Marti,
[Next page] [previous page] [previous end of page] [end of page] [level up] [PDF file] [epub file] [other scripts]

2.9 Digital signal processors (DSP)

Digital signal processors are a class of microprocessors that have been optimized for computing digital filters.

2.9.1 Classic calculator

The structure of a classic computer according to John von Neumann [GJMW84] is shown in Figure 2.72. With this computer architecture, the program and data are stored in the same memory. Data is shifted from the memory to the control unit and the arithmetic unit (or vice versa) via a data bus. In the control unit, the commands from the data stream are decoded and converted into control signals for the arithmetic unit or the memory. The arithmetic unit generates the next address, also on the basis of arithmetic operations.

Figure 2.72 .: von Neumann structure of a computer. Abbreviations: Op.-Reg .: operation register; Result reg .: result register; Zst.-Reg .: status register; Program counter: program counter; Index reg .: index register

The detailed process of a calculation is shown in Figure 2.73.

  1. Output the address of the command to the memory.
  2. Load command into control unit
  3. If the command in the control unit contains the address of the number to be processed, load this
  4. possibly the operand is loaded from memory.
  5. possibly the result will be written back to the memory.

Figure 2.73 .: Sequence of an operation in a computer with the von Neumann structure

Figure 2.74 shows the phases of the execution of a micro-machine instruction in a microprocessor [Str98b]. The micro-machine instructions are processed in four phases.

  1. Microinstruction addressing phase. The address of the next command is generated here
  2. Microinstruction fetch phase: Here the instruction is fetched.
  3. Microinstruction decoding phase: Under certain circumstances, many can be generated from one instruction (e.g. calculating the sin value requires a microprogram)
  4. The microinstruction execution phase

Modern processors fetch and decode addresses in advance. While time-consuming commands are processed, we speculate how the calculation could continue. Modern microprocessors owe a significant portion of their performance to this strategy.

Figure 2.74 .: Processing of a machine command in a microcomputer

Digital signal processors differ from classic microprocessors in that they have several arithmetic units and that these are designed in such a way that the operations are completed in one clock cycle. If this is not possible, the execution time of a command should be predetermined.

2.9.2 Digital signal processors

Digital signal processors are used for the following processes:

Figure 2.75 .: Block diagram of the Motorola signal processor DSP56001 [Mot90]

Digital filters
  • FIR filter (Finite Impulse Response)
  • IIR filter (Infinite Impulse Response)
  • Correlators
  • Hilbert transformations
  • Adaptive filters
Signal processing
  • Speech compression
  • Averaging
  • Energy calculation
Data processing
  • Encryption
  • Obfuscation
  • Encoding and decoding
  • Scalar, vector and matrix arithmetic
  • Transcendental functions (function generator)
  • Pseudo-random numbers, deterministic noise
  • amplitude
  • frequency
  • phase
  • Modems
Spectral analysis
  • FFT Fast Fourier Transform
  • DFT Discrete Fourier Transform
  • Sine / Cosine Transformations

Figure 2.76 .: Block diagram of the sequence of an arithmetic operation in the Motorola signal processor DSP56001 [Mot90]

The signal processors are used in the following devices, among others:

  • Tone generators
  • Telephony (multi-frequency dialing)
  • Loudspeaker telephony
  • ISDN
  • Noise suppression (anti-noise)
  • Adaptive Di ff erential Pulse Code Modulation (ADPCM) encoder and decoder
Data communication
  • High speed modems (56k modems)
  • Fax machines
Radio communication
  • Mobile telephony
  • Tap-proof radio connections
  • Radio station
  • Array processors
  • Graphics accelerator
Image processing
  • Pattern recognition
  • OCR (character recognition)
  • Image recovery
  • Image compression
  • Image enhancement
  • Image recognition and processing for robots
  • Spectral analysis
  • Function generators
  • Data acquisition
Audio signal processing
  • Digital AM / FM radio transmitters / receivers
  • Digital hi-fi preamplifier
  • Music synthesizer
  • Equalizer
  • Virtual Dolby Surround processors (with two instead of 5 speakers)
High speed regulations
  • Laser printer
  • Hard drives
  • robot
  • Engines
Vibration analysis
  • High performance electric motors
  • Jet engines
  • Turbines
  • Cat scanner
  • Electrocardiograms
  • NMR
  • X-ray machines with minimal doses

Figure 2.77 .: Block diagram of the MAC unit of the Motorola signal processor DSP56001 [Mot90]

In contrast to a classic microprocessor, a DSP has several data and address buses (Figure 2.75 These buses allow several arithmetic operations to be carried out simultaneously in one clock cycle. The sequence, which is nicely described in the Motorola data books [Mot90], for example, is shown in Figure 2.76. Two registers, X0 and X1, or Y0 and Y1, work on a multiplier. They are connected to the respective data buses (X and Y). The multiplier is followed by the adder, so that in the output registers, for example one cycle A = X0 ∗ Y 0 + A. Shift register and rounding units complete the ALU (Arithmetic Logic Unit)

The multiplication / addition is essentially carried out by a MAC unit (Figure 2.77). The data paths have different widths. a comparison with the equations for IIR filters or FIR filters (Section 2.6.2 shows that the MAC unit can calculate a node of these filter types in one cycle. Table H.1 shows a summary of benchmark results for the DSP 56001 (Clock frequency 27 MHz) from Motorola A comparison with microprocessors like the Intel family shows that these need about five to ten times the clock frequency before they can calculate an FFT as fast as a DSP.

[Next page] [previous page] [previous bottom of page] [top of page] [level up]
© 2002-2017 Ulm University, Othmar Marti, License information