CPU相关概念:物理cpu数、核数、逻辑cpu数,12核20线程实例分析

article/2025/10/25 9:56:44

文章目录

  • 0. 写此篇博客的原因
  • 1. 物理CPU,核,逻辑CPU概念
    • 1.1 内核工作方式
    • 1.2 超线程
    • 1.3 什么是大小核
  • 2. CPU信息的查询方法
    • 2.1 Windows下查询CPU信息的方法
    • 2.2 Linux下查询CPU信息的方法
      • 方法一:lscpu 整体查看
      • 方法二:分别查看
  • 3. 参考

0. 写此篇博客的原因

  • 学习多线程的时候,需要了解CPU和线程的相关概念,但是网上给出的概念让我实际操作时产生了混淆。
  • 本文与其他文章不一样的点在于,解释为什么逻辑CPU数不是核数的2倍(比较新的处理器会有这种情况),能够解答非计算机专业人士的问题。

CPU信息的查询方法参见本文第二部分

画重点:

大核支持超线程,小核不支持超线程,同时含有大小核的处理器不能简单地用核数乘2得到逻辑CPU的个数!!!

分析过程见 1.2 和 1.3

1. 物理CPU,核,逻辑CPU概念

CPU的核心数和线程数取决于具体的品牌,模型和代数(generation)。
对于AMD芯片和Intel芯片,这两个数字都在持续增加,通常新的CPU要比老的CPU有更多的物理内核数。

CPU的概念比较容易混淆,也可以称宏观肉眼可见的CPU为处理器Processor

  • Processor
    • 安装在主板插口(Socket)上的物理芯片,通常也称之为CPU
  • CPU内核(Core)
    • 是一个物理元件(也即可见可触及的实体),位于处理器(Processor)内部,用于处理繁杂的计算任务。单块CPU上能进行计算的芯片组的数量,如双核,四核等。
  • CPU线程(Thread)
    • 是一个虚拟元件(也即逻辑层面的,只有操作系统可见),又称为逻辑内核(逻辑处理器)(逻辑CPU),代表了你的CPU内核能够支持的线程数量,帮助CPU更高效地处理任务。如果该核支持超线程技术,那1颗内核可以当成2颗内核来发挥作用。每个线程都作为独立的CPU实例运行。

1.1 内核工作方式

下图给出了内核的工作方式:
在这里插入图片描述

1.2 超线程

我们都知道处理器(Processor)是整个系统的大脑,核数越多,线程数越多,CPU性能就越好,因为可以更快地且同时地组织和处理多项任务。
超线程(Hyper-threading)是英特尔(Intel)提出的技术,用于“欺骗”操作系统,使其认为有额外的内核。
因此,如果你的处理器是四核且支持超线程,那么你的操作系统会认为有:1个CPU,4个物理核心,8个逻辑核心。
如果不支持超线程,那么就是:1个CPU,4个物理核心,4个逻辑核心。详见下图:
在这里插入图片描述

注意不是所有的CPU都是每个内核两个线程,有的CPU中存在P核和E核,这意味着部分内核支持超线程,而另一部分不支持。

因此!!!

下面公式是不严谨的,没有办法解释大小核的情况,关于大小核我会在后面的章节介绍:

总核数 = 物理CPU个数 × 每颗物理CPU的核数。
总逻辑CPU数 = 物理CPU个数 ×每颗物理CPU的核数 × 超线程数

1.3 什么是大小核

尽管此前的 Intel 桌面CPU都打着多核的旗号,但它们在很多方面是相似的。
然而,随着12th Generation Intel Alder Lake CPUs的提出,处理器有了新的特点,那就是同时拥有两种内核:性能核(Performance Cores) + 效率核(Efficient Cores),简称为P核和E核,也就是中文网站所说的大(P)小(E)核

Alder Lake CPU的问世,意味着我们得习惯用新的方法或者说指标来区分处理器。以前的12核处理器指的是就是它有12个核,而对于12th Gen Intel CPU,这12个核可能会有(8+4)或者 8P+4E或者8C4c(C, big core, c, small core)这样的注释。
P核提供超线程,因此每个P核会有2个thread,E核只支持单线程。

而我的电脑配置是:1个物理CPU,12个核心(8 + 4),20个逻辑CPU
也即

总核数= 物理CPU个数 x ( 每颗物理CPU的P核数 + 每颗物理CPU的E核数)
12 = 1 x (8 + 4)
总逻辑CPU数 = 物理CPU个数 x ( 每颗物理CPU的P核数 x 2 + 每颗物理CPU的E核数 x 1)
20 = 1 x (8 x 2 + 4 x 1)

