To: Doug Fowler who wrote (11385 ) 5/21/1998 10:49:00 PM From: Jon Tara Read Replies (2) | Respond to of 13925
I don't feel that having the CPU handle audio functions is the architectural ideal, though. Multiple, specialized processors is. The problem is not just CPU speed - it's bandwidth - both I/O and (more importantly) memory bandwidth. Today's CPUs are ALREADY bandwidth-limited. Not even the cache memory in current CPUs is as fast as the CPU. Now, cache is catching up, and the NEXT generation of Pentium II's (this fall) will have cache that runs at the same clock rate as the CPU. (The new Deschutes chips ahve the cache running at 1/2 the CPU speed, and THAT is a step UP!) Main memory runs much slower than the CPU - the latest, greatest is the PC100 memory that runs at 100mHz. Consider Midi synthesis. With a traditional sound card, the CPU sends a few bytes per note to a sound card. The sound card uses specialized hardware to synthesize waveforms. (Whether algorithmically, by table look-up, whatever) and then outputs about 160Kbytes/sec to the D/A. Instead of 160kbytes/sec going across the bus, only a few hundred or a couple thousand bytes/sec go across the bus. Now, consider the more difficult task of 3-D positioning. This requires several mathematical operations per byte of the waveform. This all has to fly back and forth across the bus to and from the CPU. Multiply that 160K/sec by "n". I'm not sure what "n" is, but it's sufficient that a low-end Pentium isn't capable of doing the job at all. Now, a sound processor (note I didn't say a sound card - it's irrelevant whether it's on a plug-in card or not) has to do the same thing, but it generally has the advantage of having a specialized processor (a DSP) or even task-specific hardware. And all that massaging of the sample data takes place in the memory and over the internal bus of the sound processor, leaving the CPU and it's bus and memory free for other tasks.