CPU 基础知识:什么是内核、超线程和多 CPU?
已发表: 2023-03-19计算机中的中央处理器 (CPU) 执行计算工作——基本上是运行程序。 但现代 CPU 提供了多核和超线程等功能。 有些 PC 甚至使用多个 CPU。 我们将解释差异及其工作原理。
什么是超线程和同步多线程?
什么是 CPU 内核?
所有的多核 CPU 配置都一样吗?
多CPU怎么样?
什么是超线程和同步多线程?
同步多线程(Intel 称为超线程)允许单个 CPU 同时运行多个任务,而不是按顺序运行,这在大多数情况下提高了性能。
超线程是英特尔在 2002 年首次尝试将并行计算引入消费类 PC。当时的 Pentium 4 只有一个 CPU 内核,因此它一次只能执行一个任务——即使它能够在两者之间切换任务足够快,以至于看起来像是多任务处理。 超线程——在 AMD 和其他非英特尔处理器上称为同步多线程 (SMT)——试图弥补这一点。
注意:严格来说,只有Intel 处理器具有超线程,但是,该术语有时通俗地用于指代任何类型的同步多线程。
具有超线程或同步多线程的单个物理 CPU 内核在操作系统中表现为两个逻辑 CPU。 CPU还是单CPU,所以有点坑爹。 虽然操作系统看到每个内核有两个 CPU,但实际的 CPU 硬件每个内核只有一组执行资源。 CPU 假装它拥有比实际更多的内核,并使用自己的逻辑来加快程序执行速度。 换句话说,操作系统被欺骗,让每个实际的 CPU 核心看到两个 CPU。
超线程允许两个逻辑 CPU 内核共享物理执行资源。 这可以稍微加快速度——如果一个虚拟 CPU 停止并等待,另一个虚拟 CPU 可以借用它的执行资源。 超线程可以加速您的系统,但它远不及拥有实际的额外内核。
值得庆幸的是,超线程现在只是一个额外的好处。 虽然最初具有超线程的消费类处理器只有一个伪装成多核的单核,但现代 CPU 现在同时具有多核和超线程或 SMT 技术。 具有超线程的六核 CPU 在操作系统中显示为 12 个内核,而具有超线程的八核 CPU 显示为 16 个内核。 超线程并不能替代额外的内核,但是带有超线程的双核 CPU 应该比没有超线程的双核 CPU 表现更好。
什么是 CPU 内核?
最初,CPU 具有单核。 这意味着物理 CPU 上只有一个中央处理器。 为了提高性能,制造商添加了额外的“核心”或中央处理器。 双核 CPU 有两个中央处理器,因此在操作系统看来是两个 CPU。 例如,具有两个内核的 CPU 可以同时运行两个不同的进程。 这会加快您的系统速度,因为您的计算机可以同时执行多项操作。
与超线程不同,这里没有技巧——双核 CPU 实际上在 CPU 芯片上有两个中央处理单元。 四核 CPU 有四个中央处理器,八核 CPU 有八个中央处理器,依此类推。
这有助于显着提高性能,同时保持物理 CPU 单元足够小以适合单个插槽。 只需要一个 CPU 插槽和一个 CPU 单元插入其中——而不是四个不同的 CPU 插槽和四个不同的 CPU,每个都需要自己的电源、冷却和其他硬件。 延迟更少,因为内核可以更快地通信,因为它们都在同一个芯片上。
Windows 任务管理器很好地展示了这一点。 在这里,例如,您可以看到这个系统有一个实际的 CPU(插槽)和 8 个内核。 同时多线程使每个内核在操作系统看来就像两个 CPU,因此它显示了 16 个逻辑处理器。
所有的多核 CPU 配置都一样吗?
不,并非所有多核 CPU 配置都相同。 在查看多核 CPU 时,您会遇到两种截然不同的设计理念。
一种配置——多年来在消费类 PC 中很常见的配置——使用多个相同的内核。 在这些设置中,如果您有一个八核系统,所有八个处理器都是高性能 CPU,并且它们都以相同的方式进行了优化。
另一种使用不同内核的混合体(有时称为异构内核架构)。 通常,这些设置将使用两种不同的类型:性能核心和效率核心。
确切的命名方案因公司和应用程序而异,但基本思想是相同的。 效率核心保留用于后台和低需求任务。 这些内核消耗的功率更少。 性能核心恰恰相反。 它们消耗的电量要多得多,但在要求苛刻的任务(例如游戏)中性能要好得多。 这种组合可在您需要时提供性能,但背景能耗较低。
相关:什么是 GPU 或 CPU 的低电压,你应该什么时候做?
这种异构多核设置(被 ARM 称为 big.LITTLE)首先在手机和其他移动设备中流行起来,因为它们提供了节能功能。 当您需要手机续航一整天时,通过一直运行高功率核心来不必要地耗尽电池是没有意义的。 英特尔还在主流台式机 CPU 中引入了这一理念,首先是其 Alder Lake 处理器。
多CPU怎么样?
大多数计算机只有一个 CPU。 单个 CPU 可能具有多个内核或超线程技术——但它仍然只是一个物理 CPU 单元,插入到主板上的单个 CPU 插槽中。
相关:为什么你不能使用 CPU 时钟速度来比较计算机性能
在超线程和多核 CPU 出现之前,人们试图通过添加额外的 CPU 来为计算机增加额外的处理能力。 这需要带有多个 CPU 插槽的主板。 主板还需要额外的硬件来将这些 CPU 插槽连接到 RAM 和其他资源。 这种设置有很多开销。 如果 CPU 需要相互通信,会有额外的延迟,具有多个 CPU 的系统会消耗更多的功率,并且主板需要更多的插槽和硬件。
如今,具有多个 CPU 的系统在家庭用户 PC 中并不常见。 即使是配备多张显卡的高性能游戏台式机,通常也只有一个 CPU。 您会在超级计算机、服务器、一些工作站和类似的高端系统中发现多个 CPU 系统,它们需要尽可能多的数字运算能力。
计算机拥有的 CPU 或内核越多,它可以同时处理的事情就越多,这有助于提高大多数任务的性能。 大多数计算机现在都有多核 CPU——我们讨论过的最有效的选择。 您甚至可以在现代智能手机和平板电脑上找到具有多核的 CPU。
在比较性能时,CPU 的时钟速度及其 IPC(每周期指令数)过去已经足够了。 事情不再那么简单了。 提供多核和超线程的 CPU 的性能可能明显优于不具有超线程的相同速度的 CPU。 具有多个 CPU 的 PC 可以具有更大的优势。 所有这些功能旨在让 PC 更轻松地同时运行多个进程——在多任务处理或视频编码器和现代游戏等强大应用程序的需求下提高您的性能。
当然,更高的核心数并不是在所有情况下都那么重要。 现代操作系统在将任务分配给多个内核方面非常聪明,但并非所有程序都得到了如此好的优化。 在许多情况下(尤其是游戏),性能主要受限于单个内核的最大速度,而不是您拥有的内核总数。 因此,不要急于购买 64 核 Threadripper CPU,以为它会在《使命召唤》中为您净赚 10 亿帧每秒——事实并非如此。