首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么英特尔SpeedStep会影响执行周期的数量?

为什么英特尔SpeedStep会影响执行周期的数量?
EN

Stack Overflow用户
提问于 2016-05-02 13:22:39
回答 1查看 101关注 0票数 0

我目前正在测量执行一段C代码的循环计数。代码在一个额外的线程中执行,该线程由Windows中的_beginthreadex()每隔10 is生成一次。循环测量是使用QueryThreadCycleTimes()进行的,以避免计算中断或其他东西的滴答数。

当我只在我的机器上执行这段代码时,循环计数变化在550到1800 000之间,每次都是在几次(5-10次)调用之后。

经过一些研究,我发现,随着英特尔SpeedStep关闭,循环计数是中位数58000,偏差约10,000滴答。可以接受!因此,我现在的问题是,SpeedStep如何影响执行所需的周期数。正如我所想的那样,它只是通过降低功耗摄入来降低处理器的频率,这不应该影响循环计数,而是影响到这个周期计数所需的时间?也许有人知道是否对其他重要的硬件部件或CPU缓存有影响?

提前谢谢你。萨沙问候

系统特性:

英特尔Xeon E5 - 1620处理器

2013

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-02 13:28:06

QueryThreadCycleTime函数手册页声明:

该函数使用CPU提供的计时器服务,在实现上可能有所不同。例如,当改变CPU运行的频率时,一些CPU会改变计时器的频率,而另一些CPU将以固定的速率离开它。CPU供应商提供的文档中描述了每个CPU的行为。

我试图找到关于Intel Xeon处理器的信息,但是我的搜索业力并没有和我在一起。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36983523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档