Re: [AH] Nord modular question: using up resources

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