2. CPU信息的查询方法

2.1 Windows下查询CPU信息的方法

在Windows下,打开任务管理器,选中性能(Performance)—> 选中CPU,就可以看见CPU信息,下图所示的CPU是 Intel Core i7-4790,有4个物理核心,和8个逻辑处理器,说明该CPU支持英特尔的超线程技术。
在这里插入图片描述

2.2 Linux下查询CPU信息的方法

方法一:lscpu 整体查看

命令:

lscpu

我的结果如下图,1个物理CPU,12个核心,20个逻辑CPU
在这里插入图片描述

方法二:分别查看

参考:【cpu概念】物理cpu个数、核数、逻辑cpu数的概念

查看物理CPU的个数:

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

查看CPU是几核:

cat /proc/cpuinfo |grep "cores"|uniq

查看逻辑CPU的个数:

cat /proc/cpuinfo |grep "processor"|wc -l

3. 参考

参考链接:
How Many CPU Cores & Threads Do You have? [How To Check]
P-Cores vs E-Cores & Intel’s New CPUs


http://chatgpt.dhexx.cn/article/kuB2DKwY.shtml

相关文章

Linux系统下物理CPU和逻辑CPU的区别

01、问题 最近在搞Linux下性能评测,在做CPU评测时发现了个有意思的现象,因为uos系统是自带系统监视器的,在对输入法进程检测时,发现其CPU占用率为1%: 但是我用top命令查询时却发现它的CPU占用率为4%! 这是…

理解物理 CPU 与逻辑 CPU

这是一篇有关物理和逻辑 CPU 实际含义以及它们之间有何差异的速写文章。 首先,CPU 这个术语在互联网上的使用非常的模糊和不严谨,常用来指处理器(Processor)、核心(Cores)或硬件线程(Hardware …

【cpu概念】物理cpu个数、核数、逻辑cpu数的概念

首先要明确物理cpu个数、核数、逻辑cpu数的概念 1.物理cpu数:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id) 2.cpu核数:单块CPU上面能处理数据的芯片组的数量,如双核、四核等 …

物理cpu、物理cpu内核、逻辑cpu

物理cpu:就是实在的可以看到的计算机硬件,插入计算机的cpu插槽里面。如下图所示 在Linux系统中想查看物理cpu个数命令:cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 物理cpu内核:以前最早是一个cpu一个核心…

[转]物理CPU、CPU核数、逻辑CPU、超线程

转自:http://wulc.me/2016/01/06/物理CPU、CPU核数、逻辑CPU、超线程/ 基本概念 物理CPU: 物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。核心数: 物理CPU下一层概念就是核心…

内核/逻辑处理器/线程/多线程/多CPU/多核CPU

文章目录 1. 逻辑CPU2. 线程数和逻辑CPU个数,内核个数3.线程/进程/多核CPU3.1 线程3.2 多核cpu3.3 进程和线程 1. 逻辑CPU 先查看电脑cpu信息,可以看到,是8个逻辑cpu 2. 线程数和逻辑CPU个数,内核个数 在任务管理器中&#xf…

mysql 批量插入更新数据 的 两种方法

有时会有这种需求,当符合某种条件的数据存在时,去修改它,不存在时,则新增,也就是saveOrUpdate操作 当没有的时候就是插入语句 有数据的时候判断主键和唯一索引是否一样,一样那就按照 ON DUPLICATE KEY UPD…

MySQL批量插入数据脚本

作为测试环境,往往需要大数据量的情况下来测试SQL查询性能 这里编写一个批量插入数据的数据脚本: 1)设置log_bin_trust_function_creators //创建函数,假如报错:This function has none of DETERMINISTIC… 查看是否…

mysql 批量插入

最近新的项目写了不少各种 insertBatch 的代码,一直有人说,批量插入比循环插入效率高很多,那本文就来实验一下,到底是不是真的? 测试环境: SpringBoot 2.5Mysql 8JDK 8Docker 首先,多条数据的插入&#…

Mysql批量插入1000条数据

使用mysql的存储过程 1.现有如下一张表&#xff1a;site_row 2.创建存储过程 CREATE PROCEDURE p01 () BEGIN declare i int; set i1;while i<1000 doINSERT INTO site_row(row_id,row_num) VALUES ( i,i);set ii1; end WHILE;END; 3.执行存储过程 CALL p01(); 4.查看效…

mysql 批量查询插入,MySQL批量插入查询出来的数据

timg.jpg 先看SQL&#xff1a; INSERT INTO movie_detail_tab (VIDEO_ID, PLAY_URL) SELECT b.ID AS VIDEO_ID, x.playurl AS PLAY_URL FROM ( SELECT a.playurl, CONCAT( a.卡通名, a.第几集 ) AS videoCname FROM ( SELECT playurl, SUBSTRING_INDEX(sname, , 1) AS 卡通名,…

C++向mysql批量插入数据

一、以下共统计了3种批量插入的方法: 1、普通方法:一条一条插入; 2、使用拼接语句一次性插入,拼接语句的语法如下: insert into table (col1,col2,col3) values (’a’,’b‘,’c‘), (’a1’,’b1‘,’c1‘),(’a2‘,’b2‘,’c2),...... 对于拼接语句sql有…

mysql新增,更新,批量插入操作

mysql新增和更新操作 一、Insert的几种语法 例子: CREATE TABLE users (id int(11) NOT NULL AUTO_INCREMENT,username varchar(30) DEFAULT NULL,money double DEFAULT NULL,PRIMARY KEY (id),UNIQUE KEY username_index (username) ) ENGINEInnoDB AUTO_INCREMENT10 DEFAU…

MySQL优化:批量插入大数据4种实用、讲究方案的测试

简明&#xff1a;本文记录个人使用MySQL插入大数据总结较实用的方案&#xff0c;通过对常用插入大数据的4种方式进行测试&#xff0c;即for循环单条、拼接SQL、批量插入saveBatch()、循环 开启批处理模式&#xff0c;得出比较实用的方案心得。 &#xff08;个人记录学习笔记内…

Hi3559A Hi3519A Hi3556A算力对比

Hi3559A Hi3519A Hi3556A算力对比 Hi3559A 即Hi3559ARFCV100 4T算力 封装 FC-BGA 常备 Hi3519A Hi3519ARFVV100 才是AI芯片 2T算力 订货 先进的智能IP摄像头Soc Hi3519V101 先进的工业IP摄像头Soc Hi3516DV300 1T算力 常备 专业4M智能IP摄像SoC Hi3516CV500 0.5T算力 常备货…

海思Hi3798MV310芯片处理器参数介绍

Hi3798MV310是用于IPTV/OTT机顶盒市场的支持4KP60 解码的超高清高性能SOC芯片。集成4核64位高性能Cortex A53处理器和多核高性能 2D/3D加速引擎&#xff1b;支持H.265/AVS2 4Kx2KP60 10bit 超高清视频解码&#xff0c;高性能的 H.265 高清视频编码&#xff0c;HDR视频解码及显示…

湖北电信黑盒创维E900V21E-HI3798MV310-MT7661RSN-当贝桌面-免拆卡刷固件包

湖北电信黑盒创维E900V21E-HI3798MV310-MT7661RSN-当贝桌面-免拆卡刷固件包-内有主板图及教程 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量…

移动机顶盒migu-jt-u1 unt400c刷机 hi3798 root

准备好u盘&#xff0c;把固件放进去&#xff0c;插到机顶盒上 1&#xff0c;打开机顶盒天灵盖。短接这两个敏感点&#xff0c;开机&#xff0c;不松手&#xff0c;等出现刷机界面。 视频 链接&#xff1a; caiyun.139.com/m/i?105Cq73pcbcbW 提取码&#xff1a;Bgq3 复制内容…

海思AI芯片(Hi3519A/3559A)方案学习(三)Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel

先重申下我的平台为ubuntu18.0.4&#xff0c;SDK的目标平台为Hi3519AV100系列 准备工作 安装himix200交叉编译器 tar –xzf arm-himix200-linux.tgzsudo ./arm-himix200-linux.installsource /etc/profile 安装SDK包 tar -zxf Hi3519AV100_SDK_V2.0.1.0.tgzsudo ./sdk.unp…

Hi3798M V200 SDK文档介绍

目录 下载SDK并解压解压后主要的文件夹 下载SDK并解压 步骤1&#xff1a;下载Hi3798M V200 SDK。 大家如果有下载路径可以直接下载&#xff0c;如果没有的话可以使用我这个路径。 链接&#xff1a;https://pan.baidu.com/s/1buqwwZ7yBPNmi6JA2KG1eQ 提取码&#xff1a;dv6f ps…