用心打造
VPS知识分享网站

核心和线程之间的区别是什么?

核心和线程在计算机硬件中的含义与在现实生活中截然不同,所以请忘掉原先对核心和线程的理解,本期小编将带领大家一起来探索这些基本的计算机处理单元 (CPU) 基本原理如何影响你的计算机的多任务处理能力。

核心和线程之间的区别是什么?

CPU 是计算机的大脑

计算机由运行软件的硬件构成,这使得我们能够执行远超人脑能力的任务。计算机可以在不到一秒的时间内计算出千万亿位数字的平方根——这一成就自然是人类无法比拟的。CPU 正是执行这项计算的机器。

处理器包含中央处理单元 (CPU),是任何计算机(无论是笔记本电脑、大型服务器、手机,还是智能电视)的“大脑”。这个辛勤工作的物理处理单元执行着设备上大部分“工作”的功能。它是计算机不可或缺的物理硬件组件。

虽然某些设备包含不同形式的 CPU,例如微处理器或片上系统(集成 CPU),但您的设备必须存在 CPU 类型的物理处理单元才能执行工作。

CPU及相关硬件的功能

CPU执行的功能包括:

  • 运行计算机程序的指令
  • 执行计算
  • 与其他系统组件之间传递数据

计算机中还有许多其他硬件组件可以执行其他功能。以下是一些您可能熟悉的组件:

  • RAM:随机存取存储器 (Random Access Memory) 是一种临时存储单元,用于在计算机运行时执行复杂任务。计算机关闭后,这些内存将会丢失。
  • 缓存:与 RAM 类似,但它是一种具有常用指令集的低级内存,因此 CPU 可以比使用 RAM 时更快地执行计算。
  • 存储:持久性内存存储,即使计算机关闭时也可以存储数据,例如固态硬盘 (SSD)。
  • 总线:在其他硬件组件之间移动数据的载体系统。
  • 主板:容纳并连接所有这些硬件组件的板,并且可以连接其他硬件,如外围设备、电源、USB 接收器等。

关于 CPU 架构的说明

目前主要的两种 CPU 架构是 x86 和 ARM。CPU 的架构类型会影响设备中核心和线程的使用和运行方式。

当我们谈论 CPU 核心和线程时,我们通常讨论的是 x86 架构的 CPU 芯片。虽然 ARM CPU 架构也具有核心和线程,但它们的历史、操作和交互方式却有所不同。

请记住,本文主要讨论 x86 架构。x86 芯片的主要生产商是英特尔和 AMD,大多数 Windows 计算机都搭载了这些芯片。苹果的 M 系列芯片(例如 M3、M4)采用了 ARM 架构,而 Windows 也拥有另一个 ARM 系列。

CPU 核心如何工作?

在传统计算中,CPU 只有一个核心。这意味着主板上的一个处理器芯片上只有一个中央处理单元。

在计算机发展的早期,单 CPU 一次只能执行一条指令或操作。这种 CPU 就像收银员,一次只能服务一位顾客。收银员身后排着长队,顾客们耐心地排队,直到轮到自己。

我们如何才能让 CPU 更加卖力地工作呢?

几十年前,人们意识到这种在电脑结账时等待处理的方式效率低下;他们希望能够同时执行多项任务。为了处理更多工作,CPU 的下一次升级是时间片多任务处理的概念。

时间片多任务是指 CPU 一次处理多个任务,但只为每个任务分配一小部分时间,具体方式可以是循环调度、优先级调度或其他调度算法。你可以想象成收银员在服务顾客的间隙,用扬声器播报:“农产品区草莓买一送一。”

但是,我们当然希望计算机能够同时执行更多任务,不是吗?这时就需要线程了。

CPU 线程如何工作?

线程技术允许 CPU 真正同时执行两项任务,这被称为并行处理。第一种商用 CPU 线程技术出现于 21 世纪初,当时的技术被称为同步多线程(或称超线程)。

同步多线程实际上是在一个 CPU 上虚拟化多个 CPU。也就是说,你有一个硬件 CPU,在这个硬件 CPU 上,有两个独立的、逻辑上定义的虚拟 CPU。

这样,CPU 就可以进行真正的并行处理,不再需要同时执行两个任务,而是可以同时执行这两个任务所需的时间。现在,只要物理 CPU 上有足够的处理能力来执行这两个任务,就可以同时执行这两个任务,从而节省时间。

如果我们的收银员工作出色,他们可以同时在两条通道上为顾客结账,扫描商品并在两侧收银。仍然是一个人,但现在他们同时完成了两个人的工作。

单核 vs 双核 vs 多核

现在我们能够在一个 CPU 上同时执行多个任务。这很棒,但这还不够。我们希望计算机能够执行许多任务,而我们没有时间等待。

CPU 历史上的下一个里程碑是双核 CPU。单核 CPU 上同时进行多任务处理功能上市后不久,硬件制造商就想到:“嘿,还有什么比单核 CPU 更好?多核!”

于是,双核 CPU 诞生了,一块芯片上集成了两个物理核心:这是第一个多核处理器。这意味着不再需要共享底层资源:两块专用芯片可以并行工作,无需共享单核处理器即可完成多项任务。

在我们模拟的杂货店中,他们增加了另一名收银员,因此现在有两个人同时在工作。

多核 CPU 成了标配。如果你没有多核 CPU,那么你的单核处理器机器会明显比其他机器慢。后来出现了多核 CPU:一块芯片上可以集成 4、8、16、24 个核心,用于执行更多任务。

