PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

Asuka小讲座之五:超线程技术通识

  [复制链接]
Asuka 发表于 2012-4-22 00:55 | 显示全部楼层 |阅读模式
点击数:22027|回复数:50
本帖最后由 Asuka 于 2012-4-22 01:00 编辑


    额,大家好,大家非常好啊,能继续看Asuka腿了那么久的又一篇小讲座真是太给我面子了哇。这段时间突然有点迷茫,之前写了一个大的章节,写完就空虚了,然后就不知道该以什么内容继续了。经石大委托,我稍微就最近很火(其实也不是咱们这里火)的一个东西做了些survey(调查),那就是超线程技术。Asuka其实觉得挺郁闷的,之前的摩尔定律亦或是CMOS技术,哪怕是其中的FinFET a.k.a 3D TriGate技术都是些年龄差不多和我这么大的技术了,只不过近些年才来到产品面,为大家所知。今天这个超线程技术,其实吧,也不例外,又要从回顾当年开始了,大家拿好爆米花。
    超线程技术(Hyper Threading Technology, HTT),诚如大家所知,是由一颗物理核心模拟成两颗逻辑核心以达到多线程处理目的的,属于同步多线程技术(Simultaneous Multithreading, SMT)的一种实现形式。而与SMT相对的呢,叫做SMP(你们敢不长那么像吗?),全称是Simultaneous Multiprocessing,翻译成同步多任务技术?╮(╯▽╰)╭,随便吧!说穿了,就是多核心战略啦!所以,我们要从P4和速龙的爱恨情仇开始开始讲起了。
    好吧,其实也没什么好讲的,大家都知道,AMD曾经雄起的那个时代,都过去了,╮(╯_╰)╭。又是那个年代哦,.13micron (130nm)左右的制程,频率之争发展到瓶颈,为啥?诚如之前所叙述的,在制程不断进步的时候,晶体管的穿透性能已经非常出色,而晶体管间的连线电阻所导致的RC延迟已经超过了晶体管的延迟,成为了左右集成电路频率性能的最大障碍,集成电路设计开始从“门主导”转向“绕线主导”,频率之争开始进入胶着,眼看就打不下去了,大家想想现在仍然雄踞超频榜前列的赛扬,怀念怀念就行了。然后,Intel开始推广超线程技术,因为只要稍微加一点点小结构就好了。而AMD则更早意识到,今后的芯片性能基本靠堆,现在芯片里堆北桥堆时钟发生器什么的,这些原来扔在主板上的电路,将来则是要开始3D die stacking(就是集成电路的3D堆叠,别和3D晶体管搞错了哦!)。自从Intel在当时被AMD扇了一次以后,现在就同时走着SMT和SMP两条道路,反正都是用来赚钱的。插一句,AMD曾经的这一成功虽然在后期显得僵化而被我们诟病,但我们也不怎么能怪他,毕竟,芯片性能靠堆的这一现状基本没有变,而频率提升更是早被定义为没有前途,指望在硬件上获得突破其实已经非常困难,更值得期待的只能是“软”层面的架构与“并行”这些革新了,这也就是Intel的Tick-Tock愈加倾向于依赖架构进步的原因。
    让我们就来重温下速龙当时的辉煌吧!多核心战略其实很简单,两个物理核心达到几乎2倍性能,没什么好说的。那超线程呢?我们从它的基本原理开始看,Intel在当年也已经注意到了并行处理的需求,但显然没有摆脱以往的对于单核心性能的依赖,且依赖于复数核心对于能源的消耗要大很多,软件优化也没有很到位。同时,他们注意到,其实单核心的运算能力其实并没有经常被充分发挥出来,哪些时候呢?缓存误读,打断,分支结构等,比如,大家都知道CPU有多级缓存以及内存,以及硬盘等多级存储结构,拥有不同特性和存在目的的同时,性能也各不相同,效能优化勋章就是为了提升这其中的数据吞吐量而设置的,超频仅仅超运算速度意思就不如一起超频来得大,大家都知道。回归正题,那么CPU的高运算速度就会受限于低级的缓存之间的读写的拖累,从而在面向这些任务的时候就经常处于闲置状态,高运算速度得不到发挥。超线程技术就试图去利用这些延迟时间,更充分地发挥CPU的运算功力,所以通过模拟多颗逻辑核心来尽可能充分调度CPU的运算,让CPU可以不受限于各种读写等待,前置结果等待,分支结构等待。这样,两颗逻辑核心就可以共用一颗物理核心中的指令集,缓存,管线,而要实现则只要加一些用于调度、分配的小结构就好,这部分的调度原理相当繁杂,就不赘述了,大家有个概念就好。我们看一张图,

    大家不必纠结于加了些什么,只需要看到,其实只加了一点点东西哦,可能仅仅使物理核心大了5%不到,却让大家获得了20%左右的提升,可喜可贺,可喜可贺。
    然而,想法非常理想,并且为了让系统和软件可以方便调用这种技术,真的产生了两颗逻辑核心,这就必然导致了一个有限资源的分配问题,虽然Intel建立了一套非常完善的动态分配的调度策略,但当遇到CPU运算负担很重或者缓存占用率极高亦或是要调用非常复杂指令(过于复杂的指令HTT难以灵活调度)的任务时,亦即,当遇到一颗物理核心尚且处理吃力的进程时,由于兼顾两颗逻辑核心之间的公平性等考量而产生的僵化的分配策略就会拖运算的后腿了,也就是抢资源发生了。然后就是,当多线程技术应用于多核心CPU时,系统与软件如果对这些逻辑核心完全一视同仁,就有可能面对推土机遇到的问题,那就是难以充分调度闲置的物理核心,而纠结在了相对受限的部分逻辑核心中,导致性能瓶颈的产生。
    我们来看看数据,这里引用一篇paper中对超线程性能发挥的研究。受限是超线程发挥作用的表现。

    其中,横坐标是各种benchmark,各有侧重,几乎可以涵盖所有现实使用中的情况,纵坐标为效能乘数,图中的方框表示的是单一的一种benchmark同时在一颗物理核心中模拟出来的两颗逻辑核心中运行的结果范围,可见,HTT对于相同或相似线程的叠加,基本都可以做到20%左右的效能提升,反映到现实生活中,这就相当程度上代表了HTT在对诸如视频转码,数据库操作等相似任务中起到的优良表现,绝对的good job。
    当然,为了重温那个时代AMD的辉煌,我们也来看看走多核心道路的AMD赢了多少。

    一目了然,不必解释了吧。
    然后让我们看看,超线程不是万能的,非常依赖于软件的支持与调度策略的优化。

    这张图,表示的是横轴和纵轴的两种benchmark分别跑在同一颗物理核心模拟出的两颗逻辑核心中时,效能的提升或落后,图中越是深色的黑框表示效能越好,同时,越浅的框代表超线程技术越拖后腿的情况。
    通过对于这些情况的具体分析,基本可以总结为,超线程技术对于那些缓存误读率高(尤其是L1 Cache)的复数应用,比如数据库操作等,以及对CPU资源的利用存在异向性的多个线程,比如,两个线程一个主要依赖指令集,另一个依赖缓存这种互相不怎么抢资源的调度方式会有一定提升。而这些特征,显然更加依赖软件方面来解决,以充分利用硬件资源,说穿了就是个非常简单的结论了。诚如硬件发展至今,已然非常先进,软件层面的进步却还有相当大的空间。
    所以,希望大家综合评估预算和自己的使用习惯,理性分析并选择最合适的产品,不必盲从,过度消费等于浪费,就是这样。╮(╯_╰)╭

