如何使用linux以滴答为单位获取时钟周期的值?

1 c c++ linux timer clock

在 linux 中获取时间戳与 linux 的时钟周期相同。我知道如何获取时间戳,但我现在不知道如何以滴答为单位获取时钟周期。有人能告诉我这两者有什么区别吗??有人能给我一个关于时钟周期的小例子吗?

期待您的回复。

额外:我正在尝试使用简单标量模拟器在 pisa 架构中添加用于计时的汇编指令。对于我的指令,我应该访问时钟周期并将其存储在寄存器中。

Max*_*kin 5

嗯,有:

  1. 蜱虫。现代内核不使用它们
  2. Timestamp counter,这是您可能喜欢用于高分辨率时间测量的东西,但您必须了解如何使用它进行无偏测量。
  3. 时钟,便携式clock_gettime,纳秒分辨率,通常足以应付一切。

如果您想访问 CPU 性能寄存器,您可以从程序中的英特尔® Performance Counter Monitor开始。