[sdiy] The Owl: ARM fx pedal

Martin Klang mars at pingdynasty.com
Wed Apr 24 20:57:25 CEST 2013


On 24 Apr 2013, at 19:25, Eric Brombaugh wrote:

> On 04/24/2013 11:15 AM, Martin Klang wrote:
>> I'm not an expert, I but I understand a biquad filter requires 5 multiply and accumulate (MAC) operations per sample.
>> The Cortex M4 does single-cycle MAC - see here:
>> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439b/CHDDIGAC.html
>> 
>> Therefore I don't think our information is inaccurate, though it could be more precise. Please correct me if you think I'm wrong!
> 
> A "traditional" DSP has multiple operand buses and address generation units that allow coefficient and data to be fetched in parallel with the MAC operations. The ARM Cortex M4 processor has individual DSP-like instructions but you must include other instructions to fetch operands, increment addresses, save results, etc. All this means that the ARM DSP will take significantly more instruction cycles to compute a filter than would a DSP.

I've come across this presentation paper just now:
http://www.arm.com/files/pdf/dspconceptsm4presentation.pdf

It uses an example of a 7-band EQ (designed in Audio Weaver!).
As compared to the M3 requiring 1291 cycles, the M4 performs this in 299 cycles.

Perhaps as an illustration of chip capabilities, this would be more useful.
We really just want to communicate an idea of what the chip is capable of, in terms of DSP, rather than give any exact benchmarks.

In the paper they also show optimised FIR code which computes in 1.6 cycles/sample, as opposed to 12 unoptimised, but I think it would be misleading to present that as an achievable result in the general case.

best,

Martin


More information about the Synth-diy mailing list