超线程有哪些工作原理及优缺点

作者&投稿:司马荣 (若有异议请与网页底部的电邮联系)
~   超线程是Intel 所研发的一种技术,于2002年发布,相信很多人对超线程的工作原理还不是很了解吧。以下是由我整理的超线程的内容,希望大家喜欢!

  超线程的简介
  通过超线程技术,英特尔成为第一家公司实现在一个实体处理器中,提供两个逻辑线程。

  之后的Pentium D纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个逻辑线程。超线程的未来发展,是提升处理器的逻辑线程,英特尔有计划将8核心的处理器,加以配合超线程技术,使之成为16个逻辑线程的产品。

  英特尔表示,超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升。但实际上,在某些程序或未对多线程编译的程序而言,超线程反而会降低效能。除此之外,超线程技术亦要 操作系统 的配合,普通支持多处理器技术的系统亦未必能充分发挥该技术。例如Windows 2000,英特尔并不鼓励使用者在此系统中利用超线程。原先不支持多核心的Windows XPHome Edition却支持超线程技术。
  超线程的工作原理
  尽管提高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的性能。
  超线程技术的优点
  1.超线程技术的优势在于同时进行多任务批处理工作,尽管现在支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的发展方向,今后更多的软件将受益于超线程技术。

  2.从目前来看,部分客户可以发觉在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。

  3.客户同时运行两个以上的软件时候,将可以明显的感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。

  4.目前支持超线程技术的Windows XP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用Windows 操作系统的时候可以很好的享受到超线程技术带来好处。
  超线程技术的缺点
  1.因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题。

  2.在打开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部缓存就会被划分成几区域,互相共享内部资源。对于不支持多处理器工作的软件在双处理器上运行时出错的概率要比单处理器上高很多。

  3.目前因为很多工作站软件为Windows 2000操作系统进行过优化,但是采用Windows 2000这样的操作系统的工作站无法完全利用超线程技术的优势,也带来不了高的工作效率

  4.超线程技术只能提高40%左右的性能(测评时可以看成50%,即Core i3 的执行效率为3核速率,Core i5 4核 HT与Core i7 的执行效率为6核速率)

  与双核心区别

  超线程(Hyper Threading)技术,是近几年在程序处理上比较经典的解决方案,具有超线程技术的CPU,搭配支持超线程技术的Windows 系统(Windows XP/2003),可以减少系统资源的浪费,从而提高了处理器的工作效率。

  实际上,超线程技术是把一个处理器模拟为两个处理器使用,这样能有效地利用和分配资源,达到提高整体性能的目的,这就是为什么超线程CPU在系统中也会被识别成两个CPU的原因。

  双核心CPU则不同,双核心处理器的概念就是将两颗处理器的芯片,通过全新的封装技术,整合成为一颗处理器,在这一颗处理器中拥有两颗核心,真正地实现了多处理器协同工作。双核心处理器核心内的资源都是独立的,而且也可以交换使用资源,核心与核心之间沟通的延迟远比多个单核心处理器同时运行好。
  超线程技术的技术支持
  技术原理

  "超线程"(Hyperthreading Technology)技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理超线程芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬件的支持下大幅度的提高运行效能,从而实现在单处理器上模拟双处理器的效能。其实,从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分"调动"起来的技术。

  实现条件

  * CPU的支持,实现"超线程"的功能必须选购一块支持"HT"技术的处理器。Intel 支持这一技术的CPU有Core i3、Core i5、Core i7全系。在老CPU中,Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott处理器,还有部分型号的Xeon支持超线程技术。

  *主板芯片组和主板 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也必须支持超线程功能。

  *操作系统和应用软件的支持

  目前在微软的操作系统中只有Windows XP及以上的版本才能正式支持"超线程"技术,Windows 98/Me/2000均不支持此项功能。

  一般说来,最大发挥HT技术的运行效能还需要真正支持超线程技术的软件。


Java基础-线程池原理与5种线程池(附代码)
缓存线程池,可根据需求动态创建线程,当线程闲置时间过长,会自动回收。 单线程线程池,所有任务由一个线程顺序执行,保证串行执行的特性。 定时线程池,每个任务都有超时时间,未完成的任务会被线程池中断。 列队线程池,通过任务队列控制并发量,确保线程池负载均衡。源码实例展示了这些原理在实际编程...

线程并发原理是什么意思?
线程并发的实现原理是通过将多个线程同时执行计算,并共享计算机资源来提高系统的处理效率。线程并发依赖于并发编程的基础:共享可变状态的正确性控制。线程之间需要有足够的同步机制来共享对变量的读写和修改,从而避免竞争和死锁等问题。线程并发广泛应用于各种应用场景,如Web服务器、数据库、操作系统等。在...

线程池工作原理
管理线程,当线程执行完当前任务,不会死掉而是 会从队列里面取 1.降低系统资源消耗。通过复用已存在的线程,降低线程创建和销毁造成的消耗;2.提高响应速度。当有任务到达时,无需等待新线程的创建便能立即执行;3.提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗大量系统资源,还会...

1、线程池执行流程和实现原理
线程池主要是依靠队列进行任务执行,循环加队列阻塞来保持线程存活 4.2 timed为true,队列空了,执行poll超时,会返回null 4.3 若r == null,则此处timedOut的值被设置为true 4.4 在下一次循环中timed && timedOut都是true并且 workQueue.isEmpty()是空的。那就会返回null 4.5 getTask返回null,...

