【发布时间】:2011-02-06 20:45:07
【问题描述】:
假设您有一个 (1) 个 Intel/AMD x86-64 位 2 GHz 8 核处理器。
8 个内核中的每一个是否都以完整的 2 GHz 运行,或者每个内核是否以完整 2 GHz 时钟的一部分运行(例如 250 MHz)?
【问题讨论】:
标签: architecture intel microprocessors amd-processor
假设您有一个 (1) 个 Intel/AMD x86-64 位 2 GHz 8 核处理器。
8 个内核中的每一个是否都以完整的 2 GHz 运行,或者每个内核是否以完整 2 GHz 时钟的一部分运行(例如 250 MHz)?
【问题讨论】:
标签: architecture intel microprocessors amd-processor
在满负载下(即,当您运行的程序占用所有内核上的所有可用处理器时间时),所有内核将以额定速度运行(例如,8 核 2 GHz 处理器以 2 GHz)。
现在,根据实际负载,内核可能以不同的速度运行:
因此,一般来说,处理器会处于全速状态,但速度可能会动态波动。
【讨论】:
第一个,时钟是由石英振荡器产生的输入,它被“注入”到 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
【讨论】: