David, I have had some thoughts on programmable digital signal processors (DSP) such as Mpact rattling around in my head, and I'd like to set them out here. Please correct me if I'm off target.
The idea of a programmable DSP to handle PC peripheral functions is not new. It has been discussed for over 10 years, but no one has come up with a viable cost-effective general purpose implementation.
Before discussing the specifics of a programmable DSP, we need to take a step back and look at the PC system requirements. What do you want to do with your PC? Use the modem? Watch video? Access CD-ROM or DVD? Do 3D or high resolution graphics? High tech audio?
So the DSP has to be able to perform all these functions, unless special hardware is incorporated to perform some of them.
Second, we need to decide which of these functions *may* be performed *simultaneously.* The modem function probably has to be performed simultaneously with all of the others. Audio and video must be performed simultaneously. Gotta access that DVD too. Might want graphics too.
The DSP must be able to handle most or all of these functions simultaneously. The DSP is the bottleneck, and it had better be powerful to handle all this real-time multitasking. You wouldn't be too happy with your 266 MHz Pentium-II if the video dropped frames, the audio dropped out, or the modem disconnected you in the middle of an E-trade purchase of the Chromatics IPO.
A general purpose DSP such as Mpact will almost always occupy more silicon (equals more dollars and possibly more power consumption) than a dedicated DSP such as an MPEG2 decoder, a modem chip, or an audio decoder. There is some room for argument here, because the actual silicon used depends on the architecture. The silicon issue is whether the general purpose DSP uses less silicon or cheaper silicon than the combination of special purpose chips.
A general purpose DSP will always be more of a bottleneck than multiple special purpose DSPs. The multiple DSPs all operate simultaneously in parallel. The general purpose DSP may have parallel processing internally, but is one chip and likely has fewer data input/output ports than the multiple dedicated DSPs. It better run fast. It will consume lots of power at high clock speeds.
Finally, what do you gain from a general purpose DSP?
First, programmability, although most dedicated DSPs are programmable to a lesser extent. Wonder how CSS will fly on a programmable DSP?
Second, cost. Possibly. Smaller simpler chips are much cheaper to fabricate than more complex larger chips. What are the cost savings? MPEG2 decoder - $25. Audio decoder - $10. Modem chip - $10. Graphics chip - $20. Compare this to the overall cost of a Pentium-II system -- $2000-3000 now?
Hmmmmm. The cost savings are not dramatic. The performance may be less than optimum, unless the multitasking is executed flawlessly and the general purpose DSP is blazing (heat sink) fast.
Obviously I'm biased. But I don't think my analysis is unreasonable. A general purpose DSP for PCs is a laudable goal. But we need to be aware that it has some serious obstacles in terms of technology and cost. |