什么是超线程技术?通俗的解释一下

什么是超线程技术?通俗的解释一下,第1张

超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程
其实是个骗局,简单的说就是 在单核里面模拟双核,双核上模拟四核。但是cpu物理上还是只有一个核或两个核!只是你在设备管理器和任务管理器却看到的是双核或四核!
这种技术到底是骗了谁?

简单说就是一个CPU模拟当成多个并行使用
一、 什么是“超线程处理器技术
简单定义“超线程”技术
所谓超线程技术就是利用特殊的硬件指令,把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,从而使单个处理器就能“享用”线程级的并行计算的处理器技术。多线程技术可以在支持多线程的 *** 作系统和软件上,有效的增强处理器在多任务、多线程处理上的处理能力。
超线程技术可以使 *** 作系统或者应用软件的多个线程,同时运行于一个超线程处理器上,其内部的两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等 *** 作。这样做可以使得处理器的处理能力提高30%,因为在同一时间里,应用程序可以充分使用芯片的各个运算单元。
对于单线程芯片来说,虽然也可以每秒钟处理成千上万条指令,但是在某一时刻,其只能够对一条指令(单个线程)进行处理,结果必然使处理器内部的其它处理单元闲置。而“超线程”技术则可以使处理器在某一时刻,同步并行处理更多指令和数据(多个线程)。可以这样说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。
超线程是如何工作的
在处理多个线程的过程中,多线程处理器内部的每个逻辑处理器均可以单独对中断做出响应,当第一个逻辑处理器跟踪一个软件线程时,第二个逻辑处理器也开始对另外一个软件线程进行跟踪和处理了。
另外,为了避免CPU处理资源冲突,负责处理第二个线程的那个逻辑处理器,其使用的是仅是运行第一个线程时被暂时闲置的处理单元。例如:当一个逻辑处理器在执行浮点运算(使用处理器的浮点运算单元)时,另一个逻辑处理器可以执行加法运算(使用处理器的整数运算单元)。这样做,无疑大大提高了处理器内部处理单元的利用率和相应的数据、指令处吞吐能力。
实现超线程的五大前提条件
(1)需要CPU支持
目前正式支持超线程技术的CPU有Pentium4 306GHz 、240C、260C、280C 、30GHz、32GHz以及Prescott处理器,还有部分型号的Xeon。
(2)需要主板芯片组支持
正式支持超线程技术的主板芯片组的主要型号包括Intel的875P,E7205,850E,865PE/G/P,845PE/GE/GV,845G (B-stepping),845E。875P,E7205,865PE/G/P,845PE/GE/GV芯片组均可正常支持超线程技术的使用,而早前的 845E以及850E芯片组只要升级BIOS就可以解决支持的问题。SIS方面有SiS645DX(B版)、SiS648(B版)、SIS655、 SIS658、SIS648FX。VIA方面有P4X400A、P4X600、P4X800。
(3)需要主板BIOS支持
主板厂商必须在BIOS中支持超线程才行。
(4)需要 *** 作系统支持
目前微软的 *** 作系统中只有Windows XP专业版及后续版本支持此功能,而在Windows2000上实现对超线程支持的计划已经取消了。
(5)需要应用软件支持
一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。应用软件有Office 2000、Office XP等。另外Linux kernel 24x以后的版本也支持超线程技术。
二、 什么是“双通道”内存技术
双通道内存技术,就是在北桥(又称之为GMH)芯片组里制作两个内存控制器,这两个内存控制器是可以相互独立工作的。在这两个内存通道上,CPU可以分别寻址、读取数据,从而可以使内存的带宽增加一倍,数据存取速度也相应增加一倍(理论上是这样)。
目前流行的双通道DDR内存构架是在两个64bitDDR内存控制器构筑而成的,其带宽可以达到128bit,但工作方式不同于单通道128bit的内存控制技术。因为双通道体系的两个内存控制器是独立的、具备互补性的智能内存控制器,两个内存控制器都能够在彼此间零等待时间的情况下同时运作。例如:当控制器B准备进行下一次存取内存的时候,控制器 A就在读/写主内存,反之亦然。两个内存控制器的这种互补“天性”可以让有效等待时间缩减50%,从而使内存的带宽翻了一翻。
双通道DDR的两个内存控制器在功能上是完全一样的,并且两个控制器的时序参数都是可以单独编程设定的。这样的灵活性可以让用户使用两条不同构造、容量、速度的DIMM 内存条,此时双通道DDR简单地调整到最低的密度来实现128bit带宽,允许不同密度/等待时间特性的DIMM内存条可以可靠地共同运作。
简而言之,双通道技术是一种关系到主板芯片组的技术,与内存自身无关,只要厂商在芯片内部整合两个内存控制器,就可以构成双通道DDR系统。而主板厂商只需要按照内存通道将DIMM分为Channel 1与Channel 2,用户也需要成双成对地插入内存,就如同RDRAM那样。如果只插单根内存,那么两个内存控制器中只会工作一个,也就没有了双通道的效果了。
如果只插单根内存,那么两个内存控制器中只会工作一个
双通道内存控制技术可以非常有效的提高内存带宽,特别是那些需要同内存频繁交换数据的软件和整合有图形核心(整合显卡)的芯片组。在865G这样整合有显卡的双通道主板上,双通道内存控制技术所带来的高带宽,可以帮助整合显卡在划分主存做为显存的时候,得到更高的数据带宽,而显存的数据带宽正是制约一块显卡性能发挥的瓶颈所在。
对于整合图形核心的主板来说,其内存不仅要与CPU频繁变换数据,而且还将被主板上整合的图形核心共享为显存。而在这个时候,显存也必将频繁地进行数据变换,而这对于有限内存带宽来说,无疑将是一种严峻的考验。
双通道内存控制技术是一种主板芯片组技术,只有支持双通道内存控制技术的芯片组才能构架起双通道内存平台,英特尔阵营有I850、 i875P、i7205、i865PE、i865G、SIS655、SIS655FX、VIA PT600(P4X600)、VIA PT800(P4X800)、VIA PT880等芯片组,其真可谓人才济济,而AMD阵营仅有NForce2 、NForce3芯片组独力支撑局面。
三、“超线程”处理器技术的优点与缺点
超线程技术的优点
(1)超线程在Web服务、SQL数据库等很多服务器领域的应用中表现优异。
(2)主流的桌面芯片组基本都已可以支持超线程,你无需额外的花费。
(3)Windows XP已经针对其作出优化,在运行多个不支持多线程的程序时,性能也可能会获得提高。即便带来损失,也会显得比较轻微。
(4)在某些支持多线程的软件应用上能够得到30%左右的性能提升,如3dsmax、Maya、Office、Photoshop等。Intel甚至在一项测试中取得了90%的提高。
超线程技术的缺点
(1)较受欢迎的Windows 2000并不支持超线程技术,必须得安装也许您并不满意的Windows XP。
(2)打开超线程后处理单线程应用,处理器性能有时会降低。
(3)缺乏针对超线程优化的各种普通应用软件,性能因此得不到充分体现。
总的来说,通过以上优缺点的比较,我们已经了解到了超线程技术的确能够在处理多任务的时候,能够给系统性能带来一定的提升。而在运行单任务处理的时候,多线程的其优势是无法表现出来的,而且一旦打开超线程,处理器内部缓存就会被划分成几个区域,互相共享内部资源,从而造成单个的子系统性能下降。笔者认为,用户在进行单任务 *** 作时候,没有必要打开超线程,只有多任务 *** 作时候可以适时打开超线程,享受超线程技术带来的好处。
四、“双通道”内存控制技术的优缺点
双通道的优点
(1)可以带来2倍的内存带宽,从而可以那些与必须内存数据进行频繁交换的软件得到极大的好处,譬如SPEC Viewperf、3DMAX、IBM Data Explorer、Lightscape等。
(2)在板载显卡共享内存的时候,双通道技术带来的高内存带宽可以帮助显卡在游戏中获得更为流畅的速度,以3Dmark2001Se为例,其得分成绩的差距,可以拉大到15-40%。
双通道的缺点
(1)必须构架在支持双通道的主板上,并且必须要有两条相同容量、类型内存条。英特尔的双通道对于内存类型和容量要求很高,两根内存条必须完全一致。而SIS和VIA的双通道主板则允许不同容量和类型的内存共存,只要是两根内存条就行。
(2)双通道内存控制技术在普通的游戏和应用上,与单通道的差距极小。
(3)需要购买支持双通道内存控制技术的主板和两根内存条,而这需要更多的成本。
(4)双通道的接法,对于初手来说十分重要,一旦接法不正确,将无法使双通道起作用。
(5)双通道内存架构,其超频比较困难,这对于喜欢DIY超频朋友将不太适合。

