榨干CPU:同步多线程(超线程)浅谈

超线程

在2021年,应该已经没有人会问出为什么我购买了一颗四核心的i3-10100,却能在任务管理器看到八个框框这种问题了,随着牙膏厂在初代酷睿I系列开始重新加入超线程技术,超线程已经不知不觉在消费级市场存在了十多年,并已经成为大家见怪不怪的功能。众所周知八个框框就是比四个框框性能高(FX系列除外)。(首先,牙膏厂的超线程(HT,Hyper-Threading)其实更应该叫做同步多线程(SMT,Simultaneous Multi-Threading),至少AMD也是这么叫的,只不过大家超线程喊习惯了,包括我)

超线程技术在2002年就被牙膏厂安排进了奔腾4 HT中,据我所知这是消费级桌面平台第一款超线程处理器。只不过由于当时的超线程技术不成熟以及缺乏软件和操作系统的优化支持,这颗奔腾4的超线程大部分情况下是负提升,因此intel之后雪藏了这个技术,直到2008年推出全新的酷睿i系列,超线程技术重回消费级市场,并且一直沿用至今。如今的第10、11代酷睿已经下至i3上到i5全系支持超线程,在2017年奔腾G4560的推出也标志着奔腾系列正式支持超线程,似乎只剩下赛扬时至今日依然不支持超线程了(笑)。而隔壁AMD在翻身之后的初代Ryzen开始支持超线程,ZEN3则实现了全系超线程支持。

超线程最明显的特征,就是能让任务管理器看到双倍于核心数量的框框(当然IBM甚至能1核当8核用,这里就不提了)比如四核心的i3-10100在任务管理器里可以看到八个核心。系统或者软件会认为i3-10100这个处理器就是八个核心,并且也会按照最多八个核心的“事实”去调度应用程序的运行。

超线程技术的基本原理

这里不得不提到两个概念:进程与线程。我就不带大伙复习操作系统了,不然这可不是一个图文就能讲明白的,简单来说,你们可以把进程看做是一个正在运行的程序,而线程是这个程序执行的最小单元。一个程序有许许多多的功能,那么这些功能可以交给多个线程分别执行,因此一个进程可以包含一个或者多个线程。

讲一个常见的例子:高速公路收费站,有车道+收费站+收费站的工作人员。一辆辆汽车(指令队列)排队进入收费站(前端发射单元),收费站需要核验汽车信息和收费(指令解码),并指定汽车去前方哪一条车道(执行单元:ALU运算器、FPU运算器、Cache……)

而CPU最小的执行粒度就是线程,一般来讲一个物理核心同一时刻只能执行一个线程,也就是说,这个高速公路只能同时检查收费一辆车,并且指定一次车道,而当第二辆车进来时,需要等待第一辆车跑出这段车道,再放行第二辆车。这时候我们可以注意到,一辆车只会占用一个车道,而其他车道都是空着的,也就是说车道资源被大大浪费了。

这时候,领导一拍大腿:收费站现在只有一个,那我们在旁边再建一个!于是收费站变成了两个,当第一个收费站放行了车辆1到车道1之后,第二个收费站发现车辆2需要进去车道3,那么车1和车2就能在互不干扰的情况下在车道同时跑了。而这大致就是超线程技术的实现方法。

好了,你已经明白了超线程技术的基本原理,现在我们来动手设计一颗SIMD五级流水线RISC处理器吧!

通过超线程技术,处理器可以利用其他指令执行时闲置的执行单元丢入其他指令执行,尽可能的充分利用一个物理核心的全部部分。原本CPU在执行一个线程时用不到的单元是闲置的,通过超线程技术可以尽量榨干CPU的每一寸晶体管。英特尔曾经说超线程技术只需要增加约5%的核心面积,便可以增加约20%的多线程性能。视操作系统的调度和应用程序的优化,这个性能的提升幅度也不全相同,但终归不会再出现早年奔腾4HT那样开启超线程负提升的情况了。并且随着超线程技术的进步和应用程序多线程优化水平的进步,超线程无论是在游戏还是生产力中都有了很明显的性能表现提升。

