X-Fi and the Elite Pro: SoundBlaster's Return to Greatnessby Derek Wilson on August 30, 2005 11:59 AM EST
X-Fi Processing Elements: The Quartet DSPAudio effects and processing can be done on a CPU. The latest audio solutions from Intel employ software from Sonic Focus that performs audio processing without the aid of dedicated hardware. If an end user wishes to enable advanced filtering or processing features, the Creative X-Fi has the advantage of being able to perform these tasks without tasking the CPU (thereby freeing up resources for other applications).
As is often the case, a general purpose CPU is not the most efficient hardware for the job. The Quartet DSP is able to make quick and efficient work of audio data. As mentioned before, the Quartet is made up of 4 independent two-issue SIMD engines, which Creative calls a TIMD architecture for Thread Interleaved and Multiple Data. The configuration of the SIMD paths in Quartet lend themselves well to audio processing.
Creative didn't tell us how wide the data path is down each SIMD pipe, but Quartet is able to handle either integer or floating point data, making it more flexible than DSPs used on older Creative parts. Special instructions allow differing operations to be performed on SIMD data to enable more efficient audio processing. For instance, the FADDSUB2 instruction performs an add-on-one data path and a subtract on another. The DSP is also able to perform complex floating point math with the real and complex results completing in different paths.
In traditional DSP architectures, raw speed often wins out over programmability. Tradeoffs are always necessary, but the Quartet offers a good balance. The result of one instruction can be used in the next with no stalls or reordering necessary and any instruction can be performed after any other instruction without any conflict. Also, any register can be used as any operand in any instruction. While we don't have all the details on the hardware, a high level language compiler could easily target and optimize for this architecture.
At this point, an easy to develop and efficient compiler only really helps Creative write driver and feature code more easily. It could be possible for Creative to allow developers access to their compiler in order to develop specialized DSP code. We don't know if Creative will actually pursue this in the future, but the option is there should they choose to do so.
To sum up the capabilities of the Quartet DSP, we have this list of features:
- 2 SIMD units per each of 4 simultaneous threads
- fixed and floating point data supported
- 235 opcodes
- up to 1200 MIPS
- can perform up to 4 moves per instruction
- easy to compile and optimize