<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX Processors中的主题 Re: IMX7 M4 caching and execution speed</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654136#M100174</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; Please look at my comments below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;1.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; The mentioned code enables the LMEM cache, assuming both cache controllers &lt;BR /&gt;reside within the LMEM. “Low-order addresses (0x0000_0000 through 0x1FFF_FFFF) &lt;BR /&gt;use the Processor Code (PC) bus, and high-order addresses (0x2000_0000 through&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;0xFFFF_FFFF) use the Processor System (PS) bus”. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; As for silicon rev., please refer to i.MX7 Datasheet(s), &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Figure 1 (Part number nomenclature). The recent letter (A/B/C)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;defines the rev.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;A class="link-titled" href="http://www.nxp.com/assets/documents/data/en/data-sheets/IMX7DCEC.pdf" title="http://www.nxp.com/assets/documents/data/en/data-sheets/IMX7DCEC.pdf"&gt;http://www.nxp.com/assets/documents/data/en/data-sheets/IMX7DCEC.pdf&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 22 Mar 2017 04:59:55 GMT</pubDate>
    <dc:creator>Yuri</dc:creator>
    <dc:date>2017-03-22T04:59:55Z</dc:date>
    <item>
      <title>IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654131#M100169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are writing bare metal code for the M4 on the IMX7.&lt;/P&gt;&lt;P&gt;We noticed a huge difference in execution speed between TCM code execution, OCRAM and DDR.&lt;/P&gt;&lt;P&gt;A simple while loop of a = a + 1 (a being a volatile long long int) results in the following measurements (no lmem caching done)&lt;/P&gt;&lt;P&gt;- 24M/s loops in TCM&lt;/P&gt;&lt;P&gt;- 3M/s loops in OCRAM&lt;/P&gt;&lt;P&gt;- 0.7M/s loops in DDR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;gt; From the reference manual, it seems that DDR can only be cached with the LMEM controller in the memory range of 0x8000_0000 until 0x801F_FFFF. Is this correct?) If so, is there an application note / info about how to avoid linux from using this memory?&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OCRAM is fast, but still a lot slower than TCM. This memory (0x2020_0000 - 0x203F_FFFF) should be able to be cached though. In order to try this we:&lt;/P&gt;&lt;P&gt;- Use the imx_driver code, and launch:&lt;/P&gt;&lt;P&gt;&lt;EM&gt; LMEM_EnableSystemCache(LMEM);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt; LMEM_EnableCodeCache(LMEM);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This has no significant effect though.&lt;/P&gt;&lt;P&gt;- We also tried to configure the MPU, by marking all other regions as non-cacheable, and only the OCRAM region as cacheable.. This also did not have any positive effect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;gt; Are we missing something here? Is there example code available that correctly uses the LMEM imx driver code to accelerate OCRAM (or any other region)?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for your reply.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 13:35:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654131#M100169</guid>
      <dc:creator>arnoutdiels</dc:creator>
      <dc:date>2017-03-15T13:35:29Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654132#M100170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; We do not have performance estimations for CM4 regarding different kinds &lt;BR /&gt;of i.MX7 memory. The TCM is mainly intended for the CM4. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: If this post answers your question, please click the Correct Answer &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Mar 2017 06:24:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654132#M100170</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-03-16T06:24:52Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654133#M100171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have any feedback regarding the configuration of the LMEM cache?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Arnout&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Mar 2017 07:40:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654133#M100171</guid>
      <dc:creator>arnoutdiels</dc:creator>
      <dc:date>2017-03-16T07:40:05Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654134#M100172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; The CACHE for the CM4 is not functioning on the rev 1.0 silicon.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;Also, please refer to RTOS sources how to work with LMEM.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;A class="link-titled" href="http://www.nxp.com/webapp/Download?colCode=FreeRTOS_iMX7D_1.0.1_LINUX&amp;amp;appType=license&amp;amp;location=null&amp;amp;Parent_nodeId=1337699481071706174845&amp;amp;Parent_pageType=product" title="http://www.nxp.com/webapp/Download?colCode=FreeRTOS_iMX7D_1.0.1_LINUX&amp;amp;appType=license&amp;amp;location=null&amp;amp;Parent_nodeId=1337699481071706174845&amp;amp;Parent_pageType=product"&gt;http://www.nxp.com/webapp/Download?colCode=FreeRTOS_iMX7D_1.0.1_LINUX&amp;amp;appType=license&amp;amp;location=null&amp;amp;Parent_nodeId=133769…&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;A class="link-titled" href="http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i.mx-6series-i.mx-7series-software-and-development-tool-resources:IMX_SW" title="http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i.mx-6series-i.mx-7series-software-and-development-tool-resources:IMX_SW"&gt;i.MX 6 / i.MX 7 Series Software and Development Tool|NXP&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Mar 2017 04:08:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654134#M100172</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-03-20T04:08:26Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654135#M100173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply, but can you elaborate a bit more on that?&lt;/P&gt;&lt;P&gt;You refer to the FreeRTOS sources. These have functions in lmem.c, but they are not used in any of the examples/code. The only place where LMEM macro's seem to be&amp;nbsp;accessed is in the startup.c:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt; /* Initialize Cache */
 /* Enable System Bus Cache */
 /* set command to invalidate all ways, enable write buffer
 and write GO bit to initiate command */
 LMEM_PSCCR = LMEM_PSCCR_INVW1_MASK | LMEM_PSCCR_INVW0_MASK;
 LMEM_PSCCR |= LMEM_PSCCR_GO_MASK;
 /* wait until the command completes */
 while (LMEM_PSCCR &amp;amp; LMEM_PSCCR_GO_MASK);
 /* Enable cache, enable write buffer */
 LMEM_PSCCR = (LMEM_PSCCR_ENWRBUF_MASK | LMEM_PSCCR_ENCACHE_MASK);&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This however seems only to initialize the system cache, not the code cache.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The non-functioning part you mention:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- Is this code cache?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- Is this system cache?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- Are all memory regions affected, or not?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- What is the easiest way to determine the silicon version, and in which part numbers is this fixed/not fixed/will this be fixed?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance for your reply&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Mar 2017 09:06:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654135#M100173</guid>
      <dc:creator>arnoutdiels</dc:creator>
      <dc:date>2017-03-20T09:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654136#M100174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; Please look at my comments below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;1.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; The mentioned code enables the LMEM cache, assuming both cache controllers &lt;BR /&gt;reside within the LMEM. “Low-order addresses (0x0000_0000 through 0x1FFF_FFFF) &lt;BR /&gt;use the Processor Code (PC) bus, and high-order addresses (0x2000_0000 through&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;0xFFFF_FFFF) use the Processor System (PS) bus”. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; As for silicon rev., please refer to i.MX7 Datasheet(s), &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Figure 1 (Part number nomenclature). The recent letter (A/B/C)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;defines the rev.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;A class="link-titled" href="http://www.nxp.com/assets/documents/data/en/data-sheets/IMX7DCEC.pdf" title="http://www.nxp.com/assets/documents/data/en/data-sheets/IMX7DCEC.pdf"&gt;http://www.nxp.com/assets/documents/data/en/data-sheets/IMX7DCEC.pdf&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Mar 2017 04:59:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654136#M100174</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-03-22T04:59:55Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654137#M100175</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; it is possible to look at Your codes with cache enabled ?&lt;/P&gt;&lt;P&gt;You may create request to send it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.nxp.com/support/sales-and-support:SUPPORTHOME" title="http://www.nxp.com/support/sales-and-support:SUPPORTHOME"&gt;Sales and Support|NXP&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Mar 2017 07:48:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654137#M100175</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-03-23T07:48:55Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654138#M100176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;Yuri,&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) How exactly does the code snipped from my previous post enable the -code- cache? P&lt;STRONG&gt;S&lt;/STRONG&gt;CCR refers to the system cache, P&lt;STRONG&gt;C&lt;/STRONG&gt;CCR refers to code cache. This last one is not refered anywhere, except for in the function&amp;nbsp;LMEM_EnableCodeCache, which is not called.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Thanks for the pointer. My IMX7D has revision 1.2 (C as last character in the name), so I assume the cache should work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) I don't know what you mean by "create a request to send it".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway, this is pretty easy to test yourself.&lt;/P&gt;&lt;P&gt;Just take the&amp;nbsp;FreeRTOS_BSP_1.0.1_iMX7D, take the hello_world and hello_world_ddr examples. Add the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;////////////////////////////////////////////////////////////////////////////////
