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