Asuka小讲堂开讲啦!之一:摩尔定律 http://bbs.pceva.com.cn/thread-40293-1-1.html
Asuka小讲座之二:CMOS性能与制程上 http://bbs.pceva.com.cn/thread-40527-1-1.html
Asuka小讲座之三:CMOS性能与制程中 http://bbs.pceva.com.cn/thread-40803-1-1.html
Asuka小讲座之四:CMOS性能与制程下 http://bbs.pceva.com.cn/thread-41263-1-1.html
Asuka小讲座之五:超线程技术通识   http://bbs.pceva.com.cn/thread-43263-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1活跃度 +5 收起 理由
spartan + 5 以资鼓励

查看全部评分

wsy2220 发表于 2012-4-22 01:29 | 显示全部楼层
希望有一期能更解析一下当前推土机的架构为什么表现不好`(*∩_∩*)′
heren3 发表于 2012-4-22 01:58 | 显示全部楼层
浮点占地大,整数占地小,于是2个整数一个浮点搞成所谓的双核模块

而浮点又是最重要的
hxl 发表于 2012-4-22 10:10 | 显示全部楼层
wsy2220 发表于 2012-4-22 01:29
希望有一期能更解析一下当前推土机的架构为什么表现不好`(*∩_∩*)′



推土机的设计理念就是"高频"
可惜GF工艺不行32NM搞到还不如45NM


上个R11.5的图,应该是目前8线程最高的
不知道3770K能不能超越



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
ggxuelei 发表于 2012-4-22 10:11 | 显示全部楼层
又有新作了,灰常给力~
heren3 发表于 2012-4-22 16:28 | 显示全部楼层
Intel在Pentium 4 3.06G第一次带来了HT技术,我当年记忆犹新

主要是进行线程拆分,将三个ALU均分为两个线程进行工作

因为当时的单核心CPU在多个程序共同运行的时候是使用分时进行的,时钟周期1,3,5,等执行线程A,时钟周期2,4,6等执行线程B;

