假设你有一个(1)Intel / AMD x86-64 bit 2 GHz 8核处理器。
8个内核中的每一个都是在完整的2 GHz运行,还是每个内核运行的时间是整个2 GHz时钟的一部分(例如250 MHz)?
答案 0 :(得分:9)
在满负载下(即,当您运行的程序占用所有核心上的所有可用处理器时间时),所有核心都将以额定速度运行(例如,8核2 GHz处理器在2处运行所有8个核心千兆赫)。
现在, 可能会使核心以不同的速度运行,具体取决于实际负载:
因此,一般情况下,处理器将处于全速状态,但速度可能会动态波动。
答案 1 :(得分:5)
第一个,时钟是由石英振荡器产生的输入,被“注入”到CPU中,用于同步整个晶体管串。虽然可以有不同的时钟用于硬件的不同部分驱动CPU的那个(每个内核都是相同的)。
侧节点:某些高级CPU能够逐步关闭某些核心,因为它们目前处于空闲状态。这通常通过将基本时钟速度缩放一个因子来实现,但这只是为了节省功率。
请注意,拥有更多CPU不应该增加上下文切换:只要流程量程结束或发生抢占就会完成上下文切换,因此使用更多内核可以让更多“消费者”能够执行流程,需要更换它们。
答案 2 :(得分:2)
全功率时,它们都应该以2GHz运行,我想。但是,这并不能有效地创建一个16GHz处理器,因为以100%CPU运行的单线程单进程程序只能使用一个。然而,当工作负载得到很好的划分时,8个2GHz核心可能比一个16GHz核心更好,因为每个核心都有自己的缓存等。从更实际的角度来看,拥有8个2GHz核心意味着如果一个程序以100%运行,那么不会让你的系统慢慢爬行(除非它使用全部8个核心)。
请注意,现代硬件(具有适当的操作系统支持)将在低工作负载时通常降低时钟速度并关闭内核以节省功耗。后者今天可能不是那么真实,但将来会如此。
答案 3 :(得分:0)
在Sandy Bridge和Ivy Bridge中,不同的核心不能同时以不同的速度运行。 L3缓存总线以与内核相同的时钟速度运行,因此为了防止同步问题,它们都必须以该速度运行或关闭。
来源:http://www.anandtech.com/show/3922/intels-sandy-bridge-architecture-exposed/4