农企5600X

以农企5600X为例,这是一颗6核心12线程的处理器 我们分别在BIOS中关闭和开启SMT Mode,并运行象棋跑分和cpu-z跑分,结果如下:

关闭超线程

打开超线程

可以看到超线程开启带来的性能提升约在30%左右,已经完全可以看做多出来凭空两颗物理核心了(10600K VS 9700K)

牙膏厂10100F

至于牙膏厂这边,我拿10100F试了一下cpu-z

,多线程提升似乎比AMD少那么一点点

当然,一个核心“虚拟”成两个核心,也会对多核调度水平有更高的要求。分别放入同一个物理核心的两个虚拟核心和放入两个不同物理核心执行,其性能差距十分巨大。上面已经通过跑分证明多线程也就带来30%左右的提升,并不是一个核心可以完全当作两个核心用。以下是通过任务管理器限制程序处理器在一颗核心的两个线程运行和两个核心上运行得到的跑分,可以看到被限制在同一个物理核心上,性能只有真正的双核运行的70%的性能。

而当通过限制程序运行在3C6T和6C6T上时,同样会得到相似的数据,我已经拿牙膏厂U和农企U都试过,在任务管理器里同一个物理核心的两个逻辑线程是相邻的,比如CPU0和CPU1是第一颗物理核心的两个逻辑线程,CPU2和CPU3是第二颗物理核心的两个逻辑线程,以此类推。通过在任务管理器详细信息的进程右键菜单设置相关性,限制进程的核心分配并进行测试,可以复现我的结论。

当然啦,以上测试只是一时兴起,随手测试,没有严格控制变量,后台还开挂个QQ,任务管理器的图表显示也会占用一部分处理器资源,所以,大家图一乐就好。

简单回答一些可能的疑问

Q1:这么牛逼的技术,为什么没有完全普及呢?

A1:超线程技术相对更适合一些流水线冗长复杂、执行单元众多的架构,用于提高晶体管利用率,一些比较简单的架构就算加入超线程技术,也没啥卵用,还不如省下来空间多做一个核心。

Q2:为什么手机处理器没有做超线程?

A2:其实手机处理器有,以前联想出过,搭载的Atom Z2580 2C4T处理器(但是反响似乎一般)。顺带一提ARM也有cortex-A65AE,支持超线程,过不是做给手机的。我怀疑是因为八核心听着比四核心八线程强所以没搞。另外相比于超线程,移动终端为了闲置续航和功耗,用的是big.LITTLE大小核解决多任务并行,多余的任务直接丢后台让小核跑,比一个大核心分出来俩超线程要省电。

Q3:超线程会不会损失单核性能?

A3:理论上,会的,当一个物理核心的一个线程运行时,另一个线程如果需要执行新任务,一旦发生资源占用冲突,势必会影响速度。在高负载时这个现象尤为明显,我试了5600X单核象棋4300分,而单核双线程象棋6000分,相当于单线程性能降低到了3000分,当然以上只是极端情况,对比我前面的CPU-Z测试截图,低负载下超线程开启与关闭对于单核性能的影响有限,5600X完全可以看做测试误差,10100F影响大一点约莫5%,但是相比超线程带来的接近30%的性能提升,这点损失不算什么。

来自:酷安@ScarletTwilight

(0)

