<?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中的主题 How to determine pipeline refill cycles</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-determine-pipeline-refill-cycles/m-p/599808#M23249</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The ARM Cortex M3 Technical Reference Manual R2P1 states ...&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;P&amp;nbsp; The number of cycles required for a pipeline refill. This ranges from 1 to 3 &lt;BR /&gt;depending on the alignment and width of the target instruction, and whether the &lt;BR /&gt;processor manages to speculate the address early.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;So firstly what CPU revision is used in the LPC1313? In case it matters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, more importantly, how can we know if the processor speculates the address&lt;/P&gt;&lt;P&gt;early or not and how, numerically, does this effect the pipeline refill.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We know that the Cortex-M3 prefetches 32-bit aligned 32-bit words and we can&lt;/P&gt;&lt;P&gt;lookup the width of the target instruction; but some clarification about cycle counts&lt;/P&gt;&lt;P&gt;(with examples) would be appreciated. [Presumably, we could use the cycle count&lt;/P&gt;&lt;P&gt;display in the debugger to evaluate the alignment and width factors, but the 'speculation'&lt;/P&gt;&lt;P&gt;component need -- detailed -- explanation.]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Background: I want to construct a precisely timed busy loop (in assembler naturally).&lt;/P&gt;&lt;P&gt;Of the order of 2 micro-seconds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, Mike.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 Oct 2016 08:04:35 GMT</pubDate>
    <dc:creator>mikesimmonds</dc:creator>
    <dc:date>2016-10-25T08:04:35Z</dc:date>
    <item>
      <title>How to determine pipeline refill cycles</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-determine-pipeline-refill-cycles/m-p/599808#M23249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The ARM Cortex M3 Technical Reference Manual R2P1 states ...&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;P&amp;nbsp; The number of cycles required for a pipeline refill. This ranges from 1 to 3 &lt;BR /&gt;depending on the alignment and width of the target instruction, and whether the &lt;BR /&gt;processor manages to speculate the address early.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;So firstly what CPU revision is used in the LPC1313? In case it matters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, more importantly, how can we know if the processor speculates the address&lt;/P&gt;&lt;P&gt;early or not and how, numerically, does this effect the pipeline refill.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We know that the Cortex-M3 prefetches 32-bit aligned 32-bit words and we can&lt;/P&gt;&lt;P&gt;lookup the width of the target instruction; but some clarification about cycle counts&lt;/P&gt;&lt;P&gt;(with examples) would be appreciated. [Presumably, we could use the cycle count&lt;/P&gt;&lt;P&gt;display in the debugger to evaluate the alignment and width factors, but the 'speculation'&lt;/P&gt;&lt;P&gt;component need -- detailed -- explanation.]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Background: I want to construct a precisely timed busy loop (in assembler naturally).&lt;/P&gt;&lt;P&gt;Of the order of 2 micro-seconds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, Mike.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Oct 2016 08:04:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-determine-pipeline-refill-cycles/m-p/599808#M23249</guid>
      <dc:creator>mikesimmonds</dc:creator>
      <dc:date>2016-10-25T08:04:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to determine pipeline refill cycles</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-determine-pipeline-refill-cycles/m-p/599809#M23250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In general, ARM does not document specifics of how their processor works, but you can find information about Speculative branch target fetch in the following thread:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://community.arm.com/message/17067" title="https://community.arm.com/message/17067"&gt;cortex-m3 pipeline stages, branch prediction | ARM Connected Community&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Carlos Mendoza&lt;BR /&gt;Technical Support Engineer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2016 00:51:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-determine-pipeline-refill-cycles/m-p/599809#M23250</guid>
      <dc:creator>Carlos_Mendoza</dc:creator>
      <dc:date>2016-11-04T00:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to determine pipeline refill cycles</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-determine-pipeline-refill-cycles/m-p/599810#M23251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Carlos; this helps.&lt;/P&gt;&lt;P&gt;And I can understand that the internal processor implementation is considered a trade secret.&lt;/P&gt;&lt;P&gt;Cheers, Mike.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2016 12:31:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-determine-pipeline-refill-cycles/m-p/599810#M23251</guid>
      <dc:creator>mikesimmonds</dc:creator>
      <dc:date>2016-11-04T12:31:48Z</dc:date>
    </item>
  </channel>
</rss>

