超线程(Hyper-Threading)
运⾏⽅式
每个单位时间内,⼀个只能处理⼀个(:thread),以这样的单位进⾏,如果想要在⼀单位时间内处理超过⼀个线程是不可能的,除⾮是有两个CPU的实体单元。技术是将两个⼀样的CPU放置于⼀个封装内(直接将两个CPU做成⼀个)。⽽英特尔的Hyper-Threading技术是在CPU内部仅复制必要的资源、让CPU模拟成两个;也就是⼀个实体核⼼,两个逻辑,在⼀单位时间内处理两个线程的⼯作,模拟双核⼼、双线程运作。
Intel⾃开始引⼊、、⼤量的及、多指令、等特性;这些特性的原理是让CPU拥有⼤量资源,并可以预先运⾏及平⾏运⾏指令,以增加指令运⾏效率,可是在现实中这些资源经常闲置;为了有效利⽤这些资源,就⼲脆再增加⼀些资源来运⾏第⼆个线程,让这些闲置资源可运⾏另⼀个线程,⽽且CPU只要增加少数资源就可以成两个运作。
Hyper-Threading概述
超线程技术,Hyper-Threading是⼀种多线程并⾏技术——即同步多执⾏线程(,simultaneous Multi-threading)。通过在⼀枚cpu上整合两个逻辑处理器(注:是处理器⽽不是运算单元)单元,使得具有这种技术的新型CPU具有能同时执⾏多个线程的能⼒。
Hyper-Threading的原理很简单,就是把⼀颗CPU当成两颗来⽤,将⼀颗具Hyper-Threading功能的“实体”处理器变成两个“逻辑”处理器,⽽逻辑处理器对于操作系统来说跟实体处理器并没什么两样,因此操作系统会把⼯作线程分派给这“两颗”处理器去执⾏,让多种应⽤程序或单⼀应⽤程序的多个执⾏绪(thread),能够同时在同⼀颗处理器上执⾏;不过两个逻辑处理器是共享这颗CPU的所有执⾏资源。
thread技术Hyper-Threading做法是复制⼀颗处理器的架构指挥中⼼(architectural state)变成两个,使得认为是在与两颗处理器沟通,但这两个架构指挥中⼼共享该处理器的⼯作资源(execution resources)。架构指挥中⼼追踪每个程序或执⾏绪的执⾏状况;⼯作资源指的则是“处理器⽤来进⾏加、乘、加载等⼯作的单元(execution unit)”。如此⼀来,操作系统把⼯作线程安排好以后,就分派给这两个逻辑上的处理器执⾏,⽽这颗CPU的每个执⾏单元等于在同样的时间内要服务两个“指令处理中⼼”,当然它的效率就⾼多了,操作系统就把⼀颗实体的处理器认定为两个逻辑处理器作⼯作指派,当然整体⼯作效能就⽐没有具备Hyper-Threading 的处理器⾼出许多,性价⽐⾃然⾼出许多。
顾虑
由于处理器实际上只有⼀个实体核⼼,能够提升的性能约为5~15%左右,且万⼀发⽣资源互抢的情形时,整体性能反⽽会下降。这亦是不提供虚拟双核⼼处理器的理由。
要令到电脑⽀持超线程技术,必须要软件和硬件的配合。
硬件⽅⾯:处理器本⾝要⽀持超线程,芯⽚组亦要⽀持相关处理器。
软件⽅⾯:要充分发挥超线程的性能,⽤户要使⽤⽀持超线程技术的操作系统(除了微软的Windows 2000之后的版本外,亦开始⽀持该技术)。不是所有程序都可以发挥超线程,通常优化了多处理器的程序都可以⽀持到。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论