超线程技术让单核心CPU将三个ALU拆分成1+2的模式,无需进行分时操作,同时运行多个程序

HT技术一直以来存在10%~20%的重多线程负载性能提高
heren3 发表于 2012-4-22 16:30 | 显示全部楼层
后来HT技术消失好久,Nehalem架构的i7将ALU等单元偶数化,进一步加强了HT性能
Slaughter 发表于 2012-4-22 22:50 | 显示全部楼层
我感觉,超线程是为了弥补超长流水线带来分支预测错误后引起效能低下问题的解决方案。
记得P4是超长流水线,但是一旦分支预测错误后就要重头运算,导致普通办公应用效能非常低。超线程就是为了弥补这个问题吧。楼主别笑,俺是外行,跟你请教啦。
Asuka  楼主| 发表于 2012-4-22 23:48 | 显示全部楼层

RE: Asuka小讲座之五:超线程技术通识

Slaughter 发表于 2012-4-22 22:50
我感觉,超线程是为了弥补超长流水线带来分支预测错误后引起效能低下问题的解决方案。
记得P4是超 ...

对啊对啊   这就是其中一个方面   没有错
时光匆匆 发表于 2012-4-23 01:17 | 显示全部楼层
意思是AMD又重走当年intel高频路线?
Asuka  楼主| 发表于 2012-4-23 01:44 | 显示全部楼层

RE: Asuka小讲座之五:超线程技术通识

时光匆匆 发表于 2012-4-23 01:17
意思是AMD又重走当年intel高频路线?

我好像没那么说
情非首尔 发表于 2012-4-23 08:31 | 显示全部楼层
受教了。。。
cltyky 发表于 2012-4-23 09:32 | 显示全部楼层
本帖最后由 cltyky 于 2012-4-23 09:43 编辑

楼主,你好!
经你一说,俺对Intel所发展的HTT有了认识;
俺对HTT是这样理解的:
HTT就如是城市为了解决用地紧张和降低开发成本,而发展的综合性大楼;通过增加楼层可以增加综合性大楼的功能,但是楼层增加得再多,其功能还是受限于电梯是否拥堵;
只要不是上下班高峰期和突发事件,大家都不抢电梯时,综合性大楼的功能才能发挥出来
综合性大楼的功能是比不上单层的综合性建筑群,但单层综合性建筑群将耗费更多的土地和成本

点评

可以这样理解,不过我觉得从产能不同流水线间的调度这个角度去理解更好,因为你举的这个例子似乎并没有很明确的调度方案。  发表于 2012-4-23 10:23
cltyky 发表于 2012-4-23 11:19 | 显示全部楼层
本帖最后由 cltyky 于 2012-4-23 11:21 编辑


Asuka  可以这样理解,不过我觉得从产能不同流水线间的调度这个角度去理解更好,因为你举的这个例子似乎并没有很明确的调度方案。  
-------------------------------
thank you!
你能回答我的问题;
那这幢综合性大楼加装监控系统和增设调度中心,是否与HTT技术更接近了;
时光匆匆 发表于 2012-4-23 19:53 | 显示全部楼层
Asuka 发表于 2012-4-23 01:44
我好像没那么说

呵呵,我是说从当前amd的举动猜测~都已经能飙到4G+了,人类和硅极限已经不能阻止amd了
Asuka  楼主| 发表于 2012-4-23 20:50 | 显示全部楼层
cltyky 发表于 2012-4-23 11:19
Asuka  可以这样理解,不过我觉得从产能不同流水线间的调度这个角度去理解更好,因为你举的这个例子似乎并 ...

嗯  差不多  这种东西   有概念就可以了   意会既可 O(∩_∩)O~
cltyky 发表于 2012-4-24 08:13 | 显示全部楼层
Asuka 发表于 2012-4-23 20:50
嗯  差不多  这种东西   有概念就可以了   意会既可 O(∩_∩)O~

再次感谢你的科普!
你的电子知识深厚,科普通俗易懂;
是我们广大PC爱好者的福音。
幻目之童 发表于 2012-4-24 17:21 | 显示全部楼层
好吧,只知道4核8线程,其他都不懂,但还是要支持!!
windyes 发表于 2012-4-25 01:32 | 显示全部楼层
amd的k线图还是没看懂
yanleiberg 发表于 2012-4-25 02:06 | 显示全部楼层
本帖最后由 yanleiberg 于 2012-4-24 13:16 编辑

现在最新的snb的超线程技术已经远不是p4时代可比较了的吧,对于相似的任务性能提升最优时可以有80%左右的提升吧。
为什么只字未提现在最新的snb超线程技术?

嗯。。。我有些想当然了。。。忘了在哪里看到的80%了
仔细检查了下,大概只有10%到40%的提升。。。
平均10-15%。。。 2600K果然不给力啊。呵呵

http://www.hardwarecanucks.com/f ... ssors-review-6.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部