一:一台计算机包含五个模块,控制器,运算器,存储器,输入,输出。而控制器+运算器+寄存器+cpu内部总线就是中央处理器(CPU)。CPU的根本,是执行指令。对计算器来说,所有的指令都是由0,1组成的,所有的指令可以统分为控制单元,运算单元,存储单元。
二:中央处理器(CPU)经历了50多年的发展了,目前较为前列的是英特尔的酷睿系列处理器和ADM的锐龙系列处理器。这二者处理器指的就是CPU,一块处理器对应的是一块CPU。
三:一块CPU可以有多块核心,例如CPU单核,CPU双核,CPU8核,10核的。核心越多,代表CPU可并行执行的能力越强,效率越高。
我这个就是单CPU 10核的计算器。多CPU一般在服务器上使用,大部分的笔记本或者主机使用的都是单CPU的。
还有一点,不是只有多核心的CPU才被允许进行线程/进程并行处理,哪怕是单CPU,单核的设备也是可以进行程序的并行的,只不过底层使用的会是时间片轮转的方式,分时进行程序运行。
四:计算器除了能将数据储存到内存中,还有高性能计算中可能会用到CPU缓存的概念。CPU缓存位于Cpu与内存之间的临时数据交换器中。
CPU缓存分为三级:
L1:速度最快,容量最小(32k),一个核心往往有两个L1缓存。一个用于数据缓存,一个用于指令缓存。
L2:速度次之,容量中等(256k),一个核心有一个L2缓存。
L3:速度最慢,容量最大(3M),一般一个CPU插槽共用一个L3缓存。
CPU缓存数字越小,运行速度越接近CPU,运行速度越快。
五:CPU除了有物理层面的CPU内核(能看得见摸着着的),在CPU内核下又有逻辑内核
逻辑内核又称逻辑CPU,逻辑处理器,CPU线程。
逻辑内核是虚拟的单元(属于逻辑层面,只被操作系统可见的),是CPU内核所能支持并行运行的线程数量。它帮助CPU更高效的执行任务。
问:那么CPU内核与逻辑内核的数量是1:1的吗?
答:不是的,逻辑内核的数量取决于该CPU内核支不支持超线程,如果该核不支持超线程那么一个CPU内核就对应一个逻辑内核,如果该核支持超线程,那个该CPU内核有两个逻辑内核!
以我本机为例:
问:我有一个CPU,10个CPU内核,16个逻辑内核,那么有几个支持超线程呢?
答:(6*2)+ 4 = 16,即6个CPU内核支持超线程,4个不支持超线程,最终的逻辑内核就是16个,也就是CPU支持的线程数量是16个。
六:大小核
问:什么是大小核?
答:CPU内核分为性能核(performance cores)与效率核(cfficient cores),也就是P(大)核与E(小)核,P核支持超线程(有两个逻辑内核),E核不支持超线程(只有一个逻辑内核)。
例如:如果你有一个CPU,4个CPU内核。
如果你的核心都是P核,那么:逻辑内核=1*(4 * 2) = 8 ;
如果你的核心都是E核,那么:逻辑内核=1*(4 * 1) = 4 ;
如果你的核心是2个P核,2个E核,那么:逻辑内核=1*(2 * 2 + 2 * 1) = 6 ;
我们除了可以查看Windows下的电脑配置(Ctrl + Shift + Ese:打开任务管理器,进入性能可以查看),还可以通过指令查看Linux下的电脑配置。
在Linux环境下输入:lscpu
可以自行查看对应的CPU,CPU内核,逻辑内核。
七:CPU频率
CPU频率是指CPU内部的数字时钟信号频率,又称时钟频率。
时钟频率是由一系列的脉冲信号组成,是按一定的电压幅度,时间间隔组成的方波信号,周期性的在0、1间变化。
现有的CPU频率量级基本在GHz,也就是每秒能执行1 * 10^9条指令。
时钟信号与周期二者互为相反数,f = 1 / t。
另外补充一点电脑的基本组成部件:
CPU+显卡+主板+硬盘+内存+机箱+风扇+电源+显示器