3.3.1. 设置采样率

RealView Trace 2 数据捕获单元通过采样率获知报告当前所执行指令的频率。 ARM Profiler 会记录执行的每个指令,因此设置采样率并不会影响报告的调用链顺序的准确性。 采样率不会影响每个指令的时间度量的准确性,因为 ARM Profiler 会按照采样率指示的间隔报告正在执行的指令。 缺省值 1021 告知 RealView Trace 2 单元两次报告指令的间隔周期是 1021。 设置较高的采样率可确保跟踪端口不会因数据过多而溢出,而设置为最小值则会生成最准确的计时值。

您可以在字段中直接输入介于 1 和 1024 之间的任意整数值,也可以使用采样率下拉菜单将性能分析运行的采样率设置为以下预设值之一:

Note

  • 为降低跟踪端口溢出的风险,缺省采样率设置为 1021。

  • 下拉菜单以质数填充,从而确保对所执行指令进行更加随机的采样。 这样可以避免产生与执行循环相匹配的可以整除的采样率。 某些目标对于可以设置的采样率容量有限。

“Cycle Accurate/准确周期”可提供最高级别的准确性,因为它记录每个指令的周期计数。 如果为不允许“Cycle Accurate/准确周期”的目标选择了此选项,ARM Profiler 会将其设置为所支持的最小值并显示如下消息: Target does not support sample rate 1 - using 16/目标不支持采样率 1 – 使用 16。

将采样率设置为“Estimated/估计周期”可为较小跟踪端口宽度提供最佳性能,但会关闭采样功能。 如同使用 RTSM 进行性能分析一样,ARM Profiler 会根据指令类型估计每个指令的时间并根据估计值报告计时数据,但是您不会看到实际的硬件延迟行为。 这在准确性上不及采样,您也无法深入了解哪些指令的执行速度比预期慢。

Note

“Estimated/估计周期”不使用嵌入式跟踪宏单元 (ETM) 端口的准确周期模式,因此它可与较窄的 ETM 端口一起使用来减少溢出。

Note

Cortex-M3 所允许的采样率为 64 或 1024。ARM Profiler 根据从此下拉菜单中选择的数字使用两个采样率之一。 所有低于 64 的值都将转换为 64,所有高于 64 的值都将转换为 1024。Cortex-M3 不支持“Estimated/估计周期”采样设置。

Copyright © 2007,2008 ARM Limited. All rights reserved。ARM DUI 0414CC
Non-Confidential