Physical CPU、Logical CPU、Core、Thread、Socket

本文详细解释了物理CPU、逻辑CPU、核心、线程和插槽等CPU相关概念,强调了超线程技术的工作原理,指出一个四核处理器通常优于四个单核处理器,并介绍了如何通过`lscpu`命令查看系统CPU信息。超线程技术允许单核处理器展现双逻辑CPU能力,但不等于提供双倍计算能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Differences between physical CPU vs logical CPU vs Core vs Thread vs Socket

物理CPU (physical CPU)、 逻辑CPU(logical CPU)、虚拟CPU(virtual CPU)、核数(core)、线程数(thread)、颗数(socket)等。

  1. 多个 CPU 芯片插在插槽上,通过系统总线通信。慢!
  2. 为了解决 1 中问题,发明了 Hyper Threading(超线程技术),在 CPU 芯片内部具有多份其它计算资源(寄存器、缓存)供 CPU 能够准备多个工作,通信在 CPU 芯片内部,如果某个进程阻塞,那么换另一个进程占用 CPU 计算即可。(提供了两个虚拟或者lCPU,让人误以为“同时”执行两个进程,该技术无法提供两个 CPU 算力,也并非真正意义上的并行计算),超线程技术并不是两个独立的物理处理器。
    因此,从Linux或者其他操作系统的角度来看:一个单核处理器却展现出拥有两个处理器的能力。 只不过这两个逻辑cpu运行在同一个物理cpu内部而已。
    在这里插入图片描述
Hyper Threading

说一些对这张图的理解,在一个物理cpu内部,存在两组寄存器,分别属于一个逻辑CPU,但是只存在一组ALU(算数逻辑单元),如果每一个逻辑cpu上运行一个进程,那么这两个进程间的通信就完全在CPU内部,无需通过系统总线,但是从唯一的ALU上我们也能看出来实际上是无法真正意义上同时执行两个进程的,(因为运算单元只有一个)

  1. 实现在同一个芯片上存在多个处理器。在同一个芯片上的每一个处理器称之为 core,芯片内部存在总线沟通各个核。
    在这里插入图片描述

注:我们常说的几颗几核的含义: Core(核)代表一个独立的cpu, Socket(颗) 本意是插槽,代表一个主板上的芯片,多核架构就是在一个芯片上放多个处理器,就像上面说的那样, 所以如果我们说2颗4核,代表主板上有2个芯片插槽,每个芯片上存在4个cpu,所以我们有8个物理cpu,如果存在超线程,我们还可能多出8个逻辑cpu,总共16个逻辑cpu。

从性能上来说, 一个一颗四核的处理器要更优于四个一颗一核(也就是传统的单核CPU)的处理器。

1 lCPU = 1 thread

有时候我们会发现处理器标称每核有4线程,2线程或类似的说法,简单来说这就是指每核cpu上能够“同时”运行的线程或进程数(注意同时依旧加了引号),基本上就是一个逻辑cpu(LCPU)能运行一个进程或线程。如果每核能执行2个或更多的线程,那么一定使用了超线程技术,否则每一核就只能运行一个线程或进程。

lCPU or vCPU

虚拟CPU基本等同于逻辑CPU,但是存在一点不同:虚拟CPU更多的是限定在计算虚机化的语境内。一个宿主机上的逻辑cpu就映射为一个虚拟机内部的虚拟CPU,所以他们基本上是同一个术语。

jiaming@jiaming-System-Product-Name:~$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1 # 每核可以运行1个超线程,即每个core对应1个lcpu
Core(s) per socket:  4 # 4 cores/颗 4个alu
Socket(s):           1 # 1 颗 (one chip)
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               158
Model name:          Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
Stepping:            9
CPU MHz:             838.802
CPU max MHz:         3800.0000
CPU min MHz:         800.0000
BogoMIPS:            6799.81
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            6144K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jia ming

感谢欣赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值