[sdiy] FW: ARM Launches Class-Leading Cortex-M4 Processor for High Performance Digital Signal Control - MarketWatch

Eric Brombaugh ebrombaugh1 at cox.net
Sun Feb 28 16:41:37 CET 2010


On Feb 28, 2010, at 1:29 AM, Robin Whittle wrote:

> Here is the page for the Cortex M4 series:
> 
> http://www.arm.com/products/processors/cortex-m/cortex-m4-processor.php
> 
> I couldn't easily find any actual devices.
> 
> 150 MIPS 32 bit MAC DSP or twice this rate at 16 bits is pretty fancy
> if the chip is inexpensive and low-powered.

That's encouraging, but still not quite enough info to tell if this new architecture is a major step forward for DSP on ARM. The old ARM9 architecture has a MAC instruction but that doesn't make it a DSP - there are a few more things necessary:

* Independent parallel buses for operands: Having a single cycle MAC is nice, but if you have to wrap that instruction in a bunch of load/store ops to move the data through the MAC then you haven't gained much. True DSPs will be prefetching the input operands in parallel with the MAC instruction so only one instruction is required.

* Flexible addressing modes for prefetches: Absolute & indexed pre/post increment in byte/word/doubleword sizes help you get that data through the MAC from a variety of sources. Extra points if you can set up circular buffers without any overhead.

* Zero-overhead looping: Not having to maintain loop counters manually during an iterated operation is a big help to throughput. Most DSPs have special loop and repeat operations that allow a single instruction, or small group of instructions to be iterated without count/test/branch instructions wrapping them.

* Rounding, Saturation & fixed-point scaling: Having these fundamental operations built in to the accumulator really helps speed things up. The M4 docs mention saturation, but don't discuss if rounding and fixed-point scaling is handled automatically. It's not hard to do these things in an additional step, but if it's built in that can speed things up a bit more.

All of these help maximize the throughput speed when doing any kind of filter operations. Without them, the MAC is just a marketing bullet that doesn't really help you when you've got signal processing to do.

One thing that does look nice is the new NVIC interrupt handling capability, and the improved IRQ latency they discuss. On the old ARM7 architecture this was a major sticking point and it looks like they've cleaned it up significantly.

Eric
 



More information about the Synth-diy mailing list