核心和处理器之间的区别?

Saa*_*lal 183 cpu core cpu-architecture

核心和处理器之间有什么区别?

我已经在谷歌上找了它,但我只是有多核和多处理器的定义,但它与我想要的并不匹配.

Lee*_*eor 184

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

CPU可以具有一个或多个核以在给定时间执行任务.这些任务通常是操作系统安排的软件进程和线程.请注意,操作系统可能有许多线程要运行,但CPU只能在给定时间运行X这样的任务,其中X =数字核心*每个核心的硬件线程数.其余的必须等待操作系统安排他们是否通过抢占当前正在运行的任务或任何其他方式.

除了一个或多个内核之外,CPU还将包含一些将内核连接到外部世界的互连,通常还包括一个大型"最后一级"共享缓存.使CPU工作需要多个其他关键元素,但它们的确切位置可能因设计而异.您需要一个内存控制器来与内存,I/O控制器(显示器,PCIe,USB等)通信.在过去,这些元件在CPU之外,在互补的"芯片组"中,但大多数现代设计已将它们集成到CPU中.

此外,CPU可能具有集成GPU,以及设计人员希望在性能,功耗和制造方面考虑的其他所有内容.CPU设计主要趋向于所谓的片上系统(SoC).

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

  • @Nrj,如果您运行一个单线程应用程序,它将被分配给一个核心,并仅在其上激活一个硬件线程。该线程将能够利用该内核的100%,因为没有其他线程与之一起运行。如果激活另一个应用程序,则通常会将其分配给另一个内核,依此类推,直到饱和内核数量为止。除此之外,还将使用SMT将任何其他线程再次调度到相同的内核。届时,核心利用率将在2个线程之间分配(如果它们对称运行,则每个线程可能会达到〜50%) (2认同)

Joh*_*ugo 118

一张图片可能会说超过一千个字:

图像可以说超过一千个单词

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

  • 对于像蚂蚁这样的小动物,它可能会说超过一千个单词. (113认同)
  • 我没有任何反对使用图像的东西,但至少你可以做出进一步的解释,而不仅仅是复制/粘贴图像. (12认同)
  • 我希望我能读到核心所说的有趣之处 (5认同)
  • @Sky 小心蚂蚁...#hunter_x_hunter :3 (2认同)

Ger*_*aro 28

让我们首先阐明什么是CPU,什么是核心,一个中央处理单元CPU,可以有多个核心单元,这些核心本身就是一个处理器,能够执行一个程序,但它是自包含在同一芯片上的.

在过去,一个CPU分布在相当多的芯片中,但随着摩尔定律的发展,他们在一个芯片(芯片)内部制造了一个完整的CPU,因为90年代制造商开始在同一个芯片中安装更多的芯片,所以这就是多核的概念.

在这些日子里,可以在相同的CPU(芯片或芯片)GPU,Intel Xeon上拥有数百个内核.90年代开发的其他技术是同步多线程,基本上他们发现可以在同一个单核CPU中使用另一个线程,因为大多数资源已经像ALU一样重复,多个寄存器.

所以基本上CPU可以有多个核心,每个核心能够同时运行一个或多个线程,我们可能希望将来有更多核心,但是能够有效编程更难.

  • 它们是研发微处理器,数量为+100核心,还有一些正在生产中看看:http://www.tomshardware.com/forum/318101-28-which-maximum-cores-cores (2认同)

小智 9

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

由于一次运行多个程序,我们必须使用多个处理器一次执行多个进程,因此我们需要另一个主板,这非常昂贵.

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

  • 2002年究竟发生了什么? (11认同)

小智 5

在早期......就像在 90 年代之前......处理器无法高效地执行多任务......因为单个处理器只能处理一个任务......所以当我们过去常说我的杀毒软件、微软word、vlc等。软件都在同一时间运行......这实际上不是真的。当我说一个处理器可以一次处理一个进程时……我是认真的。它实际上会处理一个任务......然后它用来暂停该任务......采取另一个任务......如果它很短就完成它或再次暂停它并将其添加到队列......然后是下一个。但是我提到的这个“暂停”太小了(大约 1ns),以至于你不明白任务已经暂停。例如。在听音乐时在 vlc 上有其他应用程序同时运行,但正如我告诉你的......一次一个程序......

但这是关于旧处理器...

现在的处理器,即第三代个人电脑具有多核处理器。现在,“核心”可以与第一代或第二代处理器本身进行比较……嵌入到单个芯片、单个处理器中。所以现在我们了解了什么是核心,即它们是组合成处理器的迷你处理器。每个内核可以一次处理一个进程或多线程,就像为操作系统设计的那样。他们遵循与我上面提到的关于单处理器相同的步骤。

例如。i7 6gen 处理器有 8 个内核……即 1 个 i7 中有 8 个迷你处理器……即其速度是旧处理器的 8 倍。这就是多任务处理的方式。

单个处理器中可能有数百个内核。英特尔 i128。

我希望我解释得很好。


fgu*_*gul 5

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

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

在此输入图像描述