什么是超线程?

什么是超线程?


谈到超线程技术,我们先得了解什么是线程,什么是多线程。对于计算机微处理器而言,程序只是一组编译过的机器代码,可以执行相关的数据计算与操作,这些代码由一条条的指令组成,每一个代码组就是一条线程。
现有主流CPU为x86架构,每次只能执行一条线程,即单线程。单CPU系统中,在执行指令的时候,CPU先找出相应指令所在的内存位置,执行下一条指令,再转换到另一个位置,在同一时间内CPU只能对应一个指令。线程可以中断,并把中间结果暂存在另一个特殊位置(堆栈),不同的线程可以交叉运行,实现多任务,但每次运行的线程仍然仅有一条,千万不要把多任务和多线程混淆了。
既然一个CPU是单线程,那么两个CPU自然就可以双线程啦,如此类推,就会出现四路、八路系统。但双处理器系统的性能并不能达到单处理器的两倍,通常只有33%的性能增益。
为了提高CPU的性能,厂商通常采用增加工作频率和缓存容量的方法来提升速度,但这是治标不治本的方法,CPU只提高了速度,其内在潜力依然未能完全发挥,CPU的执行单元没有被充分利用,于是设计者就在CPU中加入两个逻辑处理单元,同时管理CPU的全部资源,直接提高CPU内核的工作效率。
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,提高处理器的性能。操作系统或者应用软件的多线程可以同时运行于一个HTT处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。
如何提升工作效率
那么,超线程技术是如何提高CPU性能的呢?
我们知道,CPU由很多执行单元组成(如整数运算单元、浮点运算单元和存储单元),这些执行单元无法同时工作,大多数时间有一半执行单元是处于空闲状态。例如,MS Office等商业软件主要使用整数运算单元和读写/存储单元,几乎不涉及浮点运算单元,3D渲染软件主要使用浮点运算单元,很少涉及整数运算单元,很明显,这种设计造成了很大的浪费。如P4处理器内部有7个执行单元,每个时钟周期内,约有2个执行单元工作,它们共执行两次操作,那么,其他5个单元完全没有用到。
为了解决这个问题,高端电脑采用了ILP(Instruction Level Parallelism,指令级平行运算)技术,可以同时执行多条指令,提高单CPU的效率。而x86架构只能让多个CPU来执行不同的线程,不过硬件成本增加了不少,于是超线程技术处理器的出现正式兼容两者的优势。
传统处理器和支持超线程处理器在指令执行上的对比,参见^42030101a^1、^42030101b^2、^42030101c^3。
从上面的对比图可以看出:采用了超线程技术后,处理器真正并行执行多个线程,从而在同一频率和缓存的基础上实现了提高系统性能的技术变革。
超线程技术对商用和家用电脑而言,除了全面提升系统性能以外,还增加系统平台所能支持用户的数量,大幅降低系统的反应潜伏时间(因为任务能被分为几个隔离的线程来同时执行),增加系统的指令执行数量,还有一点很关键的是,即使对于现有的IA-32体系软件它也能很好地兼容。因为,HTT处理器还提供一个中断指令,在执行适合单处理器的任务时,暂停其中一个逻辑内核,让操作系统识别为单处理器,在执行适合多处理器的任务时,重新打开逻辑内核,利用HTT来增加整体效率。
软硬件支持与应用
支持超线程技术需软硬件的支持,硬件方面需要主板北桥芯片的支持。目前支持超线程技术的北桥有850E、845E、845G(B版本)、845GV、845GE、845PE,以及未来英特尔能支持到533MHz FSB的北桥都将支持超线程技术。支持400MHz FSB的北桥是不支持超线程技术的,支持超线程技术的处理器配合这样的北桥使用时,只能作为传统的处理器使用。
超线程技术还需要主板对CPU的电源支持,需要主板能提供给处理器高达70A的电流,否则系统可能不能长期稳定工作。除此之处还需要主板BIOS的支持,需要BIOS加入特定的支持HTT处理器的代码。当BIOS检测到是超线程处理器时,在BIOS设置菜单中出现CPU Hyper-Threading(Enabled or Disabled)的选项。
超线程技术还需要操作系统的支持。目前支持超线程技术的有Windows XP和Linux 2.4.X。这不同于传统的处理器安装的Windows XP,使用超线程技术的处理器安装完Windows XP后在设备管理器中能显示有两个处理器和ACPI Multiprocessor PC。
当然你的处理器必须支持超线程技术。从即将于下个月发布的3.06GHz P4开始,英特尔的处理器都将支持超线程技术。
这里笔者以QDI的P2E 333和P8 333这两款主板为例,它们的北桥芯片分别是英特尔845PE和845GE,支持533MHz FSB和DDR333,支持处理器超线程技术;主板的CPU供电电源模块符合英特尔Northwood FMB2标准,能提供70A的电流;在测试中使用超线程处理器3.06GHz P4 CPU(实验样品)开机后,进入BIOS中出现CPU Hyper-Threading的选项。
安装Windows XP后,设备管理器出现两个处理器和ACPI Multiprocessor PC,在任务管理器中出现两个CPU实时使用率的图标,如^42030101d^4:
笔者对开启和关闭CPU Hyper-Threading功能的测试中,发现启用超线程技术能使系统性能提高近20%左右。
CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过目前CPU的频率越来越快,如果再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。
需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。 
简而言之:超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算。从而兼容多线程操作系统和软件,提高处理器的性能。操作系统或者应用软件的多线程可以同时运行于一个HTT处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。这样就可以使得运行性能提高30%,这是因为在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而“超线程”技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
如果单单是CPU支持超线程技术而没有芯片组、软件进行协同作战的话,超线程技术也是英特尔的一句空话而已。那有哪些芯片组支持超线程技术呢?
Intel方面有850E、845GE、845PE、845GV、845G、845E,新款的845GE、845PE芯片组均可正常支持超线程技术的使用,而早前的845E以及 850E芯片组只要升级BIOS就可以解决支持的问题。
而SIS矽统方面决定升级其SiS645DX、SiS648芯片组为“B”版,这样就可以顺利支持超线程技术。
威盛方面还没有宣布其P4X400以及P4X400A能否支持超线程技术的Pentium 4处理器。在软件方面:操作系统有Windows XP;应用软件有Office 2000、Office XP等。另Linux kernel 2.4.x以后的版本也支持超线程技术。
采用845PE、845GE的J主板为例,它们的北桥芯片分别是英特尔845PE和845GE,支持533MHz FSB和DDR333、支持处理器超线程技术。 
简单的说,把一个无力CPU模拟成两个逻辑CPU 
hao 


