了解硬件:什么是 CPU,它有什么作用?

2023年 9月 24日 86.9k 0

在计算机硬件的层次结构中,可能没有什么比 CPU 更重要了。这实际上是整个系统的“大脑”——就像人脑控制身体的功能一样,CPU 控制计算机的功能。无论我们在这里对“计算机”的定义有多宽松,智能手机、平板电脑、笔记本电脑、台式机等都符合资格。

什么是CPU?

CPU 代表中央处理单元。在现代应用中,CPU 有很多名称:芯片、处理器、芯片组,甚至只是“硅”。这些术语中的大多数至少是大致准确的,并且可以相当安全地假设,如果您在技术对话中听到这些术语,它们都指的是同一事物。

当前技术中 CPU 的常见示例是许多台式机和笔记本电脑中的 Intel i 系列芯片或智能手机和平板电脑中的 Qualcomm Snapdragon 系列。CPU 领域还有许多其他制造商,例如 AMD、联发科和许多较小的供应商。

CPU 有什么作用?

如上所述,CPU 是任何计算机系统的大脑。为了更直接的比较,您可以将 CPU 视为管弦乐队的指挥,指导每个硬件做什么以及何时做。CPU 执行您在设备上执行的所有操作 - 从简单的击键到打开文件、玩游戏或编辑照片。

为了更好地理解这一点,让我们假设您的计算机是一家餐厅。餐厅有不同的部分,如大堂、餐厅和厨房。在这种情况下,厨房就是 CPU:来自餐厅其他部分的请求到达厨房,在那里准备饭菜。稍后我们将更详细地扩展这个类比,但这是这个概念的基础。

CPU 的唯一作用是执行复杂的指令集并每秒执行数百万或数十亿次计算。它通过利用特定组件来实现这一点,例如用于数学运算的 ALU(算术逻辑单元)、用于指令解释的控制单元以及用于临时数据存储的寄存器。指令从内存中提取、解码、执行,并将结果推回内存寄存器。每个步骤都会依次创建所谓的“时钟周期”。

什么是时钟速度以及为什么它很重要?

CPU 的时钟速度以赫特(随后为兆赫、千兆赫等)为单位进行测量,并确定它在一秒钟内可以完成多少个时钟周期。因此,从逻辑上讲,时钟速度越高,处理器速度就越快。但是,正如计算机经常发生的情况一样,它并不像更快=更好那么简单。

那是因为线程。这是处理器内的基本执行单元以及 CPU 处理任务的方式。理解 CPU 线程很快就会变得复杂,所以让我们将它们简化为一个概念。假设一位厨师正在我们以 CPU 为主题的厨房里做饭。他可以一次煮一件事,然后继续做下一件——所以,如果他要做阿尔弗雷多鸡肉宽面条,他会先煮鸡肉,完成后,煮意大利面,完成后,煮酱汁。

现在,想象一下厨师有四只手臂。这样,他就可以一次煮鸡肉、搅拌面食、做酱汁。在这个场景中,厨师是CPU,他的四个手臂是线程。

线程允许 CPU 同时处理多个任务以节省时钟周期。由于时钟速度决定了设备在一秒内完成一个周期的速度,而周期是由许多线程组成的,因此更快的时钟速度意味着CPU可以更快地执行每个线程。

但它并不止于此。输入多线程。

什么是多线程?

让我们回到厨师的比喻。我们的家伙有四只手臂,所以他可以同时做四样东西。假设收到一份紧急订单,要求烤宽面条与阿尔弗雷多鸡肉意大利细面条搭配。他可以等到吃完当前一顿饭后再开始另一顿饭,或者他可以从现有的每只手臂上长出四只临时手臂来完成更多工作。

这就是多线程(Intel 将其称为超线程)。多线程允许最先进的 CPU 生成虚拟线程,因此无需任何额外硬件即可执行更多操作。它在不提高时钟速度的情况下更高效、更快。

到目前为止明白了吗?凉爽的。让我们把它变得更复杂。从技术上讲,CPU 不仅仅是一个大脑——大多数现代 CPU 由多个处理器(称为内核)组成。

什么是CPU核心?

如果您读过有关 CPU 的任何内容(即使是在规格列表中​​),您之前可能读过诸如“四核”或“八核”之类的内容。这表明 CPU 有多少个处理核心。四核芯片有四个独立的核心,八核芯片有八个,依此类推。每个核心独立于其他核心工作,几乎就像计算机有四个可以相互通信的独立处理器一样。

由于每个核心独立运行,因此每个核心都有自己的时钟周期和线程。有时,这些内核可能会执行完全不同的操作,但有时,它们可能会在单个应用程序中一起执行更密集的流程。

在我们的厨师类比中,这就像在一个厨房里有四名厨师和四只手臂。厨房代表CPU,而每个厨师就是一个处理核心,每个手臂就是一个线程。现在开始点击吗?