相关推荐

  • 流言终结者系列:第三代锐龙关同步多线程能增加游戏帧数?

    关于AMD锐龙处理器玩游戏要关掉同步多线程(SMT)这传言其实已经流传已久,说真的这话放到以前可能还真的有这可能,但是随着Windows 10升到1903版本优化了CPU的调度之后再来传新锐龙处理器玩 ...

  • AMD战Intel:纪念版CPU的强强对决,谁能更胜一筹?

    到今年AMD就成立50周年了,在这50年里,AMD推出了很多优秀的产品,从K5处理器到采用K8架构的速龙处理器,再到2017年正式开售的基于Zen架构的锐龙系列处理器.而全新的Zen架构锐龙系列处理器 ...

  • 3DMark的CPU专用测试工具CPU Profile体验:含14款处理器跑分对比

    知名性能测试软件3DMark前几天推出了一个新的CPU专用测试工具CPU Profile,与已经有的3DMark的DirectX基准测试中包含的CPU测试不一样,3DMark CPU Profile为 ...

  • 锐龙 AMD Ryzen 7发布:8核性能为王,性价比超群

    美国时间2月21日上午九点,AMD CEO苏姿丰博士于AMD Ryzen Tech Day上,宣布万众期待的Ryzen 7处理器正式面世,其正式官方正文名字为锐龙 AMD Ryzen处理器,估计取义& ...

  • 追求性能选AMD,追求性价比选英特尔,锐龙5000系列很强却不赚钱

    教育不是灌输知识,教育是养成能力的过程.把知识学习转化成技能获取,是养成教育的重要内容.本文基于<计算机组装与维护>课程内容,实战配机方案,追求性能选AMD锐龙5000系列, 追求性价比选 ...

  • 充分榨干 CPU 的每一个 TICK:软件性能优化方法知多少

    前言 https://m.toutiao.com/is/eeTUXJo/ 伴随着互联网的快速发展,数据的规模及软件的复杂程度呈指数级增长,带来的硬件资源开销.能源消耗也越来越大.为了控制硬件成本,也为 ...

  • 八字日干旺衰的看法浅谈

    判断日于旺衰,是推命最关键的一步,一生吉凶祸福的推断由此开始.若旺衰断错,则全盘皆错,更不用谈合婚了. 日干旺衰判断流程: 査月令,按我们四正.四长生.四墓的规定,看日干生于何月?占旺衰的百分之几来决 ...

  • 如何榨干CPU剩余价值技嘉Z390 AORUS XTREME主板超频教程

    许多年前,玩DIY,玩超频被视为大神的专利,因为当时的超频要求用户对硬件有很深的了解,并且还要面对BIOS里面各种晦涩难懂的英文缩写一个个地调整设置.为了榨干手中硬件的剩余价值,折腾一天只为了提高1% ...

  • 浅谈翡翠油青种和干青种

    油青种 油青种翡翠颜色青暗,掺有灰-蓝之感,亦有浅青.深青.油青种翡翠是指翡翠绿色较暗的一种,颜色不是纯的绿色,质地有油浸的感觉,透明度较高,质地细腻,肉眼很难辨认出其矿物组分颗粒,敲击其材料有金属般 ...

  • 浅谈避免老干体口号诗的几点体会

                 囗/张倬藩 <诗经>按内容分为风雅颂三类.颂者,以歌功颂德为主旨而区别于风和雅.从思想性艺术性角度看,自古以来就有"三颂不如二雅,二雅不如十五风&quo ...

  • 顶天立地是好汉,戴天履地人为贵,浅谈地支藏干及其快速记忆

    我们经常说:顶天立地是好汉.<滴天髓>中说:戴天履地人为贵. 这儿"戴天"只是形象说法,把天比作帽子戴:"履地"就是脚踏大地.这和顶天立地表达意思差 ...

  • [转载]浅谈遁干

    原文地址:浅谈遁干 原文作者:壬中龙 大六壬是以地支为主构架天地盘和四课三传的,故有人说六壬是地支学,对此笔者不敢苟同,因为六壬的遁干也是重要组成部分,比如毕法赋中的:首尾相见始终宜.闭口卦体两般推. ...

  • 临床级干细胞库建设浅谈SICOLAB

    临床级干细胞库建设浅谈 --SICOLAB 临床级干细胞库是标准化收集.处理.储存.检测和分发不同来源的干细胞以及与干细胞相关的临床.病理.治疗.随访.知情同意等资料,并进行质量控制.信息管理与应用的 ...

  • 浅谈汽车涂装同步工程涂胶密封分析

    李生娟,李  军,邹  刚,苏伊寒,梅  涛,刘小辉 (东风乘用车公司,武汉 430056) 摘要:介绍了新车型产品设计阶段,涂装的涂胶密封工艺同步工程分析内容.通过结合典型实例,对影响涂胶密封效果. ...