C-时间测量,CPU tick和可调节的CPU频率



如今,CPU可以调整其频率以降低能耗。但是,进行高精度持续时间测量的许多方法并不依赖于测量时间,而是取得滴答的数量。例如,诸如RDTSC/rdtscp之类的汇编指令似乎可以访问每个时钟周期单调递增的刻度计数。或C常数CLOCKS_PER_SEC,是一个常数。对于具有可调节频率的处理器,刻度计数和实际持续时间如何相关?以及如何从另一个推论?

从英特尔(Intel®64和IA-32体系结构(来研究文档软件开发人员的手册/第3卷(3a,3b,3c& 3d(:系统编程指南(在第17.17节中

对于奔腾4处理器,英特尔Xeon处理器(家族[0fh],模型[03H及更高](;对于英特尔核心独奏 和Intel Core Duo处理器(Family [06H],模型[0EH](;对于Intel Xeon处理器5100系列和Intel Core 2 Duo处理器(family [06H],模型[0FH](;对于Intel Core 2和Intel Xeon处理器(家庭[06H], DisplayModel [17H](;对于Intel Atom处理器(家庭[06H], DisplayModel [1CH](:时间戳记计数器以恒定速率增量。该比率可能是由 处理器的最大核心锁定与锁定比率,或者可以通过最大解析频率设置 启动处理器。最大解析频率可能与处理器基础不同 频率,请参见第18.7.2节,以获取更多详细信息。在某些处理器上,TSC频率可能不相同 作为品牌字符串中的频率。

因此,TSC以恒定速率运行。因此,不同的频率无关紧要。这是因为奔腾4案件。

请阅读完整的第17.17节,以了解对您为您提供恒定费率计时器的方法。

您的问题下面的评论还正确:您必须区分这样的短期计时器和壁时钟时间。

最新更新