阅读了大量链接后,我发现 CPU、处理器、核心等简单定义之间有太多重叠,这令我感到困扰。
https://stackoverflow.com/questions/19225859/difference-between-core-and-processor
首先我们来明确一下什么是CPU,什么是核心,一个中央处理器CPU,可以有多个核心单元,这些核心本身就是一个处理器,能够执行程序,但它在同一芯片上是自包含的。
CPU,即中央处理器,通常被称为处理器。
那么是哪一个呢?
CPU(中央处理器)包含(1-多个)核心。每个核心都可以根据超线程技术执行(1-多个)线程 - 可以说它执行实际的计算。
那么什么是处理器?它是指 CPU 还是整个芯片?它是指 CPU 上的一个核心吗?多处理器/多核到底是什么意思?它们是同义词吗?
答案1
是的,处理器是一个通用术语,用于描述任何类型的 CPU,无论其核心数是多少。CPU 也是如此,它并不意味着单核或多核,可以用于指代两者。
中央处理器 (CPU) 是计算机内的电子电路,它通过执行指令指定的基本算术、逻辑、控制和输入/输出 (I/O) 操作来执行计算机程序的指令。该术语至少自 20 世纪 60 年代初以来就已在计算机行业使用。传统上,“CPU”一词是指处理器,更具体地说是指其处理单元和控制单元 (CU),以将这些计算机的核心元件与主存储器和 I/O 电路等外部组件区分开来。
使用多核处理器可以提高计算机的处理性能,多核处理器本质上是将两个或多个单独的处理器(在此意义上称为核心)插入一个集成电路。理想情况下,双核处理器的性能几乎是单核处理器的两倍。实际上,由于软件算法和实现不完善,性能增益要小得多,只有 50% 左右。增加处理器中的核心数量(即双核、四核等)会增加可处理的工作负载。这意味着处理器现在可以处理大量异步事件、中断等,当这些事件不堪重负时,可能会对 CPU 造成损害。这些核心可以被认为是加工厂的不同楼层,每个楼层处理不同的任务。有时,如果单个核心不足以处理信息,这些核心将处理与相邻核心相同的任务。
由于现代 CPU 的特定功能(例如超线程和非核心)涉及共享实际 CPU 资源同时旨在提高利用率,因此监控性能水平和硬件利用率逐渐成为一项更为复杂的任务。
然而,多处理器系统则有所不同。这指的是主板支持 1 个以上处理器的计算机(通常为 2 到 8 个 CPU,但有些超级计算机使用特殊硬件,允许在单个主板上使用更多处理器)。这里有一个问题,多处理器计算机可以(并且通常会)使用多核 CPU。例如,我构建了几个多处理器服务器,它们有两个 IntelXeon 5560 四核 CPU。这款 CPU 提供了一种称为超线程的技术。超线程是一种将 4 个(四核)内核虚拟地分成两半的技术,这样实际上每个 CPU 总共有 8 个内核。由于每个 CPU 都有 8 个内核,并且采用超线程技术,而且系统是多处理器的,因此最终结果是系统有 16 个内核。每个内核都可以独立于其他内核处理线程,这意味着您处理信息的能力比使用单个 CPU 时强大得多。
答案2
处理器是一个很难定义的术语,像许多词一样,它取决于其使用的上下文。
A处理器定义为词典网是
计算设备的关键组件,包含解释和执行输入到设备中的电信号所需的电路
因此,从某种意义上说,计算机有许多“处理器”。从为计算机完成大部分“思考”任务的 CPU 到 GPU(驱动显示器),从技术上讲,所有东西都是处理器。
至于核心,许多现代 CPU(在撰写本文时)由多个处理器组成。这样可以提高性能,因为工作在核心之间分配。CPU(中央处理器) 只是指操作系统看待 CPU 的方式——将其视为一个根据需要处理信息的实体。
即多核CPU有多个核心(不包括超线程),而单核CPU则没有。
超线程则完全是另一番景象。
它允许操作系统同时运行多个独立任务,这通常会带来更高的性能,但并非所有 CPU 都具备此功能