Digital signal processors
Signal processors started out as special processors that were designed
for implementing digital signal processing (DSP) algo-rithms. A good example of
a DSP function is the finite impulse response (FIR) filter. This involves
setting up two tables, one containing sampled data and the other filter
coefficients that determine the filter response. The program then performs a
series of repeated multiply and accumulates using values from the tables. The
bandwidth of such filters depends on the speed of these simple operations. With
a general-purpose architecture like the M68000 family the code structure would
involve setting up two tables in external memory, with an address register
allocated to each one to act as a pointer. The beginning and the end of the
code would consist of the loop initialisation and control, leaving the
multiply–accumulate operations for the central part. The M68000 instruction set
does offer some facilities for efficient code: the incremental addressing
allows pointers to progress down the tables automatically, and the decrement
and branch instruction provides a good way of implementing the loop structures.
How-ever, the disadvantages are many: the multiply takes >40 clocks, the
single bus is used for all the instruction fetches and table searches, thus
consuming time and bandwidth. In addition the loop control timings vary
depending on whether the branch is taken or not. This can make bandwidth
predictions difficult to calculate. This results in very low bandwidths and is
therefore of limited use within digital signal processing. This does not mean
that an MC68000 cannot perform such functions: it can, providing performance is
not of an issue.
RISC architectures like the PowerPC family can offer some immediate
improvements. The capability to perform single cycle arithmetic is an obvious
advantage. The Harvard architecture reduces the execution time further by
allowing simultaneous data and instruction fetches. The PowerPC can, by virtue
of its high performance, achieve performances suitable for many DSP
appli-cations. The system cost is high involving a multiple chip solution with
very fast memory etc. In applications that need high speed general processing
as well, it can also be a suitable solution. The ARM 9E processor with its DSP
enhanced instructions (essentially speeded up multiply instructions) can also
provide DSP levels of performance without the need of a DSP.
Another approach is to build a dedicated processor to perform certain
algorithms. By using discrete building blocks, such as hardware multipliers,
counters etc., a total hardware solution can be designed to perform such
functions. Modulo counters can be used to form the loop structures and so on.
The disadvantages are cost and a loss of flexibility. Such hardware solutions
are difficult to alter or program. What is obviously required is a processor
whose architecture is enhanced specifically for DSP applications.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.