超线程.docx
- 文档编号:23967681
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:9
- 大小:34.83KB
超线程.docx
《超线程.docx》由会员分享,可在线阅读,更多相关《超线程.docx(9页珍藏版)》请在冰豆网上搜索。
超线程
题目:
浅谈超线程技术的应用
院(系):
计算机信息与技术系
专业:
信息管理与信息系统
班级:
B090604
学生:
俊
学号:
B09060405
指导教师:
姜虹
摘要
超线程(Hyper-Threading,简称“HT”)。
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高CPU的运行效率。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,处理器需要多加入一个LogicalCPUPointer(逻辑处理单元)。
关键词:
超线程,超线程技术;
目录
1绪论1
2计算机操作系统的基本特征2
2.1并发2
2.2共享2
2.3虚拟(virtual)3
2.4异步性3
3线程4
4超线程技术5
4.1超线程技术的原理5
4.2超线程技术的概念5
4.3超线程技术实现的条件6
4.4超线程技术的优点和缺点7
4.4.1HT技术优点:
7
4.4.2HT技术缺点:
7
5超线程技术的应用8
5.1实例18
5.2实例29
总结10
参考文献11
1绪论
对于一般办公、文档处理的用户来说,也许会认为现在计算能力已经过剩了。
对于企业和科研院所来说,总是面临着计算能力不足的压力。
对于个人用户,应用程序越来越复杂,同时打开多个应用程序的情况非常普遍,QQ、游戏、视频软件等等。
以上应用对计算机的性能要求提出了高的要求,响应速度和精确是用户对计算机重点关注的对象。
CPU作为计算机的核心部件,自然成了计算机厂商和用户关注的焦点。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。
实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。
如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。
目前大多数执行线程缺乏ILP(Instruction-LevelParallelism,多种指令同时执行)支持。
2计算机操作系统的基本特征
2.1并发
并行性和并发性是既相似又有区别的两个概念。
并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
在多道程序环境下,并发性是宏观上在一段时间内有多道程序在同时运行。
但在单处理机系统中,每一时刻只能执行一道程序,故微观上,这些程序是在交替执行的。
应当指出,通常的程序是静态实体(PassiveEntity),它们是不能并发执行的。
为使程序能并发执行,系统必须分别为每个程序建立进程。
进程,又称任务,简单的说,是指在系统能独立运行并作为资源分配的基本单位,它是一个活动实体。
多个进程之间可以并发执行和交换信息。
一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等。
在操作系统中,引入进程的目的是使程序能并发执行。
2.2共享
所谓共享是指,系统中的资源可以供内存中多个并发执行的进程共同使用。
由于资源的属性不同,故多个进程对资源的共享方式也不同,可以分为以下两种方式。
(1)互斥共享方式系统中的某些资源如打印机、扫描仪等,虽然它们可以提供给多个进程使用,但在一段时间内却只允许一个访问该资源。
当一个进程访问资源时,其他欲访问该资源的进程必须等待,仅当该进程访问完并释放该资源后,才允许另一进程对该资源进行访问。
我们把在一段时间只允许一个进程访问的资源称为临界资源。
(2)同时访问方式系统中还有另一类资源,允许在一段时间内由多个进程同时对它进行访问。
这里所谓的“同时”往往是宏观的。
而在微观上,这些进程可能是交替地对该资源进行访问。
并发和共享是操作系统的两个最基本的特征,它们是互为存在的条件。
一方面,资源共享是以程序(进程)的并发执行为条件的;若系统不允许程序并发执行,自然不存在资源共享问题。
另一方面,若系统不能对资源共享实施有效的管理,则也必将影响到程序的并发执行,甚至根本无法执行。
2.3虚拟(virtual)
在操作系统中的所谓“虚拟”,是指通过某些技术把一个物理实体变成若干个逻辑上的对应物。
物理实体(前者)是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。
如在多道分时系统中,虽然只有一个CPU,但每个终端用户却都认为是一个CPU在专门为他服务,亦即,利用多道程序技术可以把一台物理上的CPU虚拟为多台逻辑上的CPU,也称为虚拟处理机。
在操作系统中虚拟的实现,主要是通过分时使用的方法。
2.4异步性
在多通道程序环境下,允许多个进程并发执行,但由于资源等原因的限制,通常,进程的执行并非“一气呵成”,而是以“走走停停”的方式运行。
内存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成,都是不可预知的。
很可能是先进入内存的作业后完成;而后进入内存的作业先完成。
或者说,进程是以异步的方式运行的。
尽管如此,但只要运行环境相同,作业经多次运行,都会获得相同的结果。
3线程
近几年,人们又提出了比进程更小的单位一线程,试图用它来提高系统内程序并发执行的程度,从而可进一步提高系统的吞吐量。
线程的概念已得到广泛的应用。
在操作系统中引入进程的目的,是为了使多个程序并发执行,以改善资源利用率及提高系统的吞吐量;那么在操作系统中引入线程,则是为了减少程序并发执行时所付出的时空开销,使操作系统具有更高的并发性。
为了说明这点,我们扩展上面说过的进程的两个基本属性:
(1)进程是一个可拥有资源的独立单位;
(2)进程同时又是一个可以独立调度和分派的基本单位。
然而为了使程序能并发执行,系统还必须进行以下一系列操作。
①创建进程。
系统在创建一个进程时,必须为其分配所需的、除处理机以外的所有资源,如内存空间、I/o设备以及建立相应的PCB(进程控制块)
②撤销进程。
系统在撤销一个进程时,又必须先对这些资源进行回收操作,然后再撤销PCB。
③进程的切换。
在对进程切换时,由于要保留当前进程的CPU环境和设置新选中的进程CPU环境,为此需要花费不少处理的时间。
简单的说,由于进程是一个资源的拥有者,因此在进程的创建、撤销和切换中,系统必须为之付出较大的时空开销。
也正因如此,在系统中所设置的进程数目不宜过多,进程切换的频率也不宜过高,但这也就限制了并发程度的进一步提高。
如何能使多个程序更好地并发执行,同时又尽量减少系统分开进行处理。
即对作为调度和分配的基本单位,不同时作为独立分配的单位,以使之轻装运行;而对拥有资源的基本单位,又不频繁的对之进行切换。
正是这种思想的指导下,开发了线程。
4超线程技术
4.1超线程技术的原理
超线程(Hyper-Threading,简称“HT”)。
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高CPU的运行效率。
4.2超线程技术的概念
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,处理器需要多加入一个LogicalCPUPointer(逻辑处理单元)。
因此新一代的HT的die的面积比以往的P4增大了5%。
而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2Cache(二级缓存)则保持不变,这些部分是被分享的。
超线程技术为每个物理处理器设置了两个入口─AS(ArchitectureState,架构状态)接口,从而使操作系统等软件将其识别为两个逻辑处理器。
这两个逻辑处理器像传统处理器一样,都有独立的IA-32架构,它们可以分别进入暂停、中断状态,或直接执行非凡线程,并且每个逻辑处理器都拥有APIC(AdvancedProgrammableInterruptController,高级可编程中断控制器)。
在处理多个线程的过程中,多线程处理器内部的每个逻辑处理器均可以单独对中断做出响应,当第一个逻辑处理器跟踪一个软件线程时,第二个逻辑处理器也开始对另外一个软件线程进行跟踪和处理了。
另外,为了避免CPU处理资源冲突,负责处理第二个线程的那个逻辑处理器,其使用的是仅是运行第一个线程时被暂时闲置的处理单元。
当一个逻辑处理器在执行浮点运算(使用处理器的浮点运算单元)时,另一个逻辑处理器可以执行加法运算(使用处理器的整数运算单元)。
这样做,无疑大大提高了处理器内部处理单元的利用率和相应的数据、指令处吞吐能力。
4.3超线程技术实现的条件
1.CPU的支持
实现“超线程”的功能必须选购一块支持“HT”技术的处理器。
Intel支持这一技术的CPU有Corei全系、Pentium43.06、2.4C、2.6C、2.8C、3.0GHz、3.2GHz处理器以及最新上市的Prescott核心的处理器。
2.主板芯片组和主板BIOS的支持
正式支持“HT”技术的芯片组有Intel的875P、E7205、850E、865PE/G/P、845PE/GE/GV、845G(B-stepping)、845E。
其中875P、E7205、865PE/G/P、845PE/GE/GV以及最新推出的915/925芯片组均可直接支持超线程技术的使用,而早前的845E以及850E芯片组,只要升级BIOS就可以解决支持的问题。
SiS方面有SiS645DX(B版)、SiS648(B版)、SiS655、SiS658、SiS648FX。
VIA方面有P4X400A、P4X600、P4X800。
同时,主板的BIOS也必须支持超线程功能。
3.操作系统和应用软件的支持
目前在微软的操作系统中只有WindowsXP及以上的版本才能正式支持“超线程”技术,Windows98/Me/2000均不支持此项功能。
一般说来,最大发挥HT技术的运行效能还需要真正支持超线程技术的软件,现实中这样的软件是少之又少的。
除了MSOffice系列软件和一些视频、图形如Photoshop等专业软件外几乎都不支持HT技术。
很多游戏也不支持HT技术。
4.4超线程技术的优点和缺点
4.4.1HT技术优点:
1.超线程技术的优势在于同时进行多任务批处理工作,尽管现在支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的发展方向,今后更多的软件将受益于超线程技术。
2.从目前来看,部分客户可以发觉在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。
3.客户同时运行两个以上的软件时候,将可以明显的感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。
4.另外目前支持超线程技术的WindowsXP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用Windows操作系统的时候可以很好的享受到超线程技术带来好处。
4.4.2HT技术缺点:
1.因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题(这也是在WindowsXP中运行显卡的测试软件时候,得分下降了一点)。
2.在打开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部缓存就会被划分成几区域,互相共享内部资源。
对于不支持多处理器工作的软件在双处理器上运行时出错的概率要比单处理器上高很多。
3.目前因为很多工作软件为Windows2000操作系统进行过优化,但是采用Windows2000这样的操作系统工作无法完全利用超线程技术的优势,也带来不了高的工作效率。
通过上面的解答,我们应该知道了超线程技术确实对系统性能提升有好处,但是这仅对多任务处理的时候有优势,在进行单个任务处理的时候,优势表现不出来,而且因为打开超线程,处理器内部缓存就会被划分成几区域,互相共享内部资源,造成单个的子系统性能下降。
个人认为,用户在进行单任务操作时候,没有必要打开超线程,只有多任务操作时候可以适时打开超线程,享受超线程技术带来的好处
5超线程技术的应用
5.1实例1
英特尔公司推出的“Nehalem-EP”至强处理器采用超线程技术,结合最新Nehalem架构及大容量缓存等优势,其最大的优点就在于能够充分地发挥每个核心运算潜能。
超线程技术的优越性体现:
虽然不能像增加内核那样成倍地提高运算性能,但其优点在于只需增加很少的电路就能够使处理器一次完成更多的指令,使得处理器的性能优10%-30%的提高。
5.2实例2
迅雷5使用的多资源超线程技术基于网格原理,能够将网络上存在的服务器和计算机资源进行有效的整合,构成独特的迅雷网络,通过迅雷网络各种数据文件能够以最快的速度进行传递。
多资源超线程技术还具有互联网下载负载均衡功能,在不降低用户体验的前提下,迅雷网络可以对服务器资源进行均衡,有效降低了服务器负载。
总结
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,提高处理器的性能。
操作系统或者应用软件的多线程可以同时运行于一个HTT处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。
这样就可以使得运行性能提高30%,这是因为在同一时间里,应用程序可以使用芯片的不同部分。
虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。
而“超线程”技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
虽然不能像增加内核那样成倍地提高运算性能,但其优点在于只需增加很少的电路就能够使处理器一次完成更多的指令,使得处理器的性能优10%-30%的提高。
参考文献
[1]汤小丹,梁红兵,哲凤屏,汤子瀛.计算机操作系统.西安:
西安电子科技大学出版社,2007.
[2]超线程技术.XX文库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线程