[sdiy] Nord Modular DIY

Richie Burnett rburnett at richieburnett.co.uk
Thu Mar 3 20:40:43 CET 2016


> Even on the dsPIC, the DSP instructions are able to do five different 
> things in one instruction...

I think it can do a bit more than that, Tom! ;-))

In one instruction cycle a MAC instruction on the dsPIC can:

1. Fetch the first data word from memory
2. Fetch a second data word from memory
3. Multiply the two words together
4. Add the result into an accumulator
5. Perform saturation on the accumulator to prevent overflow
6. Write an accumulator result back to memory
7. Post-increment the address pointer used to fetch the first data word from 
memory
8. Perform bound checking and wrapping of this address pointer to implement 
a circular buffer
9. Post-increment the address pointer used to fetch the second data word 
from memory
10. Perform bound checking and wrapping of this address pointer to implement 
another circular buffer
11. Bit-reverse one of the address pointers (something that makes 
calculating FFTs a bit faster.)
12. Post-increment the pointer for where the accumulator is written back to 
memory
13. Decrement a loop counter
14. Perform zero overhead looping until the loop counter reaches zero

All of that functionality is usually available in a single instruction cycle 
on even the most basic DSP.

Newer parts like the Symphony DSP567xx series have dual DSP cores running at 
250MIPS each and a separate sample-rate conversion module designed to 
perform additional calculations without burdening the two main DSP cores. 
Then there's the multi-channel multi-dimensional DMA controller, S/PDIF 
audio interface, etc...  All features that make the DSP a super-fast 
processor of signals.

-Richie, 




More information about the Synth-diy mailing list