当前位置: 肆参拓扑网 > 知识问答 > 电脑cpu的核心与线程是什么意思?

电脑cpu的核心与线程是什么意思?

时间:2024-05-08 17:05:52来源:肆参拓扑网

你说的核心与线程是常说的某CPU有4核心8线程中的意义吧,这个就要分开讲讲:

CPU核心

随着工艺的局限和频率的难以提升,CPU的性能不能再是无限制的往高频率的方向发展了,开始转向多核心的方向,简单地说,就是在一个物理内核里并列几个功能相同的核心,它们可以并行执行不同的任务进程,打个比方说,以前是一个人上夜班,现在是四个人上夜班,这就是所谓的CPU核心。

各个CPU核心都具有固定的逻辑结构,如一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元等,CPU核心的进步对普通消费者而言,就是能以较低的价格买到性能较强的CPU。

但是,在多核CPU中,并不是所有的核心都是在全速满负载工作,可能有时内核会有所闲置,这样就有了Intel的超线程和AMD的多线程技术,把这些闲置资源利用起来。

线程

严格来说,线程(Thread)是操作系统能够进行运算调动的最小单位,作为进程中的实际运作单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

多线程指的是在一个CPU核心上执行多个线程,或者多个任务,虽然在同一核心但是它们之间完全分离。

多线程可以用Temporal MultiThreading时间多线程和Simulate MultiThreading同步多线程来实现,具体细节这里就不讲了。

Windows 10下CPU的负载相当平均

对于单一核心而言,它能每秒钟处理成千上万条指令,但是在某一时刻只能够对一条指令进行处理,超/多线程技术能够在软件层变成将它变成两个逻辑处理器 ,同步并行处理更多指令和数据,它就是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。

我们对比测试过Core i7-6700K和Core i5-7600K,他们主要区别就在于超线程的有无和L3缓存的大小了,至于Skylake与Kaby Lake架构是没有性能上的差别的。

可以看到有超线程的Core i7-6700K其多线程性能比Core i5-7600K好19%左右。

所以,可以这么说,一个核心最少对应一个线程,通过超线程技术,一个核心可以对应两个线程。超线程技术是很好的提升核心利用率,将闲置处理资源充分调动起来,在操作系统中一颗物理CPU能当做多颗CPU来使用。当然要发挥出多核多线程的作用,还需要软件和操作系统的支持优化。

要弄清这个问题,需先从程序执行的相关知识说起。

准备知识:进程和线程

一个正在运行中的程序实例称为进程(你可以通俗地将进程理解为正在运行的程序)。一个进程可以包含一个或多个线程,线程是程序执行时的最小单位。这时候有人可能就要问了:为什么进程还要细分为线程呢?这主要是因为有些程序需要并发执行。所谓并发,就是几个任务同时执行。比如说,一个多线程的下载软件,它为了提高下载速度,将正在下载的某个文件拆分成 8 个部分,然后使用 8 个线程分别同时下载其中的一部分,等到所有部分都下载到本地电脑后,再将它们合并成一个文件。这样,由于是 8 个线程同时进行下载,总的下载效率就大大提高了。

好了,说完了预备知识,下面我们来转入正题。

CPU的核心和线程

CPU的核心数

通常我们说的某个CPU有几核,指的是它的物理核心数量(也就是它实打实的硬件核心)。用个比喻来说,一个四核CPU,就好比某个单位有四个房间。这四个房间每个都有一张床,一台电脑,一个厕所……等等,也就是说,它们每一间都是一个独立的功能个体,都是用实实在在的砖头砌出来的。

CPU的线程数

通常我们所说的某个CPU有几个线程,是指CPU厂商利用一定技术,能够同时执行的并发线程数量。一般说来,每个核心比较常见的并发线程数量是两个,但也不是完全定死的,有些CPU的单个核心甚至可以支持八个并发线程。

那么,这究竟是什么意思呢?下面,我来通过一个比喻来解释。

还是前面的那个单位房间的例子。原来,一个房间只有一张床,只能住一个人,效率很低。现在,由于单位新进了人员,老总面对住房问题不禁一筹莫展。就在这当儿,聪明的宿舍管理刘大妈看到原来的每间房住一个人其实还留有不少空间,资源没有完全利用起来,于是灵机一动,将原来的每个房间从中间扯一块布,一边放一张床,一边放一台电视,但空调啊,卫生间什么的还是两人共用一个。经过这样一番捣鼓,单位原来的四间房就可以同时住进八个人了。后来,这事传到了老总那里,老总到现场一视察,心想:咦,怎么我之前没想到,这法子真TM好啊!如此一来,单位只需增加四块隔布的投资,却可使入住效率增加一倍。于是,在年终总结大会上,老总将刘大妈立为标兵,并且特意对此取了一个悦耳动听的名字:刘大妈四房八床高性能综合宿舍。

都说这专业做啥?我简单点说,你请了个很牛逼的厨子师傅,做菜又快又好。但打下手的只有一套班子,大厨又快又好,但打下手的不够,所以大厨炒完菜还有闲工夫抽根烟,因为打下手配菜的没跟上来,于是你整了两套打下手的班子,这样一个菜完了另一个班子配好的菜大厨接着炒,这样效率是不就高了?你能看到打下手的就是线程,大厨就是核心。不是很确切的比方,但大概就这么个事。

我来通俗的说说,可能说的不全面和不足的大家在评论区补充:

电脑cpu的核心一般是指物力核心,物理本身存在的芯片,一个程序会占用多个线程怎么理解?

就是比如一个游戏程序的运行,电脑在打开这个程序时候,软件会将信息发布给多个cpu进行运算。这个软件如果是4核心优化的,会同时发布给4个处理器共同处理,(那这个软件就占用了cpu的4个线程通道)这样速度和效率就提高了。

就像是高速公路出口,车流很大,原来只有2个收费室,现在增加了4个。同一时间能处理的并流就大了,效率自然提高了!

再说说多线程,比如intel的双核处理器但是拥有4线程,俗称双核4线程。就是让一次只能处理一车的窗口,增加到两个窗口(就像是一个收费通道,两个收费室)这样一个收费窗口可以同时处理两张车,效率自然上去啦!

物理四核心vs双核4线程,但是物理四核更强(这里必须相同工艺、制程、同代之间对比)主要是价格更贵了

先说说线程吧,早起cpu都是单核单线程的,到后来p4的时候发现cpu性能过剩了,闲置的性能用不到怎么办呢?就有了超线程技术了,就是把cpu剩余的性能模拟出来另一个处理器这样利用两个人干活怎么会比一个人快,这就是单核双线程了,这样就理解核心跟线程了吧,就像鸣人的影分身,实体只有一个但是还多一个分身,虽然分身不厉害但是多少会有帮助的!

使用超线程技术的cpu,一个硬核心对应两个线程。两个非独立的流水线,共用某些运算单元,如乘法器、除法器。因为两个线程上同时使用同一个运算单元的几率极低。所以其它指标一样的情况下,使用超线程技术的i7比未使用超线程的i5性能要高的多。当然原生的4核比2核4线程的要好

免责声明:文章数据由网友投稿或转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请与本站管理员联系,我们将在第一时间删除内容!
Copyright ©2020-2024 肆参拓扑网 (www.43tp.com) 版权所有 琼ICP备2022010180号-11