超线程无用论?超线程有没有用,看完你就懂了。

作者: Octppus分类: 数码 发布时间: 2024-06-23 15:20:59 浏览:56903 次

超线程无用论?超线程有没有用,看完你就懂了。

可乐与脉动:
英特尔说它有用,就有用[doge] 英特尔说它没用,就没用[doge]

霜白的银:
超线程肯定有用啊,从Windows更新到游戏的着色器编译,经常会出现CPU高占用的情况。同硅片面积下超线程能够提升30%的性能,又有谁会不想要呢?(硅片面积直接挂钩成本与售价)

【回复】回复 @BUUUUUUSTARD : 超线程跟物理核工作的基础是一样的啊,都是使用的计算电路,没有额外的运算占用怎么会每时每刻都发热?你没有理解超线程开发出来的初衷,举个例子,假设一颗完整的物理核心包含加减乘除四个电路,目前一个流水线周期内只占用了加减电路,那么在这个指令周期内空余的乘除电路就可以被操作系统虚拟成超线程核心,在此周期内交给仅需要乘除的进程使用(超线程就是物理核心吃不完的边角料再利用,做到物尽其用,所以性能上不及完整的物理核)。但是作为cpu制造商,不能真的做一颗只有加减电路的cpu明白吗?完整的处理核心必须得有完整的指令集
【回复】回复 @霜白的银 :同样硅片面积,功耗给够的情况下,超线程可以增加最大性能。但是这性能也是用功耗换的不是天上掉下来的。 超线程开了,不管用不用都会有一定消耗,会导致待机功耗增加。 对于现在的笔记本cpu来说,核心多频率低,如果有散热空间提高频率就可以加性能,不太依赖超线程。反而待机功耗增加会影响续航,所以砍了。
【回复】一个原因是现在核已经很多了,多线程的性能有边际效应。另一个是笔记本销量占比快四分之三了,笔记本一般都是散热受限的。
气甲申由:
看得出,网友神话某品牌了:它放弃了=没用,它用了就是有用。

【回复】合理,比如某个有5g就5g>其他5g,没5g就4g+神话>其他5g
【回复】当年一两个核心超线程确实有用,但是现在动不动十多个核心,完全没有必要了。
【回复】回复 @你小子偷偷赚是吧 :肯定是小米,都2024年了,旗舰机居然还在用高通骁龙8系列,难道小米公司的人不知道680才是王者嘛,8系列芯片只会越用越卡,只有680才能越用越流畅,遥遥领先[脱单doge][脱单doge][脱单doge]
玉竹倾心:
FX 我两个客服接一台电话 一个听一个记[doge]

鲨鱼大困:
大小核:老板找了12个乡下大妈来一起接电话

【回复】回复 @兰音Rain :小核远比不上超线程的,一个大核的芯片面积可以堆4个小核,代价就是效率低下。不单单是速度慢,对于给定的任务,比如说10亿次浮点运算,能耗也几乎翻倍,最终能量转换成热量导致散热困难。超线程多出来的30%性能是大核的效率,仅从普通玩家角度来看,砍多线程不如砍小核。虽然I家每年营销费很多,但无法改变大小核天然弊端,时间会证明一切。
【回复】回复 @兰音Rain :问题是iu堆小核是刷跑分的,实际游戏啥的也用不上
【回复】回复 @Nexionode :大小核是架构不同,而不是仅仅频率不同,大核多出那么多晶体管不是吃干饭的,运算效率、分支命中率都有显著提升。举例来说,省电重要性对服务器来说比普通PC高很多,它的CPU基本上是全大核降频来省电,按你说的小核比大核省电还省芯片面积,服务器行业肯定全是小核才对吧。还是那句话,大小核只是救急章,不是什么灵丹妙药。
wojiushijeff:
我的理解是,既然出了大小核结构,那么超线程也可有可无,取消超线程,让大核获得更高的单核性能,增加小核来弥补多核性能是比较合理的发展方向。

【回复】回复 @シェル-神智核 :我就一个臭打游戏的,其实我更希望出的家用平台是没有超线程也没有小核的纯12大核结构,获得最高的单核性能的同时,游戏多核性能也不落下,12核环形总线也没什么延迟问题[脱单doge]
【回复】回复 @bili_39294984390 : 就是15代的设计思路,取消核心里面为超线程设计的冗余寄存器等多余电路,多出来的空间优化内部架构,获得更好的单核性能提升
【回复】你们的理解是intel平衡不了功耗调度问题=超线程没用
Zhang_TTL:
程序的汇编代码里很多都是mov指令,涉及计算的只占一小部分,而IO操作周期长,访问内存的速度也极慢,在单核内造成了在较长一段时间里计算单元都是闲置的,此时增加一套寄存器来利用闲置计算单元,这就是超线程,但这有一个大问题,超线程多出的核心到底还是不完整的,计算资源耗尽时,超线程就是个累赘,比如一个核心内的两个线程同时被分配到计算密集任务,因为指令都在队列,于是延迟就高了,在上面的过程中,你可能注意到,这些操作部分是应对内存延迟的,此时内存带宽其实也是瓶颈之一,带宽不够,或缓存命中率低,核心都有可能无事个干,乱发射等也是因为此而被开发出,但这又是另外一个话题了。