开机时一长三短的响声是什么意思,BIOS是AWORD的
600元用什么显卡?AGP的
我的电脑硬盘加密,现在把密码给忘了,有什么办法解?
大家来看看我想要的主板有吗?给30积分~!最好是高手进~!
6600LE 多少钱?DDR3 500/1000 的
有谁娶一个”母老虎”当老婆
3500块配机器不带显示器能配什么?
6600LE标准版的频率是多少?500/1000的是什么版的?
电脑时不时上不了网怎么办
复读机与电脑可以连线吗
yi_ran_rain 进来一下
我想问一下主板诊断卡最长见的竟有什么?
电脑硬件高手请进!!!
CPU风扇和显卡风扇不转了 怎么回事啊
ASUS主板BIOS中为啥检测不了光驱呢?
技嘉8IR2003最多支持多高的CPU啊??我现在装的是赛扬2.0,具体想知道支持赛扬多少?支持原装P4多少??
在桌面上右键属性无法进入...直接弹出对话框.如下:
我是提硬盘密码问题的小哥还有一个问题不懂,帮帮
人类能不能造出有感情的机器人?
装软件为是么光死机呢?
电脑显示器的问题
为什么我感觉我的电脑很慢.怎么可以让我电脑更快(我的电脑配置很好)
dcs的关键技术?
我的mp3不能用了是因为我的数据线输入找不到了又买了一根结果是没法安装软件我该怎么办谢谢
电脑的购买知识.
哪里有二手CPU卖?
内存DDR333 和400有什么不同 同一主板能装不同的这2个吗
电脑能成为数字收音机吗?
为什么我的DVD只能读DVD不可以读其他碟啊
在哪能下内存注册机的?
现在的CPU 64是什么意思啊
哪里可以找到显卡维修资料?
谁有优质的(做平面设计和主流游戏)电脑配置详细单(¥4000)
有没有集成多个功能键的鼠标
我的电脑开机时嗡嗡声音特别大是怎么回事?
关于SLI显卡性能的问题,高手进
紧急!如何关闭系统报警声音!
电脑的寻址主线和内存有什么关系呢?
映泰主板是一线品牌吗
有什么区别?
为什么我的CPU使用率老是100%
笔记本电脑的PCMIAC插槽怎么用啊
[求助]我重装系统后,播发音时却发现提示说:声卡出现问题?
一个ADSL的路由器一般要多少钱?
硬盘不转可能是什莫问题?
电脑显示器有重影,感觉模糊怎么办?
主板有哪些型号
如何区别盒装与散装?
华擎P4VM800 显卡升级???????
我的cpu超到外频133时,可以开机,但进入系统时就死机了,这是什么原因呀
一个奇怪的问题,请大家告知。
什么是超线程?
求支持LGA775插口CPU的主板
硬盘是多少缓存用什么能查出来?
问一下一个4.2的CPU多少钱!~?具体是什么牌子的请大家帮我推荐一下
我的CPU散热片很大,卡不上风扇,必须卡上吗
关于PCMCIA的问题
速龙64是SOCKET939好还是754好啊
旧电脑不能上网问题
哪位帮我看看我的电脑升级最佳方案和费用
为什么这么慢?
怎么才能知道自己的内存是DDR400还是333或者其他
AMD与INTEL技术相差有多大?
自己动手做一个MP3要具备什么知识?
我的CD-RW刻录机放进光盘声音很大.是什么原因.
什么核心的P42.4最垃圾?
笔记本摔了~~~~
关于SATA硬盘的问题
怎样装耳机(带麦)???XP
有什么方法可以把笔记本的红外线端口变成遥控器?
DL双层刻录机除了刻录功能这外,能不能播放DVD、VCD、MP3等光碟?
为何我的光区在我的电脑里找不到啊
怎么知道自己的内存是DDR400或333或其他 开机看不到
买电脑时机箱和电源如何判断好坏
我的电脑老死机
我的电脑老自己重起怎么回事啊?
INND 3DCF6800XT一些问题
装了电视卡是不是只要装了宽带就可以看了?
如何阻止QQ登陆?
联想外置1394卡好用否,采集视频有什么弊端.需要什么压缩软件,采集后怎样刻CD
SSE是什么意思?
谁能帮我~~~~~~~~~
NOKIA3120能当笔记本电脑的猫上网吗?
谁用过神舟一体机,质量怎样?
打印机卡式接口与USB接口如何转换
BIOS设置不能保存,更换电池也无济于事,条线没问题
紧急求教我的硬盘是串口还是并口
帮我解释一下,谢谢!!
请问什么牌子的80G硬盘最便宜?是多少?
配5800的电脑显示器要液晶的
我这样的配置可以卖多少钱
液晶显示器:国产的好还是洋品牌好?
为什么我的“前端总线频率”是100MHz啊?
在北京那里有联想S500数码相机的数据线卖?~
键盘开机
谁 能 比 我 惨 ?????
我要组装一部电脑,请问有什么好的方案..我要有打印机的和局域网的.....
32兆的显卡驱动为什么不能升级
电脑老是死机。。。请高手们帮下。。。
我用EVEREST测的,FSB是99MHz。赛扬2.4

100
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 9260 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49