1176 Chapter 31
Further complicating the delay measurements is the
possible requirement of sending information to an
external system. This could be in the form of sending a
bitstream to a remote decoder, receiving a bitstream
from a remote encoder, and also any error detection
and/or correction on a bitstream that may be required.
31.8.4 Choosing a DSP
The choice of which DSP to use for a particular applica-
tion depends on a collection of factors including:
- Cost. DSPs range in price from several dollars to
hundreds of dollars. Low-cost DSP processors are
typically 16-bit fixed-point devices with limited
amounts of internal memory and few peripherals.
Low-cost DSPs are typically suited for extremely
high volume applications, where the exact capabili-
ties required, and no more, are built into the chip.
High-cost DSPs typically are newer processors
that have a great deal of internal memory or other
architectural features including floating-point arith-
metic and high speed communication ports. - Computational Power: MHz, MIPs, MFLOPs. Com-
putational power is measured in several different
ways including processor speed (MHz), millions of
instructions per second (MIPS), and millions of
floating-point operations per second (MFLOPS). The
computational power of a processor is usually
directly related to cost. An MIP means that one mil-
lion instructions can be executed per second. The
instructions that can be executed could include
memory loads and stores or perhaps arithmetic opera-
tions. An MFLOP means one million floating-point
operations can be executed per second. A
floating-point operation includes multiplies and/or
adds. Often the architecture of the DSP allows the
DSP to execute two (or more) floating-point opera-
tions per instruction. In this case the MFLOPs would
be twice (or more) the MIPs rating of the processor.
Higher-speed processors allow the user to pack
more features into a DSP product, but with a higher
cost.
Power Consumption. Depending on the application,
low power may be important for long battery life or
low heat dissipation. DSPs will have a power rating
and, often, a watt/MIP rating to estimate power
consumption.
Architecture. Different manufacturers’ DSPs have
different features and trade-offs. Some processors
may allow extremely high-speed computational rates
but at the expense of being difficult to program.
Some may offer ease of multiprocessing, multiple
arithmetic processors, or other features.
Arithmetic Precision. The use of floating-point arith-
metic simplifies arithmetic operations. Fixed-point
processors often have lower cost but often require
additional instructions to maintain the level of
numerical accuracy that is often required. The final
production volume of the end product often dictates
whether the added development time is worth the
cost savings.
Peripherals. Certain features of processors such as the
ability to share processor resources among linked
processors or access to external memory/devices can
have a significant impact on which processor to use
for a particular application. Integrated timers, serial
ports, and other features can reduce the number of
additional parts required in a design.
Code Development. The amount of code already devel-
oped for a particular processor family may dictate the
choice of processors. Real-time code development
takes significant time and the investment can be
substantial. The ability to reuse existing code is a
significant time saver in getting products to market.
Development Tools. The development tools are critical
to the timely implementation of an algorithm on a
particular processor. If the tools are not available or
are not functional, the development process will most
likely be extended beyond any reasonable time
estimate.
Third Party Support. DSP processor manufacturers
have a network of companies that provide tools, algo-
rithm implementations, and hardware solutions for
particular problems. It is possible that some company
has already implemented, and makes a living out of
implementing, the type of solution that is required for
a given application.
31.9 Programming a DSP
DSPs, like many other processors, are only useful if
they can input and output data. The software system
used to input and output data is called an I/O system. As
shown in Fig. 31-17, a DSP application program typi-