一、概念

1. CPU个数

CPU个数即CPU芯片个数。

一块芯片包含多个核心

 

2、CPU的核心数(内核数)

CPU的核心数是指物理上,也就是硬件上存在着几个核心。

比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。依次类推。

 

 3、线程数(逻辑处理器)

线程数是一种逻辑的概念,也就是模拟出的CPU核心数。

例如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。

linux cpu 个数、核心数、线程数_Linux教程

 

 

比如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*物理核心数

 

 

二、CPU组成

1、逻辑部件

英文Logic components;运算逻辑部件。

可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。

 

2、寄存器

寄存器部件,包括寄存器、专用寄存器和控制寄存器。

通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。

通用寄存器是中央处理器的重要部件之一。

 

3、控制部件

英文Control unit;控制部件,主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。

其结构有两种:

  • 一种是以微存储为核心的微程序控制方式;
  • 一种是以逻辑硬布线结构为主的控制方式。

 

 

三、单核CPU、多核CPU、超线程

1. 单核CPU

linux cpu 个数、核心数、线程数_Linux系统_02

2. 多核CPU

linux cpu 个数、核心数、线程数_Linux教程_03

3. 多核CPU超线程

linux cpu 个数、核心数、线程数_Linux系统_04

 

 

https://www.cnblogs.com/kimsimple/p/7787018.html

https://blog.csdn.net/aganliang/article/details/94836080

https://zhidao.baidu.com/question/1308455482556692539.html