核心和处理器的区别是什么?

我已经在谷歌上找过了,但我只得到多核和多处理器的定义,这不是我要找的。


当前回答

CPU是中央处理单元。自2002年以来,我们只有单核处理器,也就是说,我们一次只能执行一个任务或一个程序。

为了同时运行多个程序,我们必须使用多个处理器同时执行多个进程,因此我们需要另一个主板,这是非常昂贵的。

因此,英特尔引入了超线程的概念,即它将单个CPU转换为两个虚拟CPU,即我们的任务有两个内核。现在CPU是单个的,但它只是假装(伪装)它有一个双CPU并执行多个任务。但是拥有真正的多核会比这更好,所以人们开发了多核处理器,即在一个盒子上安装多个处理器,即在一个大CPU上安装多个CPU。即多核。

其他回答

英特尔的图片很有帮助,正如Tortuga的最佳答案所示。这是它的标题。

Processor: One semiconductor chip, the CPU (central processing unit) seated in one socket, circa 1950s-2010s. Over time, more functions have been packed onto the CPU chip. Prior to the 1950s releases of single-chip processors, one processor might have spread across multiple chips. In the mid 2010s the system-on-a-chip chips made it slightly more sketchy to equate one processor to one chip, though that's generally what people mean by processor, as in "this computer has an i7 processor" or "this computer system has four processors."

核心:CPU的一个块,一次执行一条指令。(你会看到人们说每个时钟周期一条指令,但有些cpu对某些指令使用多个时钟周期。)

我已经阅读了所有的答案,但是这个链接对我来说更清楚地解释了CPU(处理器)和核心之间的区别。所以我在这里留下了一些笔记。

CPU和核心的主要区别在于,CPU是计算机内部的电子电路,执行算术、逻辑、控制和输入/输出操作的指令,而核心是CPU内部的执行单元,接收和执行指令。

核心通常是CPU的基本计算单元——它可以运行单个程序上下文(如果它支持硬件线程,如Intel CPU上的超线程,则可以运行多个程序上下文),维护正确的程序状态、寄存器和正确的执行顺序,并通过alu执行操作。出于优化的目的,内核还可以保存带有常用内存块副本的内核缓存。

CPU可以有一个或多个内核在给定时间执行任务。这些任务通常是操作系统调度的软件进程和线程。请注意,操作系统可能有许多线程要运行,但CPU在给定时间只能运行X个这样的任务,其中X =核数*每个核的硬件线程数。其余的将不得不等待操作系统调度它们,无论是通过抢占当前正在运行的任务还是任何其他方式。

In addition to the one or many cores, the CPU will include some interconnect that connects the cores to the outside world, and usually also a large "last-level" shared cache. There are multiple other key elements required to make a CPU work, but their exact locations may differ according to design. You'll need a memory controller to talk to the memory, I/O controllers (display, PCIe, USB, etc..). In the past these elements were outside the CPU, in the complementary "chipset", but most modern design have integrated them into the CPU.

此外,CPU可能有一个集成的GPU,以及几乎所有设计师想要保持接近的性能、功耗和制造方面的考虑。CPU设计主要趋向于所谓的片上系统(SoC)。

这是一种“经典”设计,被大多数现代通用设备(客户端PC、服务器、平板电脑和智能手机)所使用。你可以找到更精细的设计,通常在学院,那里的计算不是在基本的“核心”单元中完成的。

一幅图可以胜过千言万语:

图中描述了现代多处理器、多核系统的复杂性。

来源:

https://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization

CPU是中央处理单元。自2002年以来,我们只有单核处理器,也就是说,我们一次只能执行一个任务或一个程序。

为了同时运行多个程序,我们必须使用多个处理器同时执行多个进程,因此我们需要另一个主板,这是非常昂贵的。

因此,英特尔引入了超线程的概念,即它将单个CPU转换为两个虚拟CPU,即我们的任务有两个内核。现在CPU是单个的,但它只是假装(伪装)它有一个双CPU并执行多个任务。但是拥有真正的多核会比这更好,所以人们开发了多核处理器,即在一个盒子上安装多个处理器,即在一个大CPU上安装多个CPU。即多核。