逻辑处理器是:

逻辑处理器指的就是支持超线程技术的处理器在一个单核心的CPU内,利用其中空闲的执行单元,模拟出另外一个核心,使整个CPU有两个逻辑核心,从而提高整个CPU的工作效率。

注意:因为逻辑处理器是通过在一枚处理器上整合两个逻辑处理器单元,使得具有这种技术的新型CPU,有能同时执行多个线程的能力,这就是我们所说的超线程 。

一、CPU内核

CPU内核是CPU中间的核心芯片,由单晶硅制成,用来完成所有的计算、接受/存储命令、处理数据等,是数字处理核心。

核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。

1、内核简介

绝大多数CPU都采用了一种翻转内核的封装形式,也就是说平时我们所看到的CPU内核其实是这颗硅芯片的底部,它是翻转后封装在陶瓷电路基板上的,这样的好处是能够使CPU内核直接与散热装置接触。这种技术也被使用在当今绝大多数的CPU上。而CPU核心的另一面,也就是被盖在陶瓷电路基板下面的那面要和外界的电路相连接。

CPU都有以千万计算的晶体管,它们都要连到外面的电路上,而连接的方法则是将每若干个晶体管焊上一根导线连到外电路上。例如Duron核心上面需要焊上3000条导线,而奔腾4的数量为5000条,用于服务器的64位处理器Itanium则达到了7500条。这么小的芯片上要安放这么多的焊点,这些焊点必须非常的小,设计起来也要非常的小心。

