<?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>LPC MicrocontrollersのトピックRe: simple lpc43xx benchmark with disappointing  results</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582043#M20587</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by DF9DQ on Thu Feb 07 10:28:48 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Josef,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;running the test here with the ARM compiler set to speed optimization (&amp;lt;code&amp;gt;-Otime&amp;lt;/code&amp;gt;), yields the following result when running from internal SRAM @ 204 MHz:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;main() is at address 0x10000273&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystone Benchmark, Version 2.1 (Language: C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Program compiled without 'register' attribute&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please give the number of runs through the benchmark: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution starts, 10000000 runs through Dhrystone&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution ends&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Final values of the variables used in the benchmark:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Int_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bool_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ch_1_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ch_2_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[...]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Enum_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Str_1_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 1'ST STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 1'ST STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Str_2_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 2'ND STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 2'ND STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Microseconds for one run through Dhrystone:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.9 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystones per Second:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 521920.7 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 297.1 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS/MHz:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.46 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you setting up the timer correctly for measuring the execution time?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The result above (10 million test runs) took exactly 19 seconds to execute, so that matches the 1.9 µs/run.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you sure about the maximum optimization of your compiler?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When I remove the &amp;lt;code&amp;gt;-Otime&amp;lt;/code&amp;gt; switch, the result is dramatically worse:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Microseconds for one run through Dhrystone:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystones per Second:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 322788.9 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 183.7 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS/MHz:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.90 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Actually with this benchmark we are measuring the capabilities of the compiler...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Rolf&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:06:57 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:06:57Z</dc:date>
    <item>
      <title>simple lpc43xx benchmark with disappointing&amp;amp;amp;#160; results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582035#M20579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jokn on Sun Dec 09 13:19:22 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I made a simple benchmark to find out the CPU performance when execute from SDRAM.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My example is based on the BOOTFAST example from the PDL. And I tested it on a hitex board. CPU Frq. is 204 MHZ SDRAM clock 102 MHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The MIPS benchmark simple counts in a inner delay loop the cpu instructions for that loop and save the result after every seconds.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My results are&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 1) program + data internal RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 127 MIPS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 2) program SDRAM data internal RAM&amp;nbsp; 34 MIPS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 3) program + data SDRAM&amp;nbsp; 28 MIPS&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would expect for the first test with both program and data in different internal RAM something like 200 MIPS or more. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;What could be my reasoning error?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The MIPS when executing from SDRAM seems very disappointing for me.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Did anyone have experience with executing a program from SDRAM?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My short benchmark looks like this&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I also have attached the example project.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//----------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SysTick_Handler (void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;tmips_cnt +=14;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(msec)msec--;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//----------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void delay_ms (int ms)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;register long cnt = mips_cnt +4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;msec = ms;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (msec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;cnt += 5;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mips_cnt = cnt +3;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//----------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//----------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void my_benchmark (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Config(CGU_GetPCLKFrequency(CGU_PERIPHERAL_M4CORE)/1000);&amp;nbsp; // Generate interrupt @ 1000 Hz&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;while (1) {&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mips_result = mips_cnt + tmips_cnt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;tmips_cnt = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mips_cnt = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delay_ms (500);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO_ClearValue(LED1_PORT,(1&amp;lt;&amp;lt;LED1_BIT));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delay_ms (500);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO_SetValue(LED1_PORT,(1&amp;lt;&amp;lt;LED1_BIT));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Josef &lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337944"&gt;BOOTFAST.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582035#M20579</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:52Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582036#M20580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by PhilYoung on Tue Dec 18 09:43:35 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know why you expected to get reasonable execution speeds from SDRAM on an uncached CPU.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;These figures are not at all surprising and are you would expect from any vendors micro configured in such a manner.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you have so much code that you need to execute from SDRAM then you have chose the wrong CPU, you need to look for something with I / D caches.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Phil.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582036#M20580</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:53Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582037#M20581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jokn on Wed Dec 19 05:11:40 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Phil&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course you&amp;nbsp; are right. Execute code from external SDRAM is not the best solution. Thus is because I have here some very early prototype pcb’s on my desk, with LPC4330, which have no internal flash. We didn’t get the flash version some month ago. So I make some test by booting from SPI-Flash and running code from external SDRAM. I decided not to waste more time for it and to wait for newer pcbs with the lpc4357.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But what about the other issue, running code from internal RAM. Is 127 MIPS that what you might expect?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In my project the M0 core will have some time critical code and I have planed to place the M0 code into internal ram.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Under which circumstances I can expect the 200 MIPs, as given in the data sheet?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Josef&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582037#M20581</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:53Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582038#M20582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxp21346 on Wed Dec 26 11:16:07 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;MIPS is usually a theoretical comparison between a specific CPU and a Vax 11/780 running the Dhrystone benchmark at 1 MHz but you are not running the Dhrystone benchmark. (see &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDhrystone" rel="nofollow" target="_blank"&gt;http://en.wikipedia.org/wiki/Dhrystone&lt;/A&gt;&lt;SPAN&gt;) The reason why a benchmark is needed is to create the proper weighting to get a correct average instruction execution time since the instruction execution times vary. For example, on Cortex-M3/M4 cores branches are 2 cycles so a benchmark with too many branches would run more slowly than one with many multiplies (which take only 1 cycle).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Also, as with anything written in C, the code performance will depend on the compiler vendor, compiler version, and the optimizer options. It can be difficult to write a good benchmark because the compilers can remove portions of the benchmark when optimizing the code. But if the optimizer is not engaged, use of the full performance of the MCU will not be possible. If you are curious how many cycles ARM instructions take to execute take a look at the ARM Technical Reference Manual: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Finfocenter.arm.com%2Fhelp%2Findex.jsp%3Ftopic%3D%2Fcom.arm.doc.ddi0439b%2FCHDDIGAC.html" rel="nofollow" target="_blank"&gt;http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439b/CHDDIGAC.html&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Also, check out the CoreMark benchmark at &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.coremark.org%2F" rel="nofollow" target="_blank"&gt;http://www.coremark.org/&lt;/A&gt;&lt;SPAN&gt; for a benchmark that tries to avoid compiler optimization effects.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Dave @ NXP&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582038#M20582</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:54Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582039#M20583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jokn on Thu Jan 03 05:08:31 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Dave&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the meantime a made the original dhrystone test on my lpc4300 board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Running @204 MHZ from internal ram an maximal compiler optimization I get&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;129 DMIPS at all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I will not split hairs, but when I read in ARM specifications 1,25 DMIPS/MHz as well as in this paper:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fbrochure%2F75017243.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/documents/brochure/75017243.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I’m wondering what I’m thinking wrong&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My Result as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystone Benchmark, Version 2.1 (Language: C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Program compiled without 'register' attribute&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please give the number of runs through the benchmark: 1000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution starts, 1000000 runs through Dhrystone&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution ends&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Final values of the variables used in the benchmark:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Int_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bool_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ch_1_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ch_2_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Arr_1_Glob[8]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Arr_2_Glob[8][7]:&amp;nbsp;&amp;nbsp;&amp;nbsp; 1000010&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; Number_Of_Runs + 10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ptr_Glob-&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Ptr_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 268970624&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; (implementation-dependent)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Discr:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Enum_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Int_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 17&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Str_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, SOME STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, SOME STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next_Ptr_Glob-&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Ptr_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 268970624&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; (implementation-dependent), same as above&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Discr:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Enum_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Int_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 18&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Str_Comp:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, SOME STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, SOME STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Int_1_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Int_2_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 13&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Int_3_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Enum_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Str_1_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 1'ST STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 1'ST STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Str_2_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 2'ND STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 2'ND STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Microseconds for one run through Dhrystone:&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystones per Second:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 227790.4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMIPS: 129&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582039#M20583</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:55Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582040#M20584</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxp21346 on Tue Jan 15 14:54:00 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There are a few things to check in the benchmark.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. The M3/M4 cores have multiple buses, and the LPC43xx architecture with SRAM and bus matrix allows you to make use of it. Make sure that in your benchmark build that you have the code and data stored in different sections of SRAM so that both the data and code buses can be used.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. You may have to try different compilers to get the best results. You might also need to experiment with optimization settings (and not just choose "the best"). For example, if you use GCC and -funroll_loops you may get worse performance because the code size is increased.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Dave @ NXP&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582040#M20584</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:56Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582041#M20585</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by 42BS on Mon Feb 04 00:27:39 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I do not think that code-unrolling will have any effect on a non-cached system.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582041#M20585</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:56Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582042#M20586</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxp21346 on Wed Feb 06 12:08:03 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are buffers (a small cache) in the EMC and also something in the QSPI but you are right it shouldn't affect execution from SRAM (which has no buffers or cache).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Dave @ NXP&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582042#M20586</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582043#M20587</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by DF9DQ on Thu Feb 07 10:28:48 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Josef,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;running the test here with the ARM compiler set to speed optimization (&amp;lt;code&amp;gt;-Otime&amp;lt;/code&amp;gt;), yields the following result when running from internal SRAM @ 204 MHz:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;main() is at address 0x10000273&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystone Benchmark, Version 2.1 (Language: C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Program compiled without 'register' attribute&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please give the number of runs through the benchmark: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution starts, 10000000 runs through Dhrystone&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution ends&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Final values of the variables used in the benchmark:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Int_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bool_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ch_1_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ch_2_Glob:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[...]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Enum_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Str_1_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 1'ST STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 1'ST STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Str_2_Loc:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 2'ND STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; should be:&amp;nbsp;&amp;nbsp; DHRYSTONE PROGRAM, 2'ND STRING&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Microseconds for one run through Dhrystone:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.9 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystones per Second:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 521920.7 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 297.1 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS/MHz:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.46 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you setting up the timer correctly for measuring the execution time?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The result above (10 million test runs) took exactly 19 seconds to execute, so that matches the 1.9 µs/run.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you sure about the maximum optimization of your compiler?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When I remove the &amp;lt;code&amp;gt;-Otime&amp;lt;/code&amp;gt; switch, the result is dramatically worse:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Microseconds for one run through Dhrystone:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dhrystones per Second:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 322788.9 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 183.7 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMIPS/MHz:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.90 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Actually with this benchmark we are measuring the capabilities of the compiler...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Rolf&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582043#M20587</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582044#M20588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxp21346 on Tue Feb 12 11:48:09 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried this and got only 1.09 DMIPS/MHz but after turning off Keil MicroLib I got 1.48 DMIPS/MHz. This is probably because Dhrystone is very dependent on C standard library function speed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Dave @ NXP&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582044#M20588</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: simple lpc43xx benchmark with disappointing  results</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582045#M20589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jokn on Fri Feb 22 12:02:26 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Dave&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Finally I received some samples of the lpc4357 with internal flash and therefore make some more benchmark tests.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If find out that as before I did not check the time&amp;nbsp; optimization. Thereafter the results increases to the double.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My results now are:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;225 DMIPS internal SRAM// 1.1 DMIPS / MHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;192 DMIPS internal Flash&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;47 DMIPS from SDRAM&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;18 DMIPS from SPI-Flash&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That indeed is what I expected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But also I have learned to use the time optimization very carefully. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For example my SDRAM initialization routine failed when time optimization was switched on.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So I preserved this and some other initialization modules against time optimization&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I’m wondering that running from internal flash is slower than from internal Ram.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Seems NXP did not have a very quick flash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Josef&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:06:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/simple-lpc43xx-benchmark-with-disappointing-amp-amp-amp-160/m-p/582045#M20589</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:06:59Z</dc:date>
    </item>
  </channel>
</rss>

