Architecture 多核处理器:每一个都有吗;核心;以全时钟速度或全时钟频率的一小部分运行?

Architecture 多核处理器:每一个都有吗;核心;以全时钟速度或全时钟频率的一小部分运行?,architecture,intel,microprocessors,amd-processor,Architecture,Intel,Microprocessors,Amd Processor,假设您有一(1)个Intel/AMD x86-64位2 GHz 8核处理器 8个核中的每一个都是以2 GHz的频率运行还是以2 GHz的时钟频率运行(例如250 MHz)?第一个,时钟是一个石英振荡器产生的输入,它被“注入”到CPU中,用于同步整组晶体管。。虽然硬件的不同部分可以使用不同的时钟,驱动CPU的部分(每个内核都是相同的) 一个侧节点:一些高级CPU能够降低一些内核,因为它们目前处于空闲状态。这通常是通过将基本时钟速度调整一个因数来实现的,但这只是为了节省电源 请记住,拥有更多CPU不

假设您有一(1)个Intel/AMD x86-64位2 GHz 8核处理器


8个核中的每一个都是以2 GHz的频率运行还是以2 GHz的时钟频率运行(例如250 MHz)?

第一个,时钟是一个石英振荡器产生的输入,它被“注入”到CPU中,用于同步整组晶体管。。虽然硬件的不同部分可以使用不同的时钟,驱动CPU的部分(每个内核都是相同的)

一个侧节点:一些高级CPU能够降低一些内核,因为它们目前处于空闲状态。这通常是通过将基本时钟速度调整一个因数来实现的,但这只是为了节省电源


请记住,拥有更多CPU不应增加上下文切换:上下文切换是在进程的数量结束或发生抢占时进行的,因此,随着内核数量的增加,您将有更多的“消费者”能够执行进程,而交换它们的需要也会降低。

满功率时,它们都应以2GHz的频率运行,我可以想象。然而,这并不能有效地创建一个16GHz处理器,因为运行在100%CPU上的单线程单进程程序只能使用一个处理器。然而,当工作负载被很好地分配时,8个2GHz内核可能比一个16GHz内核要好,因为每个内核都有自己的缓存等。。从更实际的角度来看,拥有8个2GHz内核意味着如果一个程序以100%的速度运行,它不会让系统慢到爬行(除非它使用所有8个内核)

请注意,现代硬件(具有适当的操作系统支持)在低工作负载时通常会降低时钟速度并关闭内核以节省电源。后者在今天可能不是这样,但在将来会是这样。

在满负载情况下(即,当程序运行占用所有内核上的所有可用处理器时间时),所有内核都将以额定速度运行(例如,8核2 GHz处理器以2 GHz的速度运行所有8核)

现在,根据实际负载,堆芯可能以不同的速度运行:

  • 节能技术可以在负载较低的情况下单独关闭空闲内核以节省能源(8核机器上经常出现这种情况)
  • 节能技术还可以“欠时钟”整个处理器以节省能源
  • Intel的TurboBoost和AMD即将推出的TurboCore都允许其中一个内核在单线程或进程占用CPU的情况下动态超频

  • 因此,一般来说,处理器将处于全速,但速度可能会动态波动。

    在Sandy Bridge和Ivy Bridge中,不同的内核不能同时以不同的速度运行。L3缓存总线以与内核相同的时钟速度运行,因此为了防止同步问题,它们都必须以该速度运行或关闭


    来源:

    “时钟在整个芯片之间共享”听起来好像每个芯片都应该有一个片:-)也许“2GHz信号输入每个核心”会更好,但无论如何+1,因为你是对的。我喜欢#2的概念——如果每个新内核都减慢了其他内核的速度,那么多核的实际意义是什么?但是如果它也共享时钟,这意味着无论何时增加内核计数,都会增加上下文切换延迟。。。更糟糕的是。不是吗?时钟不是总线,也不是内核“使用”或“消耗”的东西,它是一个电信号,用于在CPU内部的所有块上进行同步。我想解释一下投票失败的原因,而不仅仅是抱怨。有人投票失败了。凭借我的超级大国能力,我可以看到上升票和下降票,我可以将其视为+4/-1。至于为什么,我担心我的超能力没有扩展到那个程度:-)所以,如果你有8个2 GHz处理器,但它们共享同一个时钟,那么当你增加核心数量时,你不也会增加上下文切换延迟吗?我不确定我是否理解这个问题。拥有多个内核/处理器的好处之一是需要更少的上下文切换(或者它们分布得更多)。请记住,我决不是这方面的专家。@GregH,不确定上下文切换,但是的,随着内核数量的增加,内核之间的I/O会成为一个瓶颈,这就是为什么超过16个内核数会如此困难的原因。