文章插图
超线程在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那样开启超线程负提升的情况了 。并且随着超线程技术的进步和应用程序多线程优化水平的进步,超线程无论是在游戏还是生产力中都有了很明显的性能表现提升 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 我是陆超什么梗
- 解除cpu频率锁定 怎么关闭cpu自动超频
- java线程暂停和恢复 线程暂停和恢复
- python线程池内存耗尽 python进程池内存一直上涨
- 天立学校超市
- 企业网站排名优化公司 超级seo企业网站系统
- 饿了么超时10分钟扣骑手多少 饿了么超时怎么赔付
- 马思超为什么会法语
- 马思超和马思纯什么关系
- atm机存款超过5万会监管吗 atm机一天可以存10万吗