由于所有的计算都要在很小的芯片上进行,所以CPU内核会散发出大量的热,核心内部温度可以达到上百度,而表面温度也会有数十度,一旦温度过高,就会造成CPU运行不正常甚至烧毁,因此很多电脑书籍或者杂志都会常常强调对CPU散热的重要性。CPU还应有确定的主板,如:i7的CPU就只能用专用的主板。

2、内核发展

CPU核心的发展方向是更低的电压、更低的功耗、更先进的制造工艺、集成更多的晶体管、更小的核心面积(这会降低CPU的生产成本从而最终会降低CPU的销售价格)、更先进的流水线架构和更多的指令集、更高的前端总线频率、集成更多的功能(例如集成内存控制器等等)以及双核心和多核心(也就是1个CPU内部有2个或更多个核心)等。

CPU核心的进步对普通消费者而言,最有意义的就是能以更低的价格买到性能更强的CPU。

出现了扩展cpu内核的方法这个方法能让电脑加上1000个内核运算速度比一般电脑快20倍。

分类: 电脑/网络
解析:

Intel正式发布了“Hyper-Threading Technology(超线程技术)”这项技术将率先在XERON处理器上得到应用。通过使用该技术,Intel将提供世界上首枚集成了双逻辑处理器单元的物理处理器(其实就是在一个处理器上整合了两个逻辑处理器单元),据说能够提高40%的处理器性能,类似的技术似乎也将出现在AMDK8-Hammer处理器上。