【回复】程序大多数操作就是把数据从一个地方移动到另一个地方,这是我看的C语言书里面说的。
【回复】intel想的是大核心遇到气泡给小核心,小核心遇到计算密集给大核心。实际上来说,即使是跑分软件那种高强度计算,超线程也有很大提升,对于web类应用超线程可以看作2个物理核心,即使是超线程都在等内存数据。
【回复】对,io消耗在多数时候吃机器的0.2%-2%的占用,如果用机械硬盘,一个线程可以吃完一个核心。 这时候把这任务给超线程就很好。
香味的猫:
CPU核心少开超线程就有用,核心多提升就不大,毕竟有很多软件吃不了那么多线程

【回复】回复 @vgoodor : 需要高质量的视频编码还是cpu做效果好,GPU的硬件编码器只是效率高,同样码率下画质干不过软件编码
【回复】确实,消费端应用里很少有高线程高并发的场景,比较常见的有视频编解码,但干这活干嘛不交给GPU去干?但企业服务器确实很需要。华为的K9000s的超线程就是他自家服务器的技术下放。
Fleafric:
看着评论区很多评论,想让小核去承担超线程的任务,又有反驳说这样线程会不够用,降低系统流畅性。我想着,有的这样干脆直接买下一代至强得了,取消了超限程,192 核192线怎么可能会线程不够,这样大家就不用争吵了[脱单doge]

超越_进化:
4核4线程,和4核8线程,现在差距还是比较大的[doge]

【回复】那么8核16线程和8核8线程呢[doge]
【回复】回复 @just10N :6核打爆4核,就这样
【回复】前提是多核性能够用的前提下才关超线程,4核够啥啊
只是个啊呆:
有用 特别是性能越差的cpu效果越明显 d525 做软路由用的情况下 开没开超线程 带机量差距很大

小仓一库:
我个人对超线程的态度是超线程是可以不用可以关,但是不能没有。 猜测为什么intel要取消超线程。因为他们处理不来大核-小核-大核超线程的处理顺序[滑稽]。 再次预测一种发展,以后1大核会绑定1-2小核形成一个计算整体,这个时候英特尔就算是解决了大小核调度问题了。

【回复】其实是intel的超线程一直不太行,开启之后单核性能损失偏大,这点确实是amd做得更好[捂脸]
無宙:
超线程倒不能说无用,只能说作用越来越小 超线程刚出的时候普遍是什么制程,现在又是什么制程 消费级6c12t,最多8c16t就够用了,制程提升多出的面积可以塞更多的e核或者编解码单元甚至npu 传统超线程一定是需要以功耗或者频率为代价的,在性能普遍相对过剩的情况下,各家卷的都是要么是能效/要么是极限频率,而超线程恰好和这2个都冲突 服务器普遍还存在超线程是因为本来频率就低,而且散热良好,不需要超频,而且对计算的一致性要求高,超线程增加的逻辑核比物理e核更适合

【回复】塞小核和npu是什么操作?npu现在更多是营销手段,真要搞ai还得是云计算,本地能跑什么大型模型
【回复】小核本来的主要用途是处理低负载任务降低功耗,提升续航,先不说在台式机上需不需要,结果12代加入小核后移动端的续航普遍下降,这就有点搞笑了
【回复】一面性能过剩,一面还要往里塞小核和npu,自相矛盾,幽默。
烧肉切鸡饭:
其实多核心和超线程之类的技术对于游戏娱乐为主的家用机意义并不大,帧渲染这类大量高并发的运算步骤通常都是直接丢给gpu的,并且几乎所有主流的游戏引擎也早就已经将碰撞检测、自由落体之类的物理运算全丢给gpu了,对于游戏而言cpu只做逻辑梳理和时序统筹,两者的计算量是完全不在一个量级的,游戏的运算逻辑通常并不复杂,甚至可以说是幼儿园考题,但是物理引擎对并行运算的开销需求十分巨大,因此游戏开发者更愿意把精力花在gpu优化上,而不会过多考虑cpu线程问题,它再怎么超线程虚拟线程数据流也是排队轮流挨X,因为通道(物理层面)只有一、两、三、四、很有限个,不可能撸得过gpu动辄四五位数(也是物理层面)一起上的cuda。所以目前我所知道的也只有古墓丽影是做了四线程优化,好像生化危机也是四线程,其他游戏基本上连支持多核运行都没听说过,但那些都不重要,我十几核的cpu你只有极个别游戏只做到4线程的优化,已经足够说明问题了,放到cpu里去跟系统和其他软硬件抢时序,实在不明智。关掉超线程反而会让cpu核心时序不受到来自“阿超”的影响,能更专心做事,效率自然反而高一点。

