February 13, 2007dspdesignline.com
ARM's general-purpose processor cores have long been used alongside DSP processors in products like cell phones, where the ARM core typically handles tasks like packet processing, user interface, and overall control, and the DSP handles the computationally demanding signal processing. But as ARM has gradually upgraded its cores with DSP-oriented features, more chip and system designers are considering whether to use an ARM core as a DSP engine. The question is, how much signal processing work can an ARM core handle?
In this article, we present our independent benchmark results for members of ARM's ARM11 core family, and look at these cores' performance on common DSP algorithms and on video decoding. We analyze and compare the ARM11's performance to that of earlier ARM cores and selected DSP processors.
ARM Moves Towards DSP
ARM cores are low-cost CPUs that are used in a huge range of embedded products. One of the key advantages to using ARM processors is that they are ubiquitous; lots of people know how to program them, and they have strong third-party support. The earliest ARM core, the ARM7, was poorly suited to signal processing; it didn't have a single-cycle multiplier, and it was based on a Von Neumann memory architecture that didn't allow data and instructions to be retrieved simultaneously. As a result, its signal processing performance was poor relative to DSP processors. This wasn't surprising, since the ARM7 wasn't designed to handle signal processing; it was designed as a pure CPU. But it turns out that people have used the ARM7 for simple signal processing anyway. That's because it's readily available, it's already in products, and sometimes it's just easier to implement signal processing on the processor you've already got than to add a new one. Of course, using an ARM7 for signal processing makes sense only for applications with relatively low computational demands; the ARM7 just isn't powerful enough to handle even moderately demanding signal processing.
As signal processing has become increasingly important in embedded applications, ARM has responded by enhancing its architectures with DSP-oriented features. The ARM9 and ARM9E, for example, both incorporate architectural features that, along with their higher clock speeds, help to improve their signal processing capabilities relative to the ARM7—though these processors still offer only modest signal processing performance.
The ARM11, one of ARM's newer core families, represents a significant upgrade over earlier ARM architectures in terms of signal processing features. Of particular interest are the new 8-bit and 16-bit SIMD (single instruction, multiple data) instructions, which are intended to accelerate video and audio processing. (ARM refers to these instructions as media processing extensions.) The ARM11 includes a 64-bit data bus (vs. 32 bits on earlier ARM processors) to help make use of these additional computational capabilities. The ARM11 also has a deeper pipeline, enabling higher clock rates. As we explain in more detail below, all of these factors combine to give the ARM11 significantly better signal processing performance than earlier ARM cores.
Click here to read more ...