You are here:  Articles


 
 
 
INSIDE DSP ARTICLES  

Current Articles | Categories | Search

Inside DSP on Audio: Digital Audio Technology Guide
By , 1/5/2004

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:

2004jan5Tab1_tn.gif
Click to Enlarge

Off-the-shelf general-purpose processors
Many commonplace 32-bit embedded general-purpose processors have plenty of power for the most common audio signal processing tasks. However, demanding algorithms, such as real-time audio compression, can still be a challenge. Of course, the typical PC CPU is an order of magnitude faster than the typical embedded general-purpose processors, making the PC CPU an obvious candidate for computationally intensive audio signal processing tasks. In many cases, system designers looking to add audio functionality to an existing product will naturally look first to see whether the embedded general-purpose processors already present in the system can handle this added load.

32-bit embedded general-purpose processors are very common in higher-end consumer products like set-top boxes. If the existing embedded general-purpose processor can handle the additional load of the new digital audio features, it may be relatively straightforward to retrofit these features without adding much new hardware. And embedded general-purpose processors often have compelling advantages even for all-new products: they're typically backed by a sophisticated software development infrastructure and legions of programmers.

On the other hand, some off-the-shelf general-purpose processors have significant shortcomings when it comes to signal processing tasks like digital audio. For example, higher performance off-the-shelf general-purpose processors typically incorporate dynamic features like instruction and data caches, dynamic branch prediction, and superscalar instruction scheduling. These dynamic features can dramatically lower average execution times. But real-time systems, like digital audio products, don't rely on average execution times; real-time systems require that execution-time limits be met 100% of the time. Of course, a very fast general-purpose processor will be able to meet the timing requirements, despite its many dynamic features. But faster general-purpose processors tend to be more expensive, have high clock rates, and consume more power.

Previous Page | Next Page
 
 
Blackfin Arrow Webseminar
Advertise on InsideDSP
  
HomeAbout Inside DSPArticlesSearch ArticlesArchivesResourcesContact UsSubscribe to Inside DSPAdvertise with Inside DSP
Copyright 2006-2008 by BDTI  |  Terms Of Use  |  Privacy Statement
  |