At the Microprocessor Forum in October, ARM unveiled the next version of its instruction set, ARMv6, which all future ARM cores will support. The ARMv6 instruction set is the first from ARM to include extensive DSP-oriented instructions. Particularly interesting is the inclusion of a sum-of-absolute-differences instruction, a rather specialized instruction that is useful mainly for video compression algorithms.
Historically, ARM has found success in low-cost, high-volume applications by offering simple, small, general-purpose processor cores. Given this focus, some may be surprised that ARM has included extensive DSP-oriented instructions as part of its baseline architecture, not as an optional extension. However, this is just one more sign that digital signal processing is becoming an essential part of many embedded processor applications. This growing use of DSP in applications means, at least in ARM's view, it no longer makes sense to offer processors without DSP features.
As the performance of general-purpose processors increases, and as more general-purpose processors add DSP-oriented features, there is less need for specialized DSPs. Even without DSP-specific features, many general-purpose processors can handle low- to moderate- performance DSP applications. As a result, the choice of a processor for a low-cost DSP application is increasingly decided by factors other than performance.
The breadth and quality of development tools and 3rd-party software are often critical factors in determining the success or failure of a new system design. Today, general-purpose processors often offer superior development tools and application software, particularly for non-DSP functionality like network protocols and operating systems. DSPs, in contrast, typically provide superior development support for DSP-intensive tasks, like error-correction coding.
Vendors of both types of processors face significant challenges: For general-purpose processor vendors, it isn't enough to provide processors with DSP capabilities; these capabilities must be supported by solid, DSP-oriented application development support. For DSP processor vendors, it's time to recognize that general-purpose processors are mounting serious competition; competing against them requires first-class tools and developer support, extending far beyond the realm of traditional DSP applications. Five years from now, the success of a processor in many DSP applications may have less to do with how many multiply-accumulate operations it can perform in parallel and more to do with whether it can boot Linux.