【回复】那是以前,现在对于一些特定游戏类型来说DOTS只会越来越流行,GPU Driven确实是现在游戏开发越来越提倡的东西,但是这并不代表CPU对多线程开发和优化的要求会降低,毕竟GPU的数据是要CPU去提交的,如果不是以渲染结果为最终目的的数据的话,甚至还要做回传,这种行为对CPU与GPU之间的带宽造成的压力是非常巨大的。最后就是游戏开发永远往往是常规软件开发里最追求极致性能的,毕竟永远不会有玩家嫌弃优化太好
【回复】战地,全面战争,骑砍,天际线,刚4,暗潮,鼠疫2,都是可以用到8核以上,甚至32线程。说游戏没有占多核的疑似玩少了
壞h小孩xea:
超线程的用处很多人不了解,单纯性能来说肯定是不如主核心性能,是被消费市场所认可的,能够承载跟多轻量级别的任务,毕竟你电脑运行程序可不是单单只运行某一个程序,不然的话amd也不会跟进超线程技术。

【回复】回复 @脸滚出来的名字 :不不不,小核心不能替代超线程技术,大核心的超线程仍然是大核心的影子,在程序相较不那么吃三缓的时候线程是可以直接当大核去使用的,amd未来估计也不会跟进大小核设计,amd为了解决三缓问题,直接堆叠3d缓存,使得x3d系列的cpu三缓大幅提升玩游戏的时候提升巨大,原因是线程也获得了足量的三缓,性能也就强了起来 ,即将来临的9000系列锐龙cpu采用的是16核36线程。
【回复】现在cpu动辄6个甚至12个小核,超线程的工作已经被代替了,普通人或者说游戏玩家就用不上超线程了,甚至超线程还是负优化
【回复】回复 @暖设官方 :不不不,现实是超线程会影响low帧和平均帧,查阅英特尔官方资料我们可以知道超线程的技术实现原理其实是把一颗物理核心中的整型和浮点计算单元虚拟成两个不同的核心,让他们同时工作,在这个过程中要涉及到任务分配的问题,因为整型计算单元的精度是不如浮点计算单元的,有些浮点运算会被错误的分配到整型计算单元虚拟的核心上,这样就会出错,CPU就会重新计算一遍,而游戏low帧受此影响很大,我用13900HX8P核16E核实测,关超线程后功率降低了平均帧和Low帧都比之前好[脱单doge]
VioooooLettttt:
超线程说白了就是引入额外的指令级并行性(ILP),以充分利用CPU的计算资源,主要提高吞吐。具体实现非常复杂,既要将两个线程的指令并行执行,又要做好两者之间的隔离,有很多种结构实现,资源分配和调度也有各种取舍。IA两家的CPU因为超线程曝出过不少bug和vulnerablility。因为提升吞吐性能的原理是提高ILP来填满处理器,如果负载本身ILP非常足,那超线程纯粹负作用;如果处理器前端设计足够强悍,可以在设计目标负载场景上发掘足够的ILP,那超线程意义也不大。如果负载目标不在意吞吐量,超线程更是没必要。所以超线程“有没有用”无法简单回答,取决于处理器设计、实际负载和用户性能期望。

【回复】哪来的指令并行啊,这是两个不同的线程了,已经相当于cuda的warp概念了。super scalar是ILP,hyper threading几户不涉及ILP
钢筋诱捕器:
其实很简单,看你的软件游戏吃cpu单核情况。超线程其实你可以理解一心二用,一颗核心模拟两颗核心。比如小游戏它就可以当双核用(前提你这个游戏吃cpu不严重)当游戏吃cpu很严重的情况下,多线程确实会拖累。 所以当你cpu动不动满载,超线程几乎无用且是累赘。 所以那种动不动占用30~40%说什么关闭超线程提升也就逗猴玩

自然风干:
原因是与台积电合作工艺打磨问题,面积塞不下超线程,临时把超线程删掉了

【回复】无法解释6+8的部分arrowlake,CPU tile使用intel自家20a工艺,仍然取消了超线程。
【回复】回复 @申鹤已经重云 :实打实14核,7945才16核,7840才8核

数码 科普 处理器 英特尔 电脑 超线程 cpu intel 线程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!