+ -
当前位置:首页 → 问答吧 → 我对超线程的一个理解是CPU一旦碰到100%满戴的程序超线程就无用了。。对不对??

我对超线程的一个理解是CPU一旦碰到100%满戴的程序超线程就无用了。。对不对??

时间:2013-05-21

来源:互联网

呵呵。。。。。

作者: fzmailyl   发布时间: 2013-05-21

不对,不会解释

作者: dennyq   发布时间: 2013-05-22

应该是二个核心百分之100用尽了就无用才对吧

作者: 为爱琳   发布时间: 2013-05-22

不对,100%满载的时候,超线程对速度起大作用了. 楼主可以关闭和打开超线程,分别测试一下能让cpu满载的程序,比如Fritz Chess Benchmark,或者wPrime看看,对速度的影响。

作者: 阿摩   发布时间: 2013-05-22

应该更有用才对,超线程在使用的时候更像多了一倍核心,只不过性能没有那么夸张,据说有30%,没有仔细测试过,而且这个也只是对多线程性能提升,对单线性能无影响

作者: scp8332   发布时间: 2013-05-22

应该跟具体应用有很大关系吧 有的能+30% 有的一点儿性能也不加

作者: rSKip   发布时间: 2013-05-22

对于多线程程序,有提升;单线程程序,副作用。跟多任务是两码事。

作者: 发动机   发布时间: 2013-05-22

有些线程虽然占用了一条线程,但是无法利用全部运算单元,这时候HT就会使用未利用的运算单元。程序的运算资源利用率越高,HT就越难以发挥作用。

作者: lzhpro2   发布时间: 2013-05-22

很少有应用程序能让处理器的核心100%负载运行,超线程正是利用这一点,充分利用cpu空闲资源。有点见缝插针的感觉。

作者: kangtian   发布时间: 2013-05-22

任务管理器显示占用率100%不代表cpu的流水线被填满了,超线程就是用来解决这个问题的。我的理解

作者: yysqu   发布时间: 2013-05-22

举个例子,就好比碗里装满了米,是满了么?
这个时候超线程还能倒一杯水进去

作者: itany   发布时间: 2013-05-22

100%满戴的时候 超线程也是满载状态啊  

作者: AD2012   发布时间: 2013-05-22

除了烤鸡软件,没有任何软件能让CPU里的各个单元全部满载!!比如整数单元100%满载时,浮点单元可能还闲的蛋疼!!

作者: lxf602   发布时间: 2013-05-22

lxf602 发表于 2013-5-22 15:15
除了烤鸡软件,没有任何软件能让CPU里的各个单元全部满载!!比如整数单元100%满载时,浮点单元可能还闲的蛋 ...

Haswell有四个ALU,没有哪个x86程序能神一样的让这四个都满载的。
现在就是数据依赖性导致的IPC拉升困难,而不是CPU资源导致的IPC困难。

作者: itany   发布时间: 2013-05-22

3.06ht那时候不是说明了么,cpu负载越高,ht作用越大。主要是一个程序不可能充分利用每条流水线,总会有空闲的,超线程就是这个作用。对流水线长的cpu像p4那种东西来说作用比较明显,哦,现在的amd也可以。

作者: Elwin   发布时间: 2013-05-22

Elwin 发表于 2013-5-22 15:31
3.06ht那时候不是说明了么,cpu负载越高,ht作用越大。主要是一个程序不可能充分利用每条流水线,总会有空闲 ...

AMD没有技术做超线程,也没有技术互联8个及以上的核心
不进行技术预研的后果,农企一样的经营态度

作者: itany   发布时间: 2013-05-22

如果 该应用 能够让一个core 里面的流水线都充满 没有气泡的时候,超线程无用。
如果 该应用 让一个 core 里面的流水线有气泡,超线程起作用。
大部分软件 无法做到让core的流水线 没有气泡。具备超线程的core 肯定是长流水线20级以上。
超线程技术 增加10%的晶体管 最多提升30%的性能。

作者: junychen   发布时间: 2013-05-22

看了很有启发阿,受教育了。。

作者: azure911   发布时间: 2013-05-22

junychen 发表于 2013-5-22 16:01
如果 该应用 能够让一个core 里面的流水线都充满 没有气泡的时候,超线程无用。
如果 该应用 让一个 core  ...

Nahelem流水线16级

作者: acqwer   发布时间: 2013-05-22

itany 发表于 2013-5-22 15:22
Haswell有四个ALU,没有哪个x86程序能神一样的让这四个都满载的。
现在就是数据依赖性导致的IPC拉升困难 ...

haswell哪里有四个ALU啊,那是被毙掉的老方案了,不然也就不会只有这么点性能增长了。

作者: xf-108   发布时间: 2013-05-22

