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