使用时间戳计数器获取时间戳

时间:2017-02-24 10:17:29

标签: timer linux-kernel x86 linux-device-driver

我使用下面的代码来获取处理器的时钟周期

unsigned long long rdtsc(void)
{
  unsigned hi, lo;
  __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));
  return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 );
}

我得到一些值43,但这里的单位是多少?是微秒还是纳秒。

我使用下面的代码来获取我的电路板的频率。

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
1700000

我还使用下面的代码来查找我的处理器速度

dmidecode -t processor | grep "Speed"
Max Speed: 3700 MHz
Current Speed: 3700 MHz

现在我如何使用上述频率并将其转换为微秒或毫秒?

0 个答案:

没有答案