萌新扫盲10—CPU知多少~

在选购计算机时,CPU是需要考虑到核心因素,它决定了电脑的性能等级。CPU从早期的单核,到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面就来解释一下CPU相关知识:


CPU个数:即CPU芯片个数

CPU核心数:指物理上,即硬件上存在着几个核心。例:双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。

线程数:一种逻辑的概念,简单地说,就是模拟出的CPU核心数。例如:可以通过一个CPU核心数模拟出2线程的CPU,即这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。 

就像现在使用的Inte l赛扬G460是单核心,双线程的CPU;Intel 酷睿i3 3220是双核心 四线程;Intel 酷睿i7 4770K是四核心 八线程;Intel 酷睿i5 4570是四核心 四线程等。 对于一个CPU,线程数总是大于或等于核心数的。一个核心最少对应一个线程,但通过超线程技术,一个核心可以对应两个线程,也就是说它可以同时运行两个线程。

 注:CPU线程数概念仅针对Intel的CPU才有用,因为它是通过Intel超线程技术来实现的,最早应用在Pentium4上。如果没有超线程技术,一个CPU核心对应一个线程。所以对于AMD的CPU来说,只有核心数的概念,没有线程数的概念。


CPU之所以要增加线程数,是源于多任务处理的需要。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。 因此,线程数是一种逻辑的概念,简单地说,就是模拟出的 CPU 核心数。一个核心最少对应一个线程,但英特尔有个超线程技术可以把一个物理线程模拟出两个线程来用,充分发挥 CPU 性能,即一个核心可以有两个到多个线程。

设计决定,intel给他的x86设计了逻辑线程=2*物理核心数,ibm的power8是逻辑线程=8*物理核心数

Hyper-Threading,超线程


多核心cpu主要分原生多核和封装多核。

  原生多核指的是真正意义上的多核,最早由AMD提出,每个核心之间都是完全独立的,都拥有自己的前端总线,不会造成冲突,即使在高负载状况下,每个核心都能保证自己的性能不受太大的影响,通俗来说,原生多核的抗压能力强,但是需要先进的工艺,每扩展一个核心都需要很多的研发时间。
  封装多核是只把多个核心直接封装在一起,比如Intel早期的PD双核系列,就是把两个单核直接封装在一起,但两核心只能共同拥有一条前端总线,在两个核心满载时,两个核心会争抢前端总线,导致性能大幅度下降,所以早期的PD被扣上了“高频低能”的帽子,要提高封装多核的性能,在多任务的高压下尽量减少性能损失,只能不断的扩大前端总线的总体大小,来弥补多核心争抢资源带来的性能损失,但这样做只能在一定程度上弥补性能的不足,和原生的比起来还是差了很多,而且后者成本比较高,优点在于多核心的发展要比原生快的多。

 

核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构一级缓存二级缓存、执行单元、指令级单元和总线接口逻辑单元都会有科学的布局。

双内核应该具备两个物理上的运算内核

HT技术超线程技术,是造就了PENTIUM 4的一个辉煌时代的武器,尽管它被评为失败的技术,但是却对P4起一定推广作用,双核心处理器是全新推出的处理器类别;HT技术是在处理器实现2个逻辑处理器,是充分利用处理器资源,双核心处理器是集成2个物理核心,是实际意义上的双核心处理器。

多核心处理器英语:Multi-core processor),又称多核心微处理器,是在单个计算组件中,加入两个或以上的独立实体中央处理单元(简称核心,英语:Core)。这些核心可以分别独立地运行程序指令,利用并行计算的能力加快程序的运行速度。只有两个核心的处理器,称为双核心处理器(dual-core processor)。“多核心”通常是对于中央处理器(Central Processing Unit,CPU)而论的,但是某些时候也指数字信号处理器(DSP)和系统芯片(SoC)。

通常,把将两个或更多独立处理器封装在一个单一集成电路(IC)中的方案称为多核心处理器;而封装在不同IC中的独立处理器形成的计算机系统被称为多处理器

多核心处理器!=多处理器

多核心处理器可以在不将每个核心分别独立物理封装的情况下进行多任务处理(线程级并发处理Thread-Level Parallelism,TLP),这种形式的TLP通常被认为是芯片级多处理)。


在Windows中,用cmd命令中输入“wmic”,在出现的新窗口中分别输入:

“cpu get Name”

“cpu get NumberOfCores”

“cpu get NumberOfLogicalProcessors”即可查看物理CPU数、CPU核心数、线程数。

如下图:


Name:表示物理CPU数 
NumberOfCores:表示CPU核心数 
NumberOfLogicalProcessors:表示CPU线程数
注释:VM虚拟机中的CPU选择的核心数实际是代表线程数。

输入“cpu get *”也可

2.在cmd命令中输入“systeminfo”,以下信息表示物理CPU有两个




阅读更多

没有更多推荐了,返回首页