Re: [linux-audio-dev] Another Annoying "How Do I Get Started" Question

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Another Annoying "How Do I Get Started" Question
From: Greg Berchin (76145.2455_AT_compuserve.com)
Date: Wed Jul 11 2001 - 19:41:06 EEST


Steve Harris wrote:

>Speed is not the only advantage of DSP chips ... The advantage of DSP
>chips is that all operations take one cycle, regardless of parameters.

While there are certainly architectural advantages in DSP chips, right now
they are overcome in GP processors by pure, brute force. A GHz+ Pentium or
Athlon, even with a less efficient instruction set, simply overpowers even
the most efficient 56K or Sharc (whose clocks have just recently exceeding
100 MHz). And the really nice things for the do-it-yourself market is that
PCs are cheap, can be programmed in high-level languages, and have native
high-speed support for extended precision floating point numbers. (You
wouldn't believe the lengths I sometimes have to go to in order to maintain
accuracy in DSPs.)

>If you want to see this for yourself, take a GP implementation of a
>lowpass filter and turn down the turnover frequency to a few Hz, unless
>the programmer has been clever and sacrificed some quailty and speed
>the cpu use will go up by 40% or so.

The only way I can see this happening would be if the filter was
implemented as FIR, because then the number of taps would increase. But
that would happen in a DSP, too. Otherwise, if the filter is implemented
as IIR, then the number of operations is constant and the FPU shouldn't
care what the values of the multiplicands and multipliers are. Or do I
misunderstand how a FPU works?

>Also, although modern x86 chips have SIMD instructions, gcc won't
>generate them

That is a real shame. However, again, just the pure speed of these brutes
may make this moot.

Greg Berchin


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Jul 11 2001 - 19:41:58 EEST