【发布时间】:2014-04-29 13:54:02
【问题描述】:
为了计算时间我们通常使用系统调用,但是如果我想自己实现呢,有可能吗?使用rdtsc 为我提供了从我们打开它开始的 CPU 时钟数量。仍然无法计算时间,因为为此我们需要 CPU 频率。基本问题是,在我看来,不仅我测量的 cpu 频率与我在/proc/cpuinfo 中看到的不同,而且它还会随着时间而变化(超频和超频)。那么系统调用是如何实现的呢?
我正在寻找的解决方案框架是通过查看一些初始时间 t0、自 t0 以来的 cpu 时钟数量(使用rdtsc)和 cpu 频率来计算时间。类似的东西
t1 = t0 + (rdtsc1 - rdtsc0) / frequency
【问题讨论】:
标签: linux time system-calls rdtsc