在我们讨论 CPU 的工作原理之前,最后要注意的是:虽然每个 CPU 都有定义的时钟速度,但这并不意味着每个内核都以相同的级别运行。例如,某些四核处理器可能具有两个较快的核心和两个较慢的核心。这称为 big.LITTLE 架构,允许更快的大核心专注于繁重的任务,而不会在较慢的 LITTLE 核心处理的更简单的任务上浪费时间或资源。

了解CPU架构

“CPU 架构”这个术语很容易被过度思考。理解 CPU 架构的最简单方法是将其视为蓝图——每个 CPU 使用的整体设计。就像建筑物一样,并非所有 CPU 的设计都相同。它们都是 CPU,但它们的工作方式却有很大不同。想想汽车、船和摩托车之间的区别——它们都是交通工具,但本质上却截然不同。CPU 有点像这样。

CPU 架构主要围绕我们到目前为止讨论的组件进行设计 - 内核、时钟速度、指令集、内存等。CPU 架构有多种,但最常见的是 x86 和 ARM。

x86 与 ARM

在现代硬件处理器的体系中,x86 和 ARM 处于领先地位。这些是现代计算机和移动设备中最常见的两种处理器类型。其中存在一些细微差别,我们将稍后讨论。

什么是x86?

Intel于1978年开发了x86架构,最初是16位处理器。1985 年,它演变成 32 位处理,持续了近 20 年,直到 2003 年推出 64 位处理器。您会发现 x86 处理器常用于台式机和笔记本电脑,因为它们被设计为功能强大,处理繁重的芯片组。因此,热量管理和电池使用并未针对智能手机和平板电脑等移动设备进行优化。

x86处理器采用CISC(复杂指令集计算机)设计理念,它使用大量复杂指令来处理单个指令内的多个操作。这些芯片可以处理需要单线程强大处理能力的任务,使其成为复杂、耗电应用的理想选择。大多数现代 x86 处理器还支持多线程,进一步提高性能。

什么是ARM?

另一方面,你有 ARM 芯片。ARM Holdings 于 1983 年推出了第一批 RISC(精简指令集计算机)处理器。事实上,ARM 代表 Advanced RISC Machines(尽管最初的缩写是“Acorn RISC Machines”,并于 1990 年更改为“Advanced”)。

RISC 的设计理念与 CISC 相反,强调更小、更简单的指令,每个指令执行单一操作。由于指令更小,执行速度更快,从而提高了能源效率。因此,ARM 架构非常适合智能手机、平板电脑、物联网设备等移动芯片组。前面提到的 big.LITTLE 架构最常用于 ARM 芯片,因为大多数芯片不提供多线程。这样,大核心处理高优先级线程,而低优先级或不太密集的线程则转到小核心。

CPU 与 GPU:有什么区别?

CPU 代表中央处理单元,GPU 类似地代表图形处理单元。虽然两者听起来很相似,但它们在现代计算机、智能手机、平板电脑等中扮演着截然不同的角色。您可以将 CPU 视为更通用的硬件,而 GPU 视为硬件层次结构中更专业的组件。

由于我们已经非常全面地介绍了 CPU 的工作方式,所以我们在这里重点关注 GPU。如果您是任何类型的游戏玩家,您可能已经熟悉 GPU(也称为显卡(两者本质上可以互换)),因为它的主要用途是处理图形任务。GPU 的设计高度关注视频和图像处理的图形渲染。

CPU 和 GPU 之间的主要区别之一是它们处理数据的方式。CPU 针对单线程处理进行了优化,而 GPU 针对同时处理数千个任务进行了优化。这使得 GPU 成为图像和视频处理、科学模拟和机器学习 (ML) 等任务的最佳选择。事实上,GPU 可以处理大多数 ML 应用程序,这是 NVIDIA 最近大力投资的领域。

但有一个问题:许多 CPU 都有内置 GPU。这些被称为“板载 GPU”或“集成 GPU”。它们通常足以胜任 GPU 处理的日常任务,但无法胜任视频编辑或游戏等高性能功能。为此,您需要一个专用或“谨慎”的 GPU。

您是否真的需要一个独立的 GPU 完全取决于您的用例。在大多数业务案例中,特别是对于专用、一次性或公司拥有的设备,您需要专用 GPU 的可能性很低。许多现代处理器中的集成 GPU 足以满足这些场景。

如何为您的应用选择合适的 CPU

所以,这就很多了。我们懂了!虽然您不必记住所有这些,但在为您的用例选择合适的处理器时,上下文非常重要。最终,它归结为一个主要考虑因素,您可以从以下方面进行分支:x86 或 ARM。

为了做出这个决定,您需要得出几个结论。首先,您是否需要设备是便携式的并且可以选择使用电池运行?其次,您需要运行的应用程序有多大?第一个问题很简单。然而,第二个有点模糊。让我们来分解一下。

