2

我正在使用 ARM926EJ-S 并试图弄清楚 ARM 是否可以提供(例如可读寄存器)CPU 的周期计数器。我猜一个 # 将代表自 CPU 通电以来的周期数。

在我的系统中,我只有低分辨率的外部 RTC/定时器。我希望能够实现高分辨率计时器。

提前谢谢了!

4

2 回答 2

0

arm-9 没有配备 Cortex 系列中包含的 PMU(性能监控单元)。此处描述了 PMU 。linux 内核支持使用 PMU 进行基准测试。有关工具集的文档,请参见此处。perf

有点不确定arm-9,需要多挖一点......

于 2011-06-09T20:54:54.277 回答
0

你可能只有两个选择:

  • 使用指令周期精确的模拟器;这里的问题是有效地模拟外围设备和外部刺激可能很复杂或不可能。

  • 使用外围硬件定时器。在大多数情况下,您将无法以 ARM9 的典型内核时钟速率运行此类计时器,并且在计时周期的任一侧为计时器提供服务都会产生开销,但它可用于执行运行更大或更长时间的代码部分的时间,这可能比循环计数更实用。

虽然周期计数可能在一定程度上可以扩展到不同的时钟频率,但它仍然受到内存和 I/O 等待状态的限制,因此除了在微观分析层面和更大的分析层面外,它可能不像看起来那样有用性能提升通常是通过更广泛的视角来实现的。

于 2011-06-11T07:07:15.030 回答