[sdiy] Nord Modular DIY
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
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
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
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.
More information about the Synth-diy