何为Hyper-Threading:

当今的处理器发展普遍向着提高处理器指令平铺速率的方向迈进,但由于所使用的处理器资源会有冲突,因此性能提升的效果并不理想。而通过Hyper-Threading技术,通过在一枚处理器上整合两个逻辑处理器(注:是处理器而不是运算单元)单元,使得具有这种技术的新型CPU具有能同时执行多个线程的能力,而这是现有其它微处理器都不能做到的。

简单的说,Hyper Threading是一种同步多执行绪(SMT,simultaneous Multi-threading)技术,它的原理很简单,就是把一颗CPU当成两颗来用,将一颗具Hyper-Threading功能的“实体”处理器变成两个“逻辑”处理器而逻辑处理器对于 *** 作系统来说跟实体处理器并没什么两样,因此 *** 作系统会把工作线程分派给这“两颗”处理器去执行,让多种应用程序或单一应用程序的多个执行绪(thread),能够同时在同一颗处理器上执行;不过两个逻辑处理器是共享这颗CPU的所有执行资源。
Hyper-Threading技术简介

Hyper-Threading做法是复制一颗处理器的架构指挥中心(architectural state)变成两个,使得Windows *** 作系统认为是在与两颗处理器沟通,但这两个架构指挥中心共享该处理器的工作资源(execution resources)。架构指挥中心追踪每个程序或执行绪的执行状况;工作资源指的则是“处理器用来进行加、乘、加载等工作的单元(execution unit)”。如此一来, *** 作系统把工作线程安排好以后,就分派给这两个逻辑上的处理器执行,而这颗CPU的每个执行单元等于在同样的时间内要服务两个“指令处理中心”,当然它的效率就高多了, *** 作系统就把一颗实体的处理器认定为两个逻辑处理器作工作指派,当然整体工作效能就比没有具备Hyper-Threading 的处理器高出许多,性价比自然高出许多。

超线程技术实现的必要条件

除了硬件支持之外,我们必须注意到,超线程技术的实现还需要软件的支持才能够发挥出应有的威力。首先是 *** 作系统的支持,我们必须使用支持双处理器的 *** 作系统,如Win2000等才能完全发挥出超线程技术的性能。至于软件方面,目前很多专业的应用程序对于双处理器都提供了支持,如著名的图形处理软件3Dmax、Maya等。

此外,很多用户可能会有疑问,既然超线程技术以前专门针对服务器处理器,那么现有的众多软件,能否完全兼容支持超线程技术的处理器,是否还需要什么修改才能运行呢?其实这个我们大可不必担心,现有的IA32软件不需进行任何的修改,就可以在支持超线程的P4处理器上很好的运行了。

超线程=效能提升?

一般很多人都会认为,采用超线程技术,就能使得系统效能大幅提升,但是事实真是如此么?不要忘了我们前面说到的超线程技术实现的必要条件,这可是超线程技术发挥应有效能的前提条件。除了 *** 作系统支持之外,还必须要软件的支持。从这点我们就可以看出,就目前的软件现状来说,支持双处理器技术的软件毕竟还在少数。对于大多数软件来说,目前由于设计的原理不同,还并不能从超线程技术上得到直接的好处。因为超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。该技术的核心理念是“并行度(Paralleli )”,也就是提高命令执行的并行度、提高每个时钟的效率。这就需要软件在设计上线程化,提高并行处理的能力。而目前PC上的应用程序几乎没有为此作出相应的优化,采用超线程技术并没不能获得效能的大幅提升。

上面说的只是目前软件支持的现状, *** 作系统在这个方面则没有太大的问题,毕竟Windows的某些版本、Linux都是支持多处理器的 *** 作系统。并且随着Intel支持超线程技术的处理器面世之后,凭借Intel处理器的号召力,必然会引起目前应用程序设计上的改变,必然会有更多的支持并行线程处理的软件面世,届时,当然是支持超线程处理器大显身手的时候了。那时候,普通用户才能够从超线程技术中得到最直接的好处。