...带你学习ThreadPoolExecutor线程池实现原理
帮助我们更好地理解线程池的工作机制。总结来说,通过对比分析和实践,我们对ThreadPoolExecutor的线程池实现有了更深入的理解,包括状态管理、任务提交和执行流程等。深入阅读源码后,你会发现线程池的复杂性和优化设计。如果你对Java线程池感兴趣,这将是一次很好的学习和实践机会。

多线程下载原理
多线程下载的核心原理基于服务器并发连接。当服务器同时与多个用户保持连接,这些用户共享服务器的带宽。假设所有用户的优先级平等,那么每个用户实际占用的带宽将等于服务器带宽除以用户数。例如,如果服务器带宽为56Kbps,而有10个用户连接,每个用户理论上只能获取5.6Kbps,即大约0.7K字节每秒的下载速度。

Java线程池原理-附源码解析
线程池工作流程:- 当任务提交,线程池根据规则创建、执行或阻塞Worker线程。- keepAliveTime控制空闲线程的存活时间。- 拒绝策略决定处理满队列任务的方式。优化线程池配置:- 根据任务类型调整线程数,CPU密集型用N+1,I\/O密集型用2N。- 预热核心线程、动态修改配置和监控线程池状态,防止OOM。总结:...

面试篇-ConcurrentHashMap的线程安全实现原理及应用
面试中常常涉及的ConcurrentHashMap,它是Java中一个重要的线程安全数据结构。不同于非线程安全的HashMap,ConcurrentHashMap允许多线程同时操作,无需额外的同步措施。其工作原理基于哈希函数将键映射到桶,结合链表或红黑树等数据结构处理哈希冲突,关键在于采用了分段锁机制。分段锁将散列表划分为多个独立的...

线程池原理
线程池原理是处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这...

超线程有哪些工作原理及优缺点
例如Windows 2000,英特尔并不鼓励使用者在此系统中利用超线程。原先不支持多核心的Windows XPHome Edition却支持超线程技术。超线程的工作原理 尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分...

怒江傈僳族自治州15355731137: 什么是超线程技术? 实现的原理以及优势 -
诺叙果糖: 简单地说就是多一个逻辑核心,工作的时候逻辑核心和实际的核心独立工作.但是ALU,FPU以及高速缓存单元这些都是一起共享的.因此真实性能达不到真正的双核

怒江傈僳族自治州15355731137: 超线程的技术缺点 -
诺叙果糖: 1.因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题. 2.在打开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部...

怒江傈僳族自治州15355731137: 超线程的主要工作原理 -
诺叙果糖: 所谓超线程技术就是利用特殊的硬件指令,把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,从而使单个处理器就能“享用”线程级的并行计算的处理器技术.多线程技术可以在支持多线程的操作系统和软件上,有效的增强处理器在多...

怒江傈僳族自治州15355731137: 什么是超线程技术.有什么用处 那些支持呢? -
诺叙果糖: 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率.因此支持Intel超线程技术的cpu,打开超...

怒江傈僳族自治州15355731137: 超线程是什么? -
诺叙果糖: 1.“超线程”技术原理揭示 “超线程”(Hyperthreading Technology)技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬件的支持下大幅度的提高运行效能,...

怒江傈僳族自治州15355731137: 超线程技术指什么 -
诺叙果糖: 简单的说,超线程技术(Hyper Threading)是一种同步多执行绪(SMT,simultaneous Multi-threading)技术,它的原理很简单,就是把一颗CPU当成两颗来用,将一颗具Hyper-Threading功能的“实体”处理器变成两个“逻辑”处理器而逻辑处...

怒江傈僳族自治州15355731137: 超线程技术到底是一个什么样的技术? -
诺叙果糖:超线程是英特尔所研发的一种技术,于2002年发布.超线程的英文是HT技术,全名为Hyper-Threading,中文又名超线程.超线程技术原先只应用于Xeon处理器中,当时称为Super-Threading.之后陆续应用在Pentium 4中,将技术主流化.早...

怒江傈僳族自治州15355731137: CPU超线程功能有什么用,简单解释一下 -
诺叙果糖: CPU由控制单元、运算单元、存储单元和时钟等组成,但是在某一时刻,只能处理某一条指令.这样其他的单元就被闲置了.超线程的作用就是在处理某一指令时,使用闲置的部分进行其他操作. 如果把CPU比作人,那么没有超线程时这个人只用右手干活.有了超线程之后,左右手同时干不同的事情.在一定程度上提高了效率.

怒江傈僳族自治州15355731137: Hyper - Threading的缺点 -
诺叙果糖: 超线程技术的缺点有以下几点:(1)英特尔P4超线程有两个运行模式,SingleTaskMode(单任务模式)及MultiTaskMode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集...

怒江傈僳族自治州15355731137: 什么是超线程? -
诺叙果糖: Hyper-Threading技术简介 ??Hyper-Threading做法是复制一颗处理器的架构指挥中心(architectural state)变成两个,使得Windows操作系统认为是在与两颗处理器沟通,但这两个架构指挥中心共享该处理器的工作资源(execution resources...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网