- Messages
- 366
ARMs are great for general-purpose processing because you can distribute the processing over multiple cores.They are sub optimal for sure but the development rate of arm cores is so fast they are leaving everything else in the dust from a price to performance point of view. You still have to rebuild the libraries of algorithms to take advantage of it, but it's a one time cost. It will 100% happen, DSPs were the result of optimizing for limited processing powers but nobody is investing much on that anymore because simply isn't needed now. General purpose processors are way faster now and they keep getting better.
However, for DSP, CISC will ALWAYS be better. The 'R' in ARM stands for Reduced Instruction Set Computer (RISC). The benefit of RISC is a smaller die size which means less expensive. The downside of RISC is that more instructions are needed to do a given task. This means more memory is required to store the program and the given task takes longer to complete. In the early days of RISC the memory requirements, and additional cost of that memory, outweighed the cost advantage of the processor itself.
As memory has become less expensive RISC processors are now cost-competitive and even beating CISC processors due to the reduced power and thermal management expense.
For real-time Digital Signal Processing, however, nothing beats CISC. This is because you can do more in a single clock cycle and, hence, more throughput for a given latency. For example, to find the maximum of two values is a single instruction in most CISC DSPs. This is a common operation in signal processing. With a RISC processor you need, say, 10 instructions to do the same thing. Furthermore the increased number of instructions required to do the same tasks means cache misses are more frequent thereby slowing things down even further. You end up having to access external memory much more often than with a CISC processor so then you end up being bottlenecked by the DRAM speed and latency.
It is untrue that nobody is investing in DSP anymore. TI just released their C7x architecture which builds on the C6x architecture (used in the Axe-Fx III BTW) and adds single-cycle vector operations as well as new instructions and other enhancements. Analog Devices continues to develop the SHARC core. They also have other things in the pipeline that I'm not at liberty to divulge due to NDA. Furthermore there are DSP IP cores that are available for custom solutions. Cadence has a licensable DSP core that is often mated to an ARM (or other RISC processor) on a custom chip.
ARMs continue to get faster and more powerful but they are doing that by adding instructions and coprocessors which is increasing the die size and obviating the whole reason RISC was created in the first place. These latest "RISC" processors have huge dies and require large heat sinks or even active cooling. Yes, they are still smaller than a CISC die but the line between RISC and CISC is getting blurry.
This isn't to say you can't do DSP on a RISC processor. Several products are using RISC processors: Tone-Master Pro, UA pedals, Headrush. In all those products, however, I measure very high levels of aliasing. The logical conclusion is that these products are using low amounts of oversampling due to the lack of processor throughput.
As with all engineering problems understanding the technology is key to making an informed design decision. There are pros and cons to each. You have to weigh cost vs. performance. If you prioritize performance then a dedicated DSP is the superior solution. If you prioritize cost or cooling requirements then a RISC chip may be the superior solution.