当我们谈论应用程序有多“重”时,我们谈论的是它需要运行什么。从这个角度来看,文本编辑器非常轻量——它只需要很少的资源就可以高效运行。相反,视频编辑软件非常复杂,在大多数情况下需要强大的功能才能高效运行。虽然您的设备不太可能具体陷入这些场景中的任何一个,但它应该提供有关如何实现该概念的见解。

有时,外形因素会为您选择。如果您知道自己想要运行智能手机或平板电脑,那么您几乎肯定会考虑 ARM 处理器。如果您需要功能强大的信息亭或需要完整台式计算机的强大销售点系统,那么 x86 可能是更好的选择。

当然,这种哲学也有例外。例如,大多数现代 Apple 硬件(尤其是 iPad 和 Mac)都在 Apple 自己的 M 系列芯片上运行。这些基于 ARM 的芯片本质上弥补了 x86 和 ARM 芯片在性能方面的差距 - 它们是当今消费电子产品中最强大的处理器之一。

需要帮助确定 x86 还是 ARM 是否适合您的应用程序?

查看我们的深入资源,该资源比较了这些芯片架构的专用设备用例。

如何对 CPU 进行基准测试(以及如何正确进行)

如果您想衡量 CPU 性能,尤其是相对于其他 CPU 的性能,基准测试工具是量化该性能的最简单方法。基准测试是一种通过使用一系列标准工作负载测试来评估和测量给定工具(不仅是 CPU,还包括 GPU)性能的方法。这些通常涉及测量一系列指标的性能,包括单核和多核性能,并提供与类似进程或 GPU 的比较。

虽然这可能是一个有用的工具,但值得注意的是,许多公司,包括设备制造商和芯片制造商,都被发现“欺骗”CPU 基准测试,以提供比现实世界中可重复的更好的结果。因此,虽然您应该对基准测试结果持保留态度,但在衡量性能和比较结果时它们仍然有一席之地。

如果您有兴趣尝试一下,这里有一些关于如何充分利用基准测试工具的建议。

  • 标准化您的测试环境:尽最大努力保持所有可控变量受控。尝试比较相同操作系统和版本的 CPU(理想情况下,您每天都会使用的操作系统 - 例如,Windows 和 Android 基准测试非常不同)。保持软件配置尽可能相似,包括后台运行的任何应用程序、正常运行时间等。测试的物理环境也应该一致,因此拥有一个测试实验室是理想的选择。
  • 使用相同的工具:跨设备使用相同的基准测试软件将为您提供公平的测试环境。虽然在多个操作系统上测试同一处理器对于比较 CPU 性能来说并不理想,但在比较给定硬件在不同操作系统上的性能时却很有用。例如,如果您正在考虑将 Windows x86 系统转换为 Android,那么在两者上使用相同的基准测试工具将使您很好地了解哪个操作系统在相同的硬件上性能更好。
  • 监控热性能:许多 CPU 在温度升高时会限制性能,这可能会人为地影响性能 - 在基准测试时监控 CPU 的温度可以帮助您查明这一点。
  • 多次测试并保留完整的文档:单个基准测试是一个很好的起点,但性能并不是线性的。执行各种测试并记录和平均结果将使您对实际性能有更准确的了解。 

推荐的 CPU 基准测试工具

如今有多种基准测试工具可供使用,但它们的作用并不相同。这是一个需要考虑的软件的简短列表,但它绝不是详尽的。

  • Geekbench Geekbench 是一种标准基准测试工具,可测量 CPU 和 GPU 性能,可在 Windows、Android 和 iOS 上使用,以便跨操作系统进行快速比较。它测试单核和多核性能、内存等。 
  • 安兔兔基准测试:安兔兔是许多移动设备(包括 Android 和 iOS)的首选基准测试软件。它测试 CPU、GPU、内存和 UX。
  • PCMark PCMark 是一款“适用于现代办公”的强大基准测试工具。全套测试是为 Windows 设计的,但也提供 Android 版本来执行各种性能和电池寿命测试。3DMark 是一款 GPU 基准测试工具,属于 PCMark 系列的一部分,适用于 Windows、Android 和 iOS。

我们更喜欢使用 Geekbench 进行基准测试,因为它非常普遍。它涵盖了跨设备最常见的测试,并且其跨操作系统的广泛可用性使其成为测试各种用例的绝佳选择。

CPU 很复杂,但您不必单独处理

您可能已经意识到,选择合适的 CPU 不仅仅是看几个数字并说“越大越好,所以让我们选择这个”。这通常是许多设备旅程的起点,因此可能会让人不知所措。但这就是我们在这里的原因。无论您是尝试设置新的设备计划还是扩展组织内的现有设备计划,我们都会随时为您提供帮助。我们的硬件专家可以帮助您准确确定给定用例所需的内容 - 从 CPU 到其他。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论