This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Which library contains the touch() function?

Hello,

We experience low memory bandwith when executing our streaming algorithm with input data on L2SRAM, caused by cache miss stalls.
Reading the "C66 cache user's guide" I learned about miss pipelining, which allows fetching two cache-lines in one stall.

The document mentions a touch()-function which performs memory access in a way to allow for miss pipelining, however I weren't able to find which library contains it.

Any hint is very welcome =)

Thx

  • The "touch" routine that the document mentions is given (in assembly code) as Example 3-1.  I don't think a compiled version is included anywhere; it looks mostly like an example of how to trigger cache misses from both the A and B side of the DSP core independently, although you could probably include it in your own project.

  • Hi Michael,

    Thanks for your reply. I have to admit I didn't know how to call the assembly-listing contained in example-3.1 from a C file.
    As is the current assembler even rejects it...

    Somehow I remember I've read somewhere either CSL or Sys/BIOS provide a touch() function, however I can't find it anywhere :/

    Thx