中央处理器 (CPU) 是我们计算机的大脑。他们处理我们每天所做的一切,从打开应用程序到看电影。但究竟什么是 CPU?它是如何工作的?CPU 和日益流行的 vCPU 有什么区别?
了解计算机的大脑
根据G2 出版的完整历史指南,第一台电子计算机是在 1800 年代初期创建的。然而,这些计算机又大又贵,只能由训练有素的数学家和科学家使用。
查尔斯·巴贝奇因发明了第一台计算机差分机而受到赞誉,该计算机可以通过编程来执行任何可以手动完成的计算。然而,据计算机历史博物馆称,由于缺乏资金,差分机项目从未完成。
1937年,巴贝奇首先提到了分析机,这将成为世界上第一台通用机械计算机。“分析引擎包含现代计算机的所有元素:算术逻辑单元、条件分支和循环形式的控制流以及集成内存,”。
当今计算机的一个关键组件是 CPU 或中央处理单元。CPU负责执行诸如操作系统或应用程序等软件给它的指令。通俗地说,你可以把 CPU 想象成你电脑的大脑。CPU 由两个主要部分组成:控制单元和算术逻辑单元 (ALU)。如果这些缩写让您感到困惑,请参阅我们对 APU、CPU 和 GPU 有何不同的概述。
控制单元负责从内存中取出指令,对其进行解码,然后将其发送到算术逻辑单元执行。ALU 对存储在寄存器中的数据执行算术和逻辑运算,寄存器是 CPU 内部的存储单元。
现代CPU 还包含一个高速缓存,它是少量高速内存,用于存储经常使用的指令和数据。缓存分为等级;1 级 (L1) 高速缓存内置于 CPU 芯片本身,2 级 (L2) 高速缓存位于靠近 CPU 的单独芯片上,而 3 级 (L3) 高速缓存位于离 CPU 较远的芯片上,甚至位于自己的芯片上自己的电路板。
CPU 与 vCPU
随着云服务的兴起,出现了虚拟中央处理器,简称 vCPU。TechTarget 将 vCPU 定义为“分配给虚拟机 (VM) 的物理中央处理单元 (CPU)”。
虚拟机基本上是独立的操作系统,在另一个操作系统中运行,就好像它们是应用程序一样。VM 用于多种目的,例如在安全环境中测试新软件、在同一台计算机上运行多个操作系统(例如 Windows 和 Linux),或者将多个物理服务器整合到单个服务器中以节省空间和降低成本。
因此,vCPU 是 CPU 的软件实现;它不像真正的 CPU 那样实际存在于您的计算机中。虚拟机管理程序是创建和管理 VM 的软件,它将 vCPU 分配给虚拟机。VM 内的操作系统将每个 vCPU 视为真正的 CPU 内核。请参阅我们对虚拟机管理程序的解释以了解更多信息。
但是,由于 vCPU 是基于软件的,因此它们不如真正的 CPU 高效。因此,在购买计算机时指定处理器的核心数非常重要(例如,“四核”表示四个核心)。选择虚拟专用服务器 (VPS) 或专用服务器托管计划时也适用相同的规则。
CPU 和 vCPU 之间的主要区别在于 CPU 是基于硬件的,而 vCPU 是基于软件的。这意味着 CPU 物理存在于您的计算机中,而 vCPU 不存在;相反,它们是由管理程序在需要时创建的。由于实现上的这种差异,CPU 比 vCPU 效率更高;它们没有与在软件中运行相关的开销。
自 2000 年代初以来,vCPU 变得越来越流行,因为它们比物理 CPU 更便宜且更容易分配;但是,如果您正在寻找性能,最好使用具有多个 CPU 内核的计算机,因为每个内核都可以独立处理指令。
核心与线程
一个 CPU 可能有一个或多个核心,核心是在指定时间执行任务的处理单元。内核将维护任务执行顺序、寄存器和缓存(如果适用),并通过 ALU 执行操作。CPU 控制内核,但内核执行操作系统调度的每个软件进程或线程。线程是可由 CPU 处理的独立指令序列。
多个线程可以存在于同一个进程中并共享同一个内存空间。与在单独的进程中运行相比,这使它们能够更轻松地相互通信。线程通常用于通过允许程序的不同部分在不同的内核或处理器上同时运行来提高多线程应用程序的性能。
“线程”这个词在计算术语中已经使用了很多年。然而,直到 2000 年代初,处理器才引入了对线程的硬件级支持。这允许多个线程在不同的内核上同时执行。以前,无论处理器中有多少个内核,一次只能在单个内核上执行一个线程。多核处理器现在很常见,大多数操作系统都为以多线程运行程序提供了一定程度的支持。
总结核心问题
总而言之,CPU 是我们计算机的基于硬件的大脑,而它们的虚拟对应物 vCPU 是基于软件的,由管理程序创建以在虚拟机中运行。内核是 CPU 中基于硬件的处理单元,而线程是 CPU 可以处理的基于软件的指令。
线程可以在不同的内核上同时执行,这允许程序的不同部分同时运行。这可以提高硬件性能,因为可以同时处理多个任务而不是顺序处理。
现在您了解了 CPU、vCPU、内核和线程之间的区别,您可以在选择计算机或服务器时做出明智的决定。如果您正在寻找性能,最好选择具有多个 CPU 内核的计算机,因为每个内核都可以独立处理指令。但是,如果您正在寻找具有成本效益的解决方案,vCPU 可能是您的最佳选择。
最新评论