Processor Roadmap
The system developer is typically very focused on the current
product design, but it's prudent to think ahead to the next design,
too. The system designer would like to have confidence that the
processor vendor will continue to support, improve, and expand the
processor family. Ideally this means that the chip selected for the
current design gets cheaper over time, and that the processor vendor
regularly releases successor chips that are fully compatible with the
original, but that integrate new features, run at higher speeds, and
use less energy.
Maintaining software compatibility at the assembly code or
object code level across processor generations is a challenge for
silicon vendors, and their success varies. Code compatibility helps
keep development costs down by facilitating re-use of existing code
from earlier audio system products, and eases the addition of new
functionality as processor performance improves.
Assessing Processor Performance
Processor performance is very dependent on the nature of the
workload. This means that it is often not obvious whether a processor
has sufficient performance to meet the needs of a new audio product.
Obtaining an accurate and independent assessment of the processor's
performance on your application can help save trouble later in
development.
Appropriately selected and implemented benchmarks can be a very
valuable tool for processor selection. But be careful: the benchmarks
must be relevant to the application of interest. If optimized software
modules corresponding to the major resource-hungry portions of the
software are already available, the performance characteristics of the
processor on these modules is key information. If such information is
available, this makes it relatively easy to get a solid initial idea of
the processor's performance. (BDTI has compiled this type of data for
many popular audio compression algorithms and processors and makes this
information available at http://www.bdti.com/articles/ACAI_table.html).
In cases where application module performance data is not directly
available, smaller "kernel" benchmarks, which evaluate processor
performance on key algorithm inner loops, can be used to provide
estimates of application performance.
Processors used for digital audio
Many types of processors
are used in today's digital audio applications, from general-purpose
microcontrollers to custom fixed-function processors. Understanding the
trade-offs involved in using one processor vs. another is critical,
since the choice of a processor affects both the end product and the
product development effort in many important ways. For example, the
degree to which the end product is field upgradeable, if at all, and
the complexity, duration, and expense of the development effort are all
greatly influenced by the choice of processor.
Processor Categories: Key Strengths and Weaknesses
There are
many types of processors to choose from, including ASICs, ASSPs, DSPs,
media processors, embedded general-purpose processors, PC CPUs, and
FPGAs (Table 1 shows several of these processors types associated with
representative vendors). These processor types differ in many respects,
including programmability, processing power, integration, cost, power
consumption, and ease of use, to name a few. Let's take a look at some
of the most common processor types used today for audio applications: