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

  • 我读过从内部闪存执行的代码并不总是能够以完整的 72Mhz 运行,并且可能会引入等待状态。但我找不到任何关于此的“官方”文件。我看到一个地方建议将时间敏感函数复制到 ram 中......我正在寻找要么被明确告知这不会发生,要么是关于它如何影响时间的信息。
  • 分支指令需要多长时间?我读到这个核心有分支预测,所以时间可能会有所不同..这是正确的,如果是的话,有没有办法预测它的行为,或者禁用它(因为准确的时间比为我节省几个时钟周期更重要) .
  • 最佳答案

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

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

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

    关于assembly - ARM Cortex-m3(特别是LPC1343)上的指令时序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3336172/

    10-14 11:52