什么是超线程技术?为什么电脑CPU核数是线程数的一半?

 背景:生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过CPU的频率越来越快,再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。

针对已采用的超级计数器(SuperScaler)及超级流水线(Super Pipe-line)的提速技术,英特尔指出了存在的问题:尽管付出了耗电量与芯片尺寸(生产成本)都大大增加的代价,但却无法成比例地相应提高微处理器性能。

如图:

  cpu提高频率与增加缓存的方法对于CPU系统性能的提升来说效益不佳(性价比不高),因为CPU对于内存及总线数据的读取速度远远比不上CPU执行单元计算的速度. 于是超线程技术应运而生.

   Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。

超线程技术就是利用特殊的硬件指令,把一个物理内核模拟成两个逻辑内核,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。

多线程技术一般采用多个微处理器即多处理器结构,线程与处理器形成一一对应关系。

而英特尔Hyper-Threading技术的特点是;

(1)物理上用一个处理器处理多个线程;

(2)多线程的分配采用根据计数器的空闲状态进行线程处理的SMT(simultaneous multi-threading-同时多线程)方式。


 超线程(Hyper-Threading)技术是Intel的创新设计,藉由在一颗实体处理器中放入两个逻辑处理单元,让多线程软件可在系统平台上平行处理多项任务,并提升处理器的执行资源的使用率。使用这项技术,处理器的资源利用率平均可提升40%,大大增加处理器的可用性能。

    超线程是同时多线程技术(SMT,Simultaneous Multi-Threading)的一种,这种技术可经由复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源。

对支持多处理器功能的应用程序而言,超线程处理器被视为两个分离的逻辑处理器。应用程序不须修正就可使用这两个逻辑处理器。同时,每个逻辑处理器都可独立响应中断。

第一个逻辑处理器可追踪一个软件线程,而第二个逻辑处理器则可同时追踪另一个软件线程。由于两个线程共同使用同样的执行资源,因此不会产生一个线程执行的同时,另一个线程闲置的状况。该方式将大大提升每个实体处理器中的执行资源使用率。使用这项技术后,每个实体处理器可成为两个逻辑处理器,让多线程的应用程序能在每个实体处理器上平行处理线程层级的工作,提升了系统效能。随着应用程序针对平行处理技术的逐步优化,超线程技术为新功能及用户不断增长的需求提供了更大的改善空间。

Hyper-Threading是Intel微处理器采用的一种技术,这种技术能够让微处理器在操作系统和应用程序中的性能表现的类似于两个处理器一样。这是Inte的IA-32处理器的特性。利用超线程技术,微处理器可以同时执行操作系统的两个指令或线程。这样可以在同一时钟周期内实现多个操作。

   对于操作系统而言,超线程处理器的性能表现得如同两个独立的处理器一样。由于大部分的操作系统(Windows以及Linux)都支持多处理器,因此操作系统采用超线程处理器时可以实现性能加倍.

Case:电脑配置案例分析

如下我们可以看到,此台电脑用了超线程技术,线程和逻辑处理器核数的数量是硬件核数的2倍. 这对电脑来说是十分重要的指标,对于电脑需要同时处理多个任务的话.

      缺点:遇到不支持超线程的应用时,可能性能不如不支持超线程的CPU,但是由于操作系统基本都支持超线程技术,所以CPU总体效率还是比较高,但是对于单个单线程的运行性能就可能大大降低了.(英特尔P4超线程有两个运行模式,SingleTaskMode(单任务模式)及MultiTaskMode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU 中,让单线程程序不会因其中一个逻辑CPU 闲置而减低性能,但由于被停止运行的逻辑CPU 还是会等待工作,占用一定的资源,因此Hyper-ThreadingCPU运行SingleTaskMode程序模式时,有可能达不到不带超线程功能的CPU性能.)

运行:

超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4HT的核心的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2Cache(二级缓存)则保持不变,这些部分是被分享的。

虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

优势

采用超线程,可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容