但是我们还是需要看到,随着目前 *** 作系统对于双处理器技术的广泛支持,例如Windows2000、Windows XP等 *** 作系统都支持双处理器,在这些 *** 作系统上使用支持超线程技术的处理器,对于系统的整体性能还是有一定的提高的。。

所谓超线程技术(HT)就是利用特殊的硬件指令,把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,从而使单个处理器就能“享用”线程级的并行计算的处理器技术。多线程技术可以在支持多线程的 *** 作系统和软件上,有效的增强处理器在多任务、多线程处理上的处理能力。简单来说就是模拟两个CPU进行工作。
采用超线程技术的CPU在处理多任务的能力上显著强过非超线程的CPU,但在单任务的工作方面并没有太大的性能优势,甚至在运行不支持超线程技术的软件时性能还略有下降。一般来说,超线程的CPU主要用在高端机及服务器上,普通的家用或办公机器,如果没有特殊要求,不必使用HT。
关于很多朋友反映使用超线程CPU性能提升不大的问题做一下解释,这当中存在一个误区,很多朋友认为只要使用超线程的CPU就能用上超线程技术,事实上并非如此。要将超线程的威力发挥出来需要五大基本的条件
a)CPU要支持HT,目前支持超线程技术的CPU有P4C系列、P4E系列以及部分型号的Xeon
b)主板芯片要支持HT,这是很容易被忽略的条件之一。目前支持HT的主板芯片组主要有 Intel i925/i915/i875/i865全系列、VIA PT800/PT880、SIS 655FX/655TX/661FX、ATI 9100IGP。
c)内存需要双通道的DDR400。由于开启超线程的CPU前端总线高达800MHz,数据带宽高达64GB/s,因此要求内存带宽也必须达到64GB/s,避免系统瓶颈的产生。单通道的DDR400带宽只有32G/s,而双通道技术可使其带宽增加一倍,达到64G/s,满足超线程CPU的需要。我见到不少朋友拿848配P4C,这就是超线程性能无法发挥出来的原因之一。(顺便提醒一句,i848、PT800只是支持超线程,却不支持双通道,这是一些朋友将其称之为鸡肋的原因)
d) *** 作系统的支持。这是被人们忽略最多的前提条件!绝大多数朋友认为只要硬件全方面满足超线程的需要就可以了,其实不是如此,小心 *** 作系统会从中作梗!目前支持超线程技术的 *** 作系统极为有限,只有WinXP专业版(打上SP1补丁)以后的 *** 作系统才支持超线程技术,另Windows2000打上最新的SP4补丁也可以支持超线程。
e)应用软件的支持。一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。应用软件有Office 2000、Office XP等。
其实,使用超线程并非人们想象得那么简单。

超线程技术把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,让单个处理器就能使用线程级的并行计算,进而兼容多线程 *** 作系统和软件。

超线程技术充分利用空闲CPU资源,在相同时间内完成更多工作,但超线程的性能并不等于两个CPU的性能。而且,超线程技术的CPU需要芯片组、 *** 作系统和应用软件的支持,才能比较理想地发挥该项技术的优势。

与多核心区别

超线程技术与多核体系结构的区别如下:

①超线程技术是通过延迟隐藏的方法,提高了处理器的性能,本质上,就是多个线程共享一个处理单元。因此,采用超线程技术所获得的性能并不是真正意义上的并行。从而采用超线程技术获得的性能提升,将会随着应用程序以及硬件平台的不同而参差不齐。

②多核处理器是将两个甚至更多的独立执行单元,嵌入到一个处理器内部。每个指令序列(线程),都具有一个完整的硬件执行环境,所以各线程之间就实现了真正意义上的并行。

超线程技术与多核技术相结合可以给应用程序带来更大的优化空间,进而极大地提高系统的吞吐率。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13308282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-12
下一篇 2023-07-12

发表评论

登录后才能评论

评论列表(0条)

保存