CPU 核心和线程

如您所见,CPU 核心数和线程数都能提升机器执行多任务的能力。但是,对于您的情况来说,多核心还是多线程,哪个更合适呢?

在现代计算中,您通常会同时拥有这两种功能:多个 CPU 内核,每个内核有多个线程。

一个CPU可以处理多少个线程?

在桌面计算中,大多数 CPU 核心每个核心最多只有两个线程。然而,某些 CPU 核心(尤其是在服务器中)可以拥有更多线程。通常,添加多个核心比为 CPU 添加更多线程更容易,尽管这些多线程 CPU 核心确实存在。

所有 CPU 核心都是线程化的吗?

并非所有 CPU 核心都支持线程。即使在多核处理器上,您也经常会发现线程核心和非线程核心混合存在。这是经过深思熟虑的设计决策,旨在最大限度地提高性能,同时确保兼顾功耗和散热等其他因素。

在英特尔,他们将线程核心称为“性能核心”,将非线程核心称为“高效核心”。例如,英特尔® 酷睿™ 超 9 处理器 285T 多核处理器拥有 8 个线程核心和 16 个非线程核心。每个线程核心运行 3 个线程,总共 24 个线程,构成 32 个虚拟核心和物理核心的组合。这意味着更多的核心数量,从而带来更强大的并行处理能力!

根据任务的复杂性和性能要求,不同的任务会被分配到不同的线程或非线程核心。高性能任务会被分配到性能提升的核心,而后台低级任务则会分配给高效的核心。

多核处理器中多核和多线程的混合提高了现代计算的效率。

核心数重要吗?

随着核心数量的增加,需要考虑其他因素:更强的冷却能力、更大的功率、更大的 RAM 需求。

到了2025年,我们已经解决了许多此类问题,但设备制造商仍然可能犯错。如果没有合适的硬件基础设施支持,多核设备仍然可能过热并关机,尤其是在满负荷工作的情况下。

作为消费者,核心数量决定了你的电脑能够处理多少多任务以及处理速度。通常情况下,核心越多,速度越快,但这会以功耗和散热为代价。

CPU 核心之间的差异

处理器的代数对核心数量至关重要。较新的芯片,例如英特尔酷睿 i7,比其前代产品(例如英特尔酷睿 i5)更高效。如果您拥有一款配备 i7 的四核处理器,其性能将迅速超越配备 i5 的四核处理器。

现代软件是为在现代机器上运行而构建的,这意味着一台装有 10 年前 CPU 的计算机将难以(甚至无法)运行新应用程序。将新软件与旧 CPU 一起使用意味着软件的性能要求将超出旧硬件的承受范围。

每一种新型 CPU 都会带来更高的效率,但也会影响对其他硬件组件的需求。手动更换 CPU 并保留原有的其他硬件可能会带来不良后果。

最好有多少个核心?

“多少个核心最好?”这个问题取决于以下几点:

  • 您的机器将运行哪些工作负载?
  • 您是否有电源、电池、冷却或其他硬件限制?
  • 您正在考虑哪一代 CPU?
  • 你的预算是多少?

例如,如果您只是使用浏览器和电子表格应用程序,那么仅仅因为可用且“最好”而选择拥有最多核心的笔记本电脑是没有意义的。单核机器仍然存在,但它们在小型设备中更为常见。

但是,如果您希望您的机器能够面向未来,那么选择具有更多核心和线程的最新一代处理器可能意味着您的机器将拥有更长的使用寿命,因为即使硬件老化,它也能运行新的软件。扩展是一个好主意。

同样,如果你经常执行某项特定的密集型任务,那么更多的 CPU 核心和线程可能并不是你在处理能力方面所寻求的答案。GPU 或许才是最佳选择。

CPU 与 GPU 核心

多年来,GPU 因其在机器学习 (ML) 工作负载中的应用而备受关注。然而,图形处理单元 (GPU) 过去通常用于高性能游戏。即使人们将 ML 工作负载转移到 GPU,情况仍然如此。

GPU 的并行处理能力甚至比添加额外的 CPU 核心或线程更胜一筹。高端桌面游戏配置的单个 GPU 就拥有数千个运行核心。这些多核处理器的性能远远超出了 CPU 的极限。

那么,为什么我们不使用 GPU,而是在常规计算中添加额外的 CPU 内核和线程?

答案是,GPU 只能执行高度特定、重复的任务。GPU 不像大脑。它就像拥有成千上万只手。如果你的大脑(CPU)告诉它们做三明治,你就会得到成千上万个三明治。

在计算机上添加更多 GPU 核心并不会提高通用计算的速度。GPU 核心只能用于那些极其专业的任务,例如图形渲染、机器学习计算、大规模模拟、CAD 建模以及研究暴力破解攻击。

CPU 核心和线程是计算机的动力源

CPU 核心和线程让现代计算背后的魔力得以实现。正因如此,我们在应用程序加载时无需泡茶。正因如此,当我们尝试在执行不同任务的应用程序之间切换时,我们的机器不会崩溃。

随着对高性能计算的需求不断增长,机器中多核多线程的可用性可能会持续增长。而且可以肯定的是,现代软件对性能的需求将永无止境。

赞(0)
未经允许不得转载;国外VPS测评网 » 核心和线程之间的区别是什么?
分享到