内核/逻辑处理器/线程/多线程/多CPU/多核CPU 您所在的位置:网站首页 多处理器电脑 内核/逻辑处理器/线程/多线程/多CPU/多核CPU

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

2024-07-13 11:33| 来源: 网络整理| 查看: 265

文章目录 1. 逻辑CPU2. 线程数和逻辑CPU个数,内核个数3.线程/进程/多核CPU3.1 线程3.2 多核cpu3.3 进程和线程

1. 逻辑CPU

先查看电脑cpu信息,可以看到,是8个逻辑cpu 在这里插入图片描述

2. 线程数和逻辑CPU个数,内核个数

在任务管理器中,看到其实是4个内核,但是逻辑处理器是8个,有多少个逻辑处理器,就说明你的cpu可以同时处理几个线程

线程数=逻辑处理器个数 在这里插入图片描述

一个物理CPU可以有1个或者多个物理内核,一个物理内核可以作为1个或者2个逻辑CPU。

操作系统可以使用逻辑CPU来模拟真实CPU。 在没有多核处理器的时候,一个物理CPU只能有一个物理内核, 有了多核技术,一个物理CPU可以有多个物理内核,可以把一个CPU当作多个CPU使用,即逻辑CPU。 没有开启超线程时,逻辑CPU的个数就是总的CPU物理内核数。 开启超线程后,逻辑CPU的个数就是总的CPU物理内核数的两倍。

实际能看到的2个物理CPU: 在这里插入图片描述 实现16个逻辑CPU的原理图:

在这里插入图片描述

参考:

物理CPU,物理CPU内核,逻辑CPU概念详解或者简书:https://www.jianshu.com/p/6a53819fa89b 3.线程/进程/多核CPU 3.1 线程 from multiprocessing import cpu_count print(cpu_count()) > 8

在python中,使用上述代码可以获取当前系统的逻辑cpu个数,也就是支持并发的线程个数。

3.2 多核cpu

在这里插入图片描述

左图:多个物理CPU,CPU通过总线进行通信,效率比较低。右图:多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信

感谢评论区同学的提醒,这里更新一下CPU三级cache的内容,以下内容摘录自:小林coding-图解系统 在这里插入图片描述

CPU 的高速缓存,通常可以分为 L1、L2、L3 这样的三层高速缓存,也称为一级缓存、二级缓存、三级缓存。L1缓存是每个CPU核一个,每个 CPU 核心都有一块属于自己的 L1 高速缓存,指令和数据在 L1 是分开存放的,所以 L1 高速缓存通常分成指令缓存和数据缓存。L2 高速缓存同样每个 CPU 核心都有L3 高速缓存通常是多个 CPU 核心共用的

CPU多个核之间L1和L2 cache是独享的,L3 cache是共享的。

3.3 进程和线程 进程是程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,线程是CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。联系:线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程;根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位

所以对于程序员来说,其实更多时候是和线程打交道,一个程序是一整个进程,程序中可以有多个线程,用来并行进行不同的事情。

参考:

✅关于多 CPU、多核和多线程cpu的个数、核心数、线程数进程,线程与多核,多cpu之间的关系cpu的核数和进程_CPU与核心及进程和线程认识How many cores does my computer have?What does it mean when we say “4 cores 8 threads”?Is there a Mac OS equivalent to the Linux “lscpu”?

macOS下查看cpu信息,类似linux的lscpu的指令是: sysctl -a|grep cpu|grep hw



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有