代码之家  ›  专栏  ›  技术社区  ›  jcoder

ARM Cortex-m3(特别是LPC1343)上的指令定时

  •  4
  • jcoder  · 技术社区  · 15 年前

    我想在LPC1343上写一些对时间非常敏感的代码,在那里我需要精确计算时钟周期。有两个问题:-

    1. 我读到过,从内部闪存执行的代码并不总是能够以72Mhz的频率运行,可能会引入等待状态。但我找不到任何关于这个的“官方”文件。我看到一个地方建议将时间敏感函数复制到ram中。。。我要找的要么是被明确告知这不会发生,要么是关于它如何影响时机的信息。

    2. 分支机构指令需要多长时间?我读到这个核心有分支预测,所以时间可能不同。。这是正确的,如果是的话,有什么方法可以预测它将如何运行,或者禁用它(因为准确的计时比为我节省几个时钟周期更重要)。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Nordic Mainframe    15 年前

    Cortex-M3的指令时间可从arm.com获得:

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337g/BABBCJII.html

    还有流水线操作,所以指令计数有点麻烦。

        2
  •  2
  •   Igor Skochinsky    15 年前

    http://knowledgebase.nxp.com/showthread.php?t=460

    简而言之,没有“正确”的答案,结果可能取决于flash加速器设置、内存对齐、总线体系结构(neumann与harvard)、32位与16位指令等等。

    推荐文章