核心和处理器的区别是什么?
我已经在谷歌上找过了,但我只得到多核和多处理器的定义,这不是我要找的。
核心和处理器的区别是什么?
我已经在谷歌上找过了,但我只得到多核和多处理器的定义,这不是我要找的。
当前回答
让我们先弄清楚什么是CPU,什么是核心,一个中央处理单元CPU,可以有多个核心单元,这些核心本身就是一个处理器,能够执行一个程序,但它是独立在同一个芯片上的。
在过去,一个CPU分布在相当多的芯片中,但随着摩尔定律的发展,他们在一个芯片(模具)中有一个完整的CPU,自90年代以来,制造商开始在同一个模具中安装更多的内核,所以这就是多核的概念。
在这些日子里,有可能在同一个CPU(芯片或芯片)gpu上有数百个内核,英特尔至强。90年代开发的另一项技术是同步多线程,基本上他们发现在同一个单核CPU中有另一个线程是可能的,因为大多数资源已经重复了,比如ALU,多个寄存器。
所以基本上一个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、服务器、平板电脑和智能手机)所使用。你可以找到更精细的设计,通常在学院,那里的计算不是在基本的“核心”单元中完成的。
让我们先弄清楚什么是CPU,什么是核心,一个中央处理单元CPU,可以有多个核心单元,这些核心本身就是一个处理器,能够执行一个程序,但它是独立在同一个芯片上的。
在过去,一个CPU分布在相当多的芯片中,但随着摩尔定律的发展,他们在一个芯片(模具)中有一个完整的CPU,自90年代以来,制造商开始在同一个模具中安装更多的内核,所以这就是多核的概念。
在这些日子里,有可能在同一个CPU(芯片或芯片)gpu上有数百个内核,英特尔至强。90年代开发的另一项技术是同步多线程,基本上他们发现在同一个单核CPU中有另一个线程是可能的,因为大多数资源已经重复了,比如ALU,多个寄存器。
所以基本上一个CPU可以有多个内核,每个内核都能够同时运行一个或多个线程,我们可能会期望将来有更多的内核,但更难以有效地编程。
In the early days...like before the 90s...the processors weren't able to do multi tasks that efficiently...coz a single processor could handle just a single task...so when we used to say that my antivirus,microsoft word,vlc,etc. softwares are all running at the same time...that isn't actually true. When I said a processor could handle a single process at a time...I meant it. It actually would process a single task...then it used to pause that task...take another task...complete it if its a short one or again pause it and add it to the queue...then the next. But this 'pause' that I mentioned was so small (appx. 1ns) that you didn't understand that the task has been paused. Eg. On vlc while listening to music there are other apps running simultaneously but as I told you...one program at a time...so the vlc is actually pausing in between for ns so you dont underatand it but the music is actually stopping in between.
但这是关于旧的处理器……
现在的处理器,即第三代个人电脑有多核处理器。现在的“核心”可以比作第一代或第二代处理器……嵌入到一个芯片上,一个处理器上。所以现在我们明白了什么是核心,即它们是结合成处理器的迷你处理器。每个核心可以一次处理单个进程或为操作系统设计的多线程。它们遵循的步骤与我上面提到的关于单处理器的步骤相同。
如。i7 6gen处理器有8核…1个i7里有8个迷你处理器…它的速度是旧处理器的8倍。这就是多任务处理的方法。
单个处理器中可能有数百个内核 如。英特尔i128。
我希望我解释得很好。
一幅图可以胜过千言万语:
图中描述了现代多处理器、多核系统的复杂性。
来源:
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。即多核。