// Code
////////////////////////////////////////////////////////////////////////////////
volatile long long int a;

/*!
 * @brief A basic user-defined task
 */
void HelloTask(void *pvParameters)
{
 uint8_t receiveBuff;

 while(1)
 {
 a = a + 1;
 }&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And just see how fast a increments in e.g. 10 seconds.&lt;/P&gt;&lt;P&gt;In DDR, this is about 0.7M times per second, which is waaay lower than TCM.&lt;/P&gt;&lt;P&gt;The main function is called from system_MCIMX7D_M4.c, which 'should' initialize all caches as you say.&lt;/P&gt;&lt;P&gt;Even when I call&amp;nbsp; LMEM_EnableSystemCache(LMEM) and LMEM_EnableCodeCache(LMEM), the result stays the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope you can now also test this yourself, and are able to provide answers to my initial questions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Mar 2017 08:27:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654138#M100176</guid>
      <dc:creator>arnoutdiels</dc:creator>
      <dc:date>2017-03-23T08:27:22Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654139#M100177</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; "As it turns out, the M4 cache has been optimized for qspi operation and does not have a performance effect on ddr memory accesses. Basically the cache-able memory does not include the ddr. And therefor there will be no difference&lt;/P&gt;&lt;P&gt;in applications operating from ddr with and without the caches turned on."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Apr 2017 05:41:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654139#M100177</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-04-13T05:41:20Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654140#M100178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yuri wrote:&lt;/P&gt;&lt;P&gt;&amp;gt; As it turns out, the M4 cache has been optimized for qspi operation and does not have a&lt;/P&gt;&lt;P&gt;&amp;gt; performance effect on ddr memory accesses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I thought that response had been proved to be wrong in this post:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/message/953330?commentID=953330#comment-953330"&gt;https://community.nxp.com/message/953330?commentID=953330#comment-953330&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Oct 2017 00:32:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654140#M100178</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2017-10-26T00:32:48Z</dc:date>
    </item>
    <item>
      <title>Re: IMX7 M4 caching and execution speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654141#M100179</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; - 24M/s loops in TCM&lt;/P&gt;&lt;P&gt;&amp;gt; - 3M/s loops in OCRAM&lt;/P&gt;&lt;P&gt;&amp;gt; - 0.7M/s loops in DDR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The OCRAM seems to be a lot slower than you'd expect. My experience is with the i.MX53. The OCRAM is documented in the manual as having a "one or two clock access". Great, that looks FAST!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Except it doesn't say anywhere that the OCRAM is only being clocked at 133MHz. Compared to the CPU at 800MHz or faster. OK, so it is 6 or 12 times slower than you'd expect from reading the manual. So you'd expect 6 to 12 CPU Clocks for a read,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Except that testing showed it takes SEVENTEEN 133MHz clocks, or 103 CPU clocks! That's about 130ns. That's a 7.7MHz memory system. I haven't seen memory that slow in about 20 years. Details, tables, measurements of various memory systems here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/message/514260"&gt;https://community.nxp.com/message/514260&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Freescale's responses were firstly "that is explained by the 133MHz clock" (which it isn't) and "you're accessing it through the Linux File System" (which I wasn't), then finally "The i.MX53 has complicated structure, it includes many peripheral modules, several internal buses, as result some delays may be observed because of arbitration,bus turn-arounds, etc.".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This sort of memory only seems to be useful for initial bootstrapping. You only find out it is slowing things down badly (like the NFC NAND Flash controller reading at 4.8 MB/s) when you measure it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Oct 2017 01:02:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX7-M4-caching-and-execution-speed/m-p/654141#M100179</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2017-10-26T01:02:03Z</dc:date>
    </item>
  </channel>
</rss>

