内核和处理器有什么区别?
我已经在谷歌上找过了,但我只得到了多核和多处理器的定义,这不是我要找的。
内核通常是 CPU 的基本计算单元——它可以运行单个程序上下文(如果它支持硬件线程,例如 Intel CPU 上的超线程,则可以运行多个程序上下文),保持正确的程序状态、寄存器和正确的执行顺序,以及通过 ALUs 执行操作。出于优化目的,核心还可以保存带有常用内存块副本的核心缓存。
CPU 可能有一个或多个内核来在给定时间执行任务。这些任务通常是操作系统调度的软件进程和线程。请注意,操作系统可能有许多线程要运行,但 CPU 在给定时间只能运行 X 个这样的任务,其中 X = 核心数 * 每个核心的硬件线程数。其余的将不得不等待操作系统通过抢占当前正在运行的任务或任何其他方式来安排它们。
除了一个或多个内核之外,CPU 还包括一些将内核连接到外部世界的互连,通常还包括一个大型的“最后一级”共享缓存。使 CPU 工作还需要多个其他关键元素,但它们的确切位置可能因设计而异。您需要一个内存控制器来与内存、I/O 控制器(显示器、PCIe、USB 等)通信。在过去,这些元素在 CPU 之外,在互补的“芯片组”中,但大多数现代设计都将它们集成到 CPU 中。
此外,CPU 可能有一个集成的 GPU,以及设计人员出于性能、功率和制造方面的考虑而想要保持的几乎所有其他东西。 CPU 设计主要趋向于所谓的 system on chip (SoC)。
这是一种“经典”设计,被大多数现代通用设备(客户端 PC、服务器以及平板电脑和智能手机)使用。您可以找到更精细的设计,通常是在学院中,计算不是在基本的“类核心”单元中完成的。
一张图片可能会说一千多个单词:
https://i.stack.imgur.com/RaFrm.png
* 图描述了现代多处理器、多核系统的复杂性。
资源:
Open images in new tab
然后使用 cltr
+ +
放大
让我们首先澄清一下什么是CPU,什么是核心,中央处理单元CPU,可以有多个核心单元,这些核心本身就是一个处理器,能够执行程序但它自包含在同一个芯片上。
过去,一个 CPU 分布在多个芯片中,但随着 Moore's Law 的发展,他们在一个芯片(裸片)中拥有完整的 CPU,自 90 年代以来,制造商开始在同一个裸片中安装更多内核,所以这是多核的概念。
如今,在同一个 CPU(芯片或芯片)GPU、Intel Xeon 上可能拥有数百个内核。 90 年代开发的其他技术是同时多线程,基本上他们发现可以在同一个单核 CPU 中拥有另一个线程,因为大多数资源已经像 ALU、多个寄存器一样重复。
所以基本上一个 CPU 可以有多个核心,每个核心都能够同时运行一个或多个线程,我们可能期望未来有更多的核心,但更难高效编程。
CPU是中央处理单元。自 2002 年以来,我们只有单核处理器,即我们一次只能执行一个任务或一个程序。
为了同时运行多个程序,我们必须使用多处理器一次执行多个进程,因此我们需要另一块主板,这非常昂贵。
因此,英特尔引入了超线程的概念,即将单个 CPU 转换为两个虚拟 CPU,即我们有两个内核来完成我们的任务。现在 CPU 是单 CPU,但它只是假装(伪装)它有一个双 CPU 并执行多个任务。但是拥有真正的多核会比这更好,因此人们开发制造多核处理器,即在一个盒子上多个处理器,即在单个大 CPU 上抓取多个 CPU。即多核。
在早期......就像 90 年代之前......处理器无法高效地执行多项任务......因为单个处理器只能处理单个任务......所以当我们过去常说我的杀毒软件、微软 word、vlc 等。软件都在同一时间运行......这实际上不是真的。当我说处理器一次可以处理一个进程时……我是认真的。它实际上会处理一个任务......然后它曾经暂停该任务......接受另一个任务......如果它很短,或者再次暂停它并将其添加到队列中......然后是下一个。但是我提到的这个“暂停”是如此之小(大约 1ns),以至于您不明白任务已暂停。例如。在 vlc 上,一边听音乐一边运行其他应用程序,但正如我告诉你的那样......一次一个程序......所以 vlc 实际上在 ns 之间暂停,所以你不要理解它,但音乐实际上是停止之间。
但这是关于旧处理器的......
现在的处理器,即第 3 代 pc 具有多核处理器。现在,“内核”可以与第一代或第二代处理器本身进行比较……嵌入到单个芯片、单个处理器上。所以现在我们了解了什么是内核,即它们是迷你处理器,它们组合成一个处理器。并且每个内核可以一次处理单个进程或为操作系统设计的多线程。他们遵循我上面提到的关于单处理器的相同步骤。
例如。 i7 6gen 处理器有 8 个内核...即 1 个 i7 中有 8 个迷你处理器...即它的速度是旧处理器的 8 倍。这就是多任务处理的方式。
单个处理器中可能有数百个内核,例如。英特尔 i128。
我希望我能很好地解释这一点。
我已阅读所有答案,但这个 link 对我来说更清楚地解释了 CPU(处理器)和核心之间的区别。所以我要在这里留下来自 there 的一些笔记。
CPU与Core之间的主要区别在于,CPU是计算机内部的电子电路,它执行指令以执行算术,逻辑,控制和输入/输出操作,而内核是CPU内部的执行单元,用于接收和执行指令。
https://i.stack.imgur.com/NIWw9.png
英特尔的图片很有帮助,如 Tortuga 的最佳答案所示。这是它的标题。
处理器:一个半导体芯片,CPU(中央处理器)安装在一个插槽中,大约在 1950 年代至 2010 年代。随着时间的推移,更多的功能被打包到 CPU 芯片上。在 1950 年代发布的单芯片处理器之前,一个处理器可能分布在多个芯片上。在 2010 年代中期,片上系统芯片使得将一个处理器等同于一个芯片变得更加粗略,尽管这通常是人们所说的处理器,例如“这台计算机有一个 i7 处理器”或“这台计算机系统”有四个处理器。”
核心:CPU 的一个块,一次执行一条指令。 (你会看到人们说每个时钟周期一条指令,但有些 CPU 对某些指令使用多个时钟周期。)
不定期副业成功案例分享
/proc/cpuinfo
,我看到了 16 行processor:
,尽管它显示的是model: AMD Ryzen 7 2700X Eight-Core Processor
。因此,至少在这种情况下,8 个“核心”中的每一个都有两个“处理器”,这与这里的其他一些答案不一致。