2
$\begingroup$

I've recently been reading up on Analog Device's SHARC floating point DSP. It seems cool reading about DSP specific processors, however, I'm curious what applications actually leverage DSPs. For example, if I'm doing audio processing, wouldn't I just be better off using x86 since that has a larger install base?

To be more explicit with my question, what formal items should be considered when determining what processor to use?

$\endgroup$
2
  • $\begingroup$ DSP processors primarily gained their popularity when general purpose CPUs were at about 10 MHz clock rate without dedicated FPUs. Things have changed dramatically since then, and mobile (cell phone) processing, with ARM cpus, seems to be the dominating market today. You may still have a lot of MAC intensive dedicated applications in various fields. Especially consider non-consumer industrial goods. Commercial DSP seems beyond the scope of this place though... $\endgroup$
    – Fat32
    Oct 6, 2021 at 1:03
  • $\begingroup$ If you wanted to make a stand-alone rack effects or a stomp box doing some musical audio effect, and you didn't want some funking unknown in Windows or some nasty OS, and you were willing to build this from "bare metal", then you might wanna use a SHArC. $\endgroup$ Oct 6, 2021 at 2:01

2 Answers 2

4
$\begingroup$

For example, if I'm doing audio processing, wouldn't I just be better off using x86 since that has a larger install base?

"Larger" is a good word for the x86. It needs a larger space claim on a PC board, it has a larger price tag, it needs a larger power supplies (and larger batteries if that's how you're powering your app), etc.

DSP chips are specifically targeted at doing the number crunching that you need for signal processing. They tend to give up ease of programming and flexibility, but in return they do what they do comparably cheaply, fast, and at low power levels.

If you're contemplating an application where you're deciding whether to do DSP in the close vicinity of a PC -- yes, by all means, use the x86 that you'll find therein (or a GPU -- they're better for DSP in a lot of cases).

If you're contemplating an application where you're building something in a stand-alone box to do DSP then you may find a DSP chip to be more economical.

Note that there's a lot of "might", "may", etc., in my answer. That's because for any given application a DSP chip may or may not be "best". It's also because while DSP chips were pretty much the hands-down best choice for audio-speed applications 30 years ago, today the best embedded-space step down from a PC may involve a processor with an ARM core -- the ARM core's are not, by any means, purpose-built DSP chips. But they are getting more and more number crunching with every iteration, many are cheaper than an x86, and they're really good general-purpose processors in the bargain.

$\endgroup$
1
$\begingroup$

To be more explicit with my question, what formal items should be considered when determining what processor to use?

  1. Requirements of your application
  2. Cost (development, pre-made boards, off the shelf devices)
  3. Speed and efficiency of instruction set, accelerators, SIMD, etc.
  4. PCB Footprint, ease of integration, EMC considerations.
  5. Power consumption, power supply complexity (which can be a problem for Sharc's)
  6. Peripheral set: I2S, IC2, GPIO, etc.
  7. Internal memory size, partition and speed, Cache sizes
  8. External memory interface
  9. Ease of programming, availability of libraries, RTOS, etc.
$\endgroup$
1
  • 2
    $\begingroup$ Acceptable latency too.. If latency is a killer an x86 is not really a good solution. $\endgroup$
    – Ben
    Oct 6, 2021 at 13:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.