为什么属于同一物理核心的两个逻辑核心频率不同?

问题描述 投票:0回答:1

CPU开启Turbo模式时,工作频率会随着工作负载的变化而波动。我通过

turbostat
命令观察到每个核心在运行时都有不同的频率。

有趣的是,即使在超线程的情况下,属于同一物理核心的两个逻辑核心的频率也不同。 考虑到两个逻辑核心都基于同一个物理核心,为什么它们的工作频率不同?

此外,在Intel CPU中,AVX指令有一个“turbo level”的概念,其中lvl1/2指令可以使CPU工作在较低的频率下。 此行为是否会影响同一物理核心上其他逻辑核心的频率?

x86 cpu-architecture intel hyperthreading
1个回答
0
投票

这在物理上是不可能的。它可能改变了您观察之间的频率。

“物理核心”不是一个抽象概念,实际上有一个物理核心(执行一对逻辑核心的指令),并且在任何给定时间都有特定的时钟速度和电压。

改变频率需要将时钟暂停几微秒,同时新的电压和/或频率稳定。 (Intel 上的丢失周期?rdtsc 和 CPU_CLK_UNHALTED.REF_TSC 之间不一致)。 (是的,对于 256 位或 512 位指令来说,以相同频率改变电压可能是必要的,以便为 SIMD 乘法器闲置或闲置时可能产生的电流变化幅度更大的电压波动提供一些余量在给定的周期内。)

© www.soinside.com 2019 - 2024. All rights reserved.