xf-108 发表于 2013-5-22 16:44
haswell哪里有四个ALU啊,那是被毙掉的老方案了,不然也就不会只有这么点性能增长了。

您认为今年IDF beijing的幻灯片是胡扯的?
IVB的0、1、5 Port上挂了ALU,Haswell增加了两个Port,6号Port上边挂了一个ALU,同时有分支功能;7号Port上挂了Store AGU

作者: itany   发布时间: 2013-05-22

现在的单线程性能问题并不是说CPU的资源不够,而是桌面程序难以利用到增加的ALU
且看服务器好了。

作者: itany   发布时间: 2013-05-22

超线程是多线程技术的一种。
1.和多少级流水线无关。他利用的事空闲资源。(有等待就有空闲。)
2.根据资源不同,分为不同粗细多种,AMD的推土机也是一种多线程技术。
3.不存在理想环境,所以多线程技术总是有用处的。(个别负面作用不是解决不掉,是没人去解决。)

作者: potomac   发布时间: 2013-05-22

itany 发表于 2013-5-22 17:40
您认为今年IDF beijing的幻灯片是胡扯的?
IVB的0、1、5 Port上挂了ALU,Haswell增加了两个Port,6号Por ...

PRAM说那个是最初大改的老方案了,真的改动那么大的话,性能增长不会只有这么点。实际成品不是这样的,基本就是小打小闹,所以才造成性能停滞的现状。

更早之前还有一个大大改方案,同频单线程能提升30%,使用eDRAM取代SRAM作为Cache,这么激进的方案早就被pass了。

作者: xf-108   发布时间: 2013-05-22

本帖最后由 xf-108 于 2013-5-22 19:46 编辑
itany 发表于 2013-5-22 17:41
现在的单线程性能问题并不是说CPU的资源不够,而是桌面程序难以利用到增加的ALU
且看服务器好了。


原来intel用的是超标量设计,3个ALU给四个发射端口用,现在还是四个发射端口,所以单线程增长不大。但是超线程的时候,运算资源不足,增加的单元用处就来了。
现在很明显的,haswell多线程性能照样没多少增长,这其实已经说明了运算资源没怎么增加。

作者: xf-108   发布时间: 2013-05-22

acqwer 发表于 2013-5-22 16:22
Nahelem流水线16级

HASWELL 呢?  WIKI上说是14级 CORE以来 一直是短流水线了

作者: PRAM   发布时间: 2013-05-22

PRAM 发表于 2013-5-22 19:34
HASWELL 呢?  WIKI上说是14级 CORE以来 一直是短流水线了

SNB/IVB/HSW没听说有改流水线级数,姑且认为都是16级吧,不增加就算不错了,流水线也不是越短越好的。

作者: xf-108   发布时间: 2013-05-22

xf-108 发表于 2013-5-22 18:58
原来intel用的是超标量设计,3个ALU给四个发射端口用,现在还是四个发射端口,所以单线程增长不大。但是 ...

什么乱七八糟的啊
Ivy Bridge是6个发射端口(0-5),其中0、1、5挂的是ALU+整数SSE,再其中0、1上边挂浮点SSE和AVX。2、3上边挂的是读写AGU,4是写数据。Haswell增加到了8个口,增加了一个ALU+分支和一个写AGU

本来这就是公认的,哪来的四个发射口啊

作者: itany   发布时间: 2013-05-22

xf-108 发表于 2013-5-22 19:46
SNB/IVB/HSW没听说有改流水线级数,姑且认为都是16级吧,不增加就算不错了,流水线也不是越短越好的。

一般是这样算的,从微操作缓存(在decode环节之后)开始是14级,从取指到解码完毕应该是5级,这样如果微操作缓存没有命中是19级

作者: itany   发布时间: 2013-05-22

itany 发表于 2013-5-22 21:12
什么乱七八糟的啊
Ivy Bridge是6个发射端口(0-5),其中0、1、5挂的是ALU+整数SSE,再其中0、1上边挂浮 ...

好吧……我的意思是,haswell依然只是四发射处理器……

据说,这个方案是老方案了,因为功耗和进度不理想就砍了。新方案是个猴版,所以性能原地踏步。

作者: xf-108   发布时间: 2013-05-22

xf-108 发表于 2013-5-22 21:30
好吧……我的意思是,haswell依然只是四发射处理器……

据说,这个方案是老方案了,因为功耗和进度不理 ...

我认为对于x86来说,单线程瓶颈并不是在4发射上边了。
别看前边是4发射,因为x86的内存访问特性,决定了需要额外的AGU(因为内存-寄存器,寄存器-内存,等运算)

关键是传统的体系要提升IPC已经很难了,要提高也是搞新架构了。

作者: itany   发布时间: 2013-05-22