Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

DSP versus RISC Processors

General-purpose processors as found in personal computers are not far behind DSP chips in their suitability as software synthesis engines. Sufficiently powerful chips exist today, but at high cost. The IRCAM/Ariel musical workstation uses two Intel i860 RISC (reduced instruction set computer) processors to perform multivoiced synthesis in real time. A single i860 can out-perform a DSP56001, for example, at music synthesis. (In fairness, one can define the problem so that the DSP chip is faster for that problem. DSP chips are far more efficient in handling real-time interrupts and low-latency input/output.) While DSP chips are less expensive by an order of magnitude in terms of dollars per computation per second, and while DSP chips possess valuable features due to being specifically designed for real-time signal processing, use of a true general-purpose processor benefits from far superior compilers and development tools (at present). Furthermore, RISC processors are adding hardware features needed for efficient graphics and sound processing. Thus it is probably safe to say that software synthesis is on the threshold of returning forever to the form in which it started decades ago: written in high-level languages on fully general-purpose computers. It is now hard to justify the tens of man-years of software effort required to fully integrate and support special-purpose hardware for computer-music synthesis when one can buy mass-produced, general-purpose processors cheaply, delivering tens and soon hundreds of millions of operations per second. However, it remains to be seen whether (a) first-class development environments will be created for DSP chips or (b) general-purpose RISC processors will be given the desirable features of DSP chips, or (c) a DSP chip will be created as a variant of the design for a RISC processor in such a way that it can still benefit from the development tools for the more general processor. There are many possible paths to the desired end result: highly efficient hardware control from high-level software.

One of the promises of RISC is that compiler technology and the processor architecture are developed jointly to make sure high-level language programming can make maximally efficient use of the hardware. But this promise has not yet been fulfilled. Hand-coding of unit generators in assembly language still increases the performance by a large integer factor on today's RISC processors relative to what the compilers provide. Unfortunately, optimal assembly-language programming is more work on a RISC processor than it is on an elegantly designed DSP chip, and few have taken it on. One well-known music system programmer has stated that hand-coding inner loops for the i860 is one of the hardest things he's ever done. Another factor against RISC processors is the following: due to their deeply pipelined architecture, their performance in interrupt-prone real-time interactive applications is only a fraction of their advertised speed.

Nevertheless, social and economic factors indicate that general-purpose processors will enjoy many more man-years of software-support effort than any special-purpose processor is likely to see. Given that general-purpose RISC chips now offer fast, (single-cycle, pipelined), floating-point, multiply-add units, it would be relatively easy to incorporate remaining features of today's signal processing chips--possibly easier than providing a first-class software development environment for a new DSP chip.


Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Download kna.pdf

``Viewpoints on the History of Digital Synthesis'', by Julius O. Smith III, Proceedings of the International Computer Music Conference (ICMC-91, Montreal), pp. 1-10,
Computer Music Association, October 1991.
Revised with Curtis Roads for publication in Cahiers de l'IRCAM, September 1992, Institut de Recherche et Coordination Acoustique / Musique.
Copyright © 2005-12-28 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA  [Automatic-links disclaimer]