From Brian Willoughby Sent Thu, Jan 25th 2018, 05:16
Digital Signal Processors, not surprisingly, have an architecture that = is optimized for implementing algorithms that manipulate signals (like = audio). Although each DSP is unique, there are some general terms that = are universal. The =E2=80=9CX memory=E2=80=9D and =E2=80=9CY memory=E2=80=9D are = parallel RAM busses that allow simultaneous access to both operands in = various math functions. Any module that works on audio will probably use = up the same amount of memory in both X and Y. They=E2=80=99re always = paired. FFT would use the most X+Y Memory, filters would use almost as = much, and simpler algorithms might use less. =E2=80=9CProgram Memory=E2=80=9D is the non-data part of the algorithm. = It seems like most of the program code could be static, and called as = subroutines, but I imagine that as you patch random modules together the = Nord Modular might have to create some code on the fly, possibly = compiled or perhaps just a structure, so that the code knows what order = to execute the processing. This will consume Program Memory. Things like = triggers probably use more Program Memory than other types of Memory. =E2=80=9CCPU cycles=E2=80=9D is surely obvious, while =E2=80=9CZero = Page=E2=80=9D is probably very specific to the particular DSP chip that = Nord is using in their Modular. =E2=80=9CDynamic Memory=E2=80=9D is = perhaps more for buffering between stages, where there isn=E2=80=99t = actually any hardcore DSP code working on the data. Brian Willoughby On Jan 24, 2018, at 10:02 AM, Mike Perkowitz <xxxx@xxxxxxxxx.xxx> wrote: > thank you! I had missed this entirely! this is great. though it would = be better if I understood what all those things are :) I'll check the = patch when I get home... >=20 > On Wed, Jan 24, 2018 at 3:00 AM, Tristan <xx@xxxxxxxxx.xxx.xx> wrote: >> Have a look at page 67 of the v3.0 manual in the section titled = "Patch settings". There are a number of internal >> resources used when you make patches and any of these could be = running low. CPU cycles, program memory, x >> memory, y memory, zero page and dynamic memory must all be = considered. >>=20 >> /Tristan >=20