CPU核心数与线程数详解

CPU核心数与线程数详解CPU CPU 就是中央处理单元 物理 CPU 数就是 CPU 的硬件个数 socket 核心 一开始 每个物理 cpu 上只有一个核心 asinglecore 对操作系统而言 也就是同一时刻只能运行一个进程 线程 为了提高性能 cpu 厂商开始在单个物理 cpu 上增加核心 实实在在的硬件存在 也就出现了双核心 cpu dual corecpu 以

CPU:

        CPU就是中央处理单元,物理CPU数就是CPU的硬件个数(socket)。

核心:

        一开始,每个物理 cpu 上只有一个核心(a single core),对操作系统而言,也就是同一时刻只能运行一个进程/线程。 为了提高性能,cpu 厂商开始在单个物理 cpu 上增加核心(实实在在的硬件存在),也就出现了双核心 cpu(dual-core cpu)以及多核心 cpu(multiple cores),这样一个双核心 cpu 就是同一时刻能够运行两个进程/线程的。

同时多线程技术(simultaneous multithreading)和 超线程技术(hyper–threading/HT)

      本质一样,是为了提高单个 core 同一时刻能够执行的多线程数的技术(充分利用单个 core 的计算能力,尽量让其“一刻也不得闲”)。

       simultaneous multithreading 缩写是 SMT,AMD 和其他 cpu 厂商的称呼。 hyper–threading 是 Intel 的称呼,可以认为 hyper–threading 是 SMT 的一种具体技术实现。

在类似技术下,产生了如下等价术语:

  • 虚拟 core: virtual core
  • 逻辑 processer: logical processor
  • 线程:thread

        所以可以这样说:某款采用 SMT 技术的 4 核心 AMD cpu 提供了 8 线程同时执行的能力;某款采用 HT 技术的 2 核心 Intel cpu 提供了 4 线程同时执行的能力。

        为了给电脑更高的性能,一个cup中集成了多个内核,这样电脑的性能就成倍的提升。随着科技的发展,我们发现每个内核的性能也变的十分强大,于是一个内核又被分成两个线程。但是,我们要注意的是,一个cpu分成多个内核,这是物理的分隔,拆开cpu是可以看到的;但是一个内核被分成两个线程是一种超线程技术,也就是串代码,操作系统会认为一个线程也是一个内核,有点欺骗操作系统的感觉。

       如果操作系统说我的cpu有四核,这时我们要提高警惕,是真四核还是四线程(假四核)。

这是我的台式机windows10:

任务管理器显示有4核。

设备管理器显示依然为4核 

CPU核心数与线程数详解

CPU核心数与线程数详解

原来我的电脑是假四核。

其实windows有一个命令是可以查看的:

CPU核心数与线程数详解

修改处理器个数:

CPU核心数与线程数详解
物理内核个数是不能修改的,但是假内核个数是可以修改的:

CPU核心数与线程数详解

CPU核心数与线程数详解

处理器个数修改成3,保存重启电脑。

任务管理器中已经改变:

CPU核心数与线程数详解

设备管理器未发生改变:

CPU核心数与线程数详解

进入BIOS,找到   Hyper-Threading选项设置成disable。

CPU核心数与线程数详解

保存设置,启动电脑。

任务管理器发生了变化:

CPU核心数与线程数详解

设备管理器也发生了变化:变成了2核。

CPU核心数与线程数详解

那么核心数和线程数到底有什么不同昵?

一、意思不同

      八核十六线程,八核是指CPU的核心有八个,核心(Core)又称为内核,是CPU最重要的组成部分,十六线程是指CPU的多线程线程数有十六个。六核十二线程是指六个核心,CPU的多线程线程数有十二个。

二、技术不同

       八核十六线程是指使用了超线程技术,把一个物理核心,模拟成两个逻辑核心,理论上要像十六颗物理核心一样在同一时间执行十六个线程,所以设备管理器和任务管理器中会显示出十六个核心,但事实上并不是真正的八个核心,八核十六线程就是物理八核加上虚拟八核。

CPU核心数与线程数详解

三、优势

        前者内核和线程数更高一些,在多任务运行时更有优势,但也要看CPU主频的高低,单看核心数和线程数不是很明显。

        八核十六线程在有些情况下比如任务量不大能让CPU利用率提高很多从而使其性能接近十六核CPU的水平,而在另外一些情况比如CPU占用100%满负荷工作的情况下,这时候八核十六线程和十六核的性能表现差距明显。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208675.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:02
下一篇 2026年3月19日 上午11:02


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号