什么是双通道,什么是超线程

电脑教程014

什么是双通道,什么是超线程,第1张

分类: 电脑/网络 >>硬件

解析:

双通道内存技术其实是一种内存控制和管理技术,它依赖于芯片组的内存控制器发生作用,在理论上能够使两条同等规格内存所提供的带宽增长一倍。它并不是什么新技术,早就被应用于服务器和工作站系统中了,只是为了解决台式机日益窘迫的内存带宽瓶颈问题它才走到了台式机主板技术的前台。在几年前,英特尔公司曾经推出了支持双通道内存传输技术的i820芯片组,它与RDRAM内存构成了一对黄金搭档,所发挥出来的卓绝性能使其一时成为市场的最大亮点,但生产成本过高的缺陷却造成了叫好不叫座的情况,最后被市场所淘汰。由于英特尔已经放弃了对RDRAM的支持,所以目前主流芯片组的双通道内存技术均是指双通道DDR内存技术,主流双通道内存平台英特尔方面是英特尔 865、875系列,而AMD方面则是NVIDIA Nforce2系列。

双通道内存技术是解决CPU总线带宽与内存带宽的矛盾的低价、高性能的方案。现在CPU的FSB(前端总线频率)越来越高,英特尔 Pentium 4比AMD Athlon XP对内存带宽具有高得多的需求。英特尔 Pentium 4处理器与北桥芯片的数据传输采用QDR(Quad Data Rate,四次数据传输)技术,其FSB是外频的4倍。英特尔 Pentium 4的FSB分别是400、533、800MHz,总线带宽分别是3.2GB/sec,4.2GB/sec和6.4GB/sec,而DDR 266/DDR 333/DDR 400所能提供的内存带宽分别是2.1GB/sec,2.7GB/sec和3.2GB/sec。在单通道内存模式下,DDR内存无法提供CPU所需要的数据带宽从而成为系统的性能瓶颈。而在双通道内存模式下,双通道DDR 266、DDR 333、DDR 400所能提供的内存带宽分别是4.2GB/sec,5.4GB/sec和6.4GB/sec,在这里可以看到,双通道DDR 400内存刚好可以满足800MHz FSB Pentium 4处理器的带宽需求。而对AMD Athlon XP平台而言,其处理器与北桥芯片的数据传输技术采用DDR(Double Data Rate,双倍数据传输)技术,FSB是外频的2倍,其对内存带宽的需求远远低于英特尔 Pentium 4平台,其FSB分别为266、333、400MHz,总线带宽分别是2.1GB/sec,2.7GB/sec和3.2GB/sec,使用单通道的DDR 266、DDR 333、DDR 400就能满足其带宽需求,所以在AMD K7平台上使用双通道DDR内存技术,可说是收效不多,性能提高并不如英特尔平台那样明显,对性能影响最明显的还是采用集成显示芯片的整合型主板。

NVIDIA推出的nForce芯片组是第一个把DDR内存接口扩展为128-bit的芯片组,随后英特尔在它的E7500服务器主板芯片组上也使用了这种双通道DDR内存技术,SiS和VIA也纷纷响应,积极研发这项可使DDR内存带宽成倍增长的技术。但是,由于种种原因,要实现这种双通道DDR(128 bit的并行内存接口)传输对于众多芯片组厂商来说绝非易事。DDR SDRAM内存和RDRAM内存完全不同,后者有着高延时的特性并且为串行传输方式,这些特性决定了设计一款支持双通道RDRAM内存芯片组的难度和成本都不算太高。但DDR SDRAM内存却有着自身局限性,它本身是低延时特性的,采用的是并行传输模式,还有最重要的一点:当DDR SDRAM工作频率高于400MHz时,其信号波形往往会出现失真问题,这些都为设计一款支持双通道DDR内存系统的芯片组带来不小的难度,芯片组的制造成本也会相应地提高,这些因素都制约着这项内存控制技术的发展。

普通的单通道内存系统具有一个64位的内存控制器,而双通道内存系统则有2个64位的内存控制器,在双通道模式下具有128bit的内存位宽,从而在理论上把内存带宽提高一倍。虽然双64位内存体系所提供的带宽等同于一个128位内存体系所提供的带宽,但是二者所达到效果却是不同的。双通道体系包含了两个独立的、具备互补性的智能内存控制器,理论上来说,两个内存控制器都能够在彼此间零延迟的情况下同时运作。比如说两个内存控制器,一个为A、另一个为B。当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然。两个内存控制器的这种互补“天性”可以让等待时间缩减50%。双通道DDR的两个内存控制器在功能上是完全一样的,并且两个控制器的时序参数都是可以单独编程设定的。这样的灵活性可以让用户使用二条不同构造、容量、速度的DIMM内存条,此时双通道DDR简单地调整到最低的内存标准来实现128bit带宽,允许不同密度/等待时间特性的DIMM内存条可以可靠地共同运作。

支持双通道DDR内存技术的台式机芯片组,英特尔平台方面有英特尔的865P、865G、865GV、865PE、875P以及之后的915、925系列;VIA的PT880,ATI的Radeon 9100 IGP系列,SIS的SIIS 655,SIS 655FX和SIS 655TX;AMD平台方面则有VIA的KT880,NVIDIA的nForce2 Ultra 400,nForce2 IGP,nForce2 SPP及其以后的芯片。

AMD的64位CPU,由于集成了内存控制器,因此是否支持内存双通道看CPU就可以。目前AMD的台式机CPU,只有939接口的才支持内存双通道,754接口的不支持内存双通道。除了AMD的64位CPU,其他计算机是否可以支持内存双通道主要取决于主板芯片组,支持双通道的芯片组上边有描述,也可以查看主板芯片组资料。此外有些芯片组在理论上支持不同容量的内存条实现双通道,不过实际还是建议尽量使用参数一致的两条内存条。

内存双通道一般要求按主板上内存插槽的颜色成对使用,此外有些主板还要在BIOS做一下设置,一般主板说明书会有说明。当系统已经实现双通道后,有些主板在开机自检时会有提示,可以仔细看看。由于自检速度比较快,所以可能看不到。因此可以用一些软件查看,很多软件都可以检查,比如cpu-z,比较小巧。在“memory”这一项中有“channels”项目,如果这里显示“Dual”这样的字,就表示已经实现了双通道。两条256M的内存构成双通道效果会比一条512M的内存效果好,因为一条内存无法构成双通道。

超线程技术

CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过目前CPU的频率越来越快,如果再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。

尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Paralleli *** ,多种指令同时执行)支持。这些都造成了目前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以后的版本也支持超线程技术。目前支持超线程技术的芯片组包括如:

Intel芯片组:

845、845D和845GL是不支持支持超线程技术的;845E芯片组自身是支持超线程技术的,但许多主板都需要升级BIOS才能支持;在845E之后推出的所有芯片组都支持支持超线程技术,例如845PE/GE/GV以及所有的865/875系列以及915/925系列芯片组都支持超线程技术。

VIA芯片组:

P4X266、P4X266A、P4M266、P4X266E和P4X333是不支持支持超线程技术的,在P4X400之后推出的所有芯片组都支持支持超线程技术,例如P4X400、P4X533、PT800、PT880、PM800和PM880都支持超线程技术。

SIS芯片组:

SIS645、SIS645DX、SIS650、SIS651和早期SIS648是不支持支持超线程技术的;后期的SIS648、SIS655、SIS648FX、SIS661FX、SIS655FX、SIS655TX、SIS649和SIS656则都支持超线程技术。

ULI芯片组:

M1683和M1685都支持超线程技术。

ATI芯片组:

ATI在Intel平台所推出的所有芯片组都支持超线程技术,包括Radeon 9100 IGP、Radeon 9100 Pro IGP和RX330。

nVidia芯片组:

即将推出的nForce5系列芯片组都支持超线程技术。

对于超线程技术和双通道内存控制技术可以说是两种不同的技术。当然,这两种技术在实际中的应用,均能从不同的应用层面找到自己的位置和价值。为了让大家彻底了解两种技术,笔者认为,唯有对这两种技术进行相应的剖析和纵向对比测试,方能找到我们所需要的答案。当然,也只有这样,才能使我们在“攒机”的时候,做到“有的放矢”,以避免自己钱袋中所剩无几的“银两”被浪费掉。

一、 什么是“超线程”处理器技术?

1、简单定义“超线程”技术

所谓超线程技术就是利用特殊的硬件指令,把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,从而使单个处理器就能“享用”线程级的并行计算的处理器技术。多线程技术可以在支持多线程的作系统和软件上,有效的增强处理器在多任务、多线程处理上的处理能力。

超线程技术可以使作系统或者应用软件的多个线程,同时运行于一个超线程处理器上,其内部的两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等作。这样做可以使得处理器的处理能力提高30%,因为在同一时间里,应用程序可以充分使用芯片的各个运算单元。

对于单线程芯片来说,虽然也可以每秒钟处理成千上万条指令,但是在某一时刻,其只能够对一条指令(单个线程)进行处理,结果必然使处理器内部的其它处理单元闲置。而“超线程”技术则可以使处理器在某一时刻,同步并行处理更多指令和数据(多个线程)。可以这样说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。

2、超线程是如何工作的?

在处理多个线程的过程中,多线程处理器内部的每个逻辑处理器均可以单独对中断做出响应,当第一个逻辑处理器跟踪一个软件线程时,第二个逻辑处理器也开始对另外一个软件线程进行跟踪和处理了。

另外,为了避免CPU处理资源冲突,负责处理第二个线程的那个逻辑处理器,其使用的是仅是运行第一个线程时被暂时闲置的处理单元。例如:当一个逻辑处理器在执行浮点运算(使用处理器的浮点运算单元)时,另一个逻辑处理器可以执行加法运算(使用处理器的整数运算单元)。这样做,无疑大大提高了处理器内部处理单元的利用率和相应的数据、指令处吞吐能力。

3、实现超线程的五大前提条件

(1)需要CPU支持:

目前正式支持超线程技术的CPU有Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott(Pentium5)处理器,还有部分型号的Xeon。

(2)需要主板芯片组支持:

正式支持超线程技术的主板芯片组的主要型号包括Intel的875P,E7205,850E,865PE/G/P,845PE/GE/GV,845G(B-stepping),845E。875P,E7205,865PE/G/P,845PE/GE/GV,9XX系列芯片组均可正常支持超线程技术的使用,而早前的845E以及850E芯片组只要升级BIOS就可以解决支持的问题。SIS方面有SiS645DX(B版)、SiS648(B版)、SIS655、SIS658、SIS648FX。VIA方面有P4X400A、P4X600、P4X800。

(3)需要主板BIOS支持:

主板厂商必须在BIOS中支持超线程才行。

(4)需要作系统支持:

目前微软的作系统中只有Windows XP支持此功能,而在Windows2000上实现对超线程支持的计划已经取消了。

(5)需要应用软件支持:

一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。应用软件Office 2003、Office 2000、Office XP等。另外Linux kernel 2.4.x以后的版本也支持超线程技术。

补充:超线程技术是Intel的独门武器

二、 什么是“双通道”内存技术?

双通道内存技术,就是在北桥(又称之为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、9XX系列等芯片组,其真可谓人才济济,而AMD阵营仅有NForce2 ,NForce3,NForce4,GForce6100/6150芯片组独力支撑局面。

三、“超线程”处理器技术的优点与缺点

1、超线程技术的优点

(1)超线程在Web服务、SQL数据库等很多服务器领域的应用中表现优异。

(2)主流的桌面芯片组基本都已可以支持超线程,你无需额外的花费。

(3)Windows XP已经针对其作出优化,在运行多个不支持多线程的程序时,性能也可能会获得提高。即便带来损失,也会显得比较轻微。

(4)在某些支持多线程的软件应用上能够得到30%左右的性能提升,如3dsmax、Maya、Office、Photoshop等。Intel甚至在一项测试中取得了90%的提高。

2、超线程技术的缺点:

(1)较受欢迎的Windows 2000并不支持超线程技术,必须得安装也许您并不满意的Windows XP。

(2)打开超线程后处理单线程应用,处理器性能有时会降低。

(3)缺乏针对超线程优化的各种普通应用软件,性能因此得不到充分体现。

总的来说,通过以上优缺点的比较,我们已经了解到了超线程技术的确能够在处理多任务的时候,能够给系统性能带来一定的提升。而在运行单任务处理的时候,多线程的其优势是无法表现出来的,而且一旦打开超线程,处理器内部缓存就会被划分成几个区域,互相共享内部资源,从而造成单个的子系统性能下降。 笔者认为,用户在进行单任务作时候,没有必要打开超线程,只有多任务作时候可以适时打开超线程,享受超线程技术带来的好处。

四、“双通道”内存控制技术的优缺点

1、双通道的优点

(1)可以带来2倍的内存带宽,从而可以那些与必须内存数据进行频繁交换的软件得到极大的好处,譬如SPEC Viewperf、3DMAX、IBM Data Explorer、Lightscape等。

(2)在板载显卡共享内存的时候,双通道技术带来的高内存带宽可以帮助显卡在游戏中获得更为流畅的速度,以3Dmark2001Se为例,其得分成绩的差距,可以拉大到15-40%。

2、双通道的缺点

(1)必须构架在支持双通道的主板上,并且必须要有两条相同容量、类型内存条。英特尔的双通道对于内存类型和容量要求很高,两根内存条必须完全一致。而SIS和VIA的双通道主板则允许不同容量和类型的内存共存,只要是两根内存条就行。

(2)双通道内存控制技术在普通的游戏和应用上,与单通道的差距极小。

(3)需要购买支持双通道内存控制技术的主板和两根内存条,而这需要更多的成本。

(4)双通道的接法,对于初手来说十分重要,一旦接法不正确,将无法使双通道起作用。

(5)双通道内存架构,其超频比较困难,这对于喜欢DIY超频朋友将不太适合。。

DDR2与DDR的区别

与DDR相比,DDR2最主要的改进是在内存模块速度相同的情况下,可以提供相当于DDR内存两倍的带宽。这主要是通过在每个设备上高效率使用两个DRAM核心来实现的。作为对比,在每个设备上DDR内存只能够使用一个DRAM核心。技术上讲,DDR2内存上仍然只有一个DRAM核心,但是它可以并行存取,在每次存取中处理4个数据而不是两个数据。与双倍速运行的数据缓冲相结合,DDR2内存实现了在每个时钟周期处理多达4bit的数据,比传统DDR内存可以处理的2bit数据高了一倍。DDR2内存另一个改进之处在于,它采用FBGA封装方式替代了传统的TSOP方式。

然而,尽管DDR2内存采用的DRAM核心速度和DDR的一样,但是我们仍然要使用新主板才能搭配DDR2

1、电脑内存双通道指的就是在北桥(又称之为MCH)芯片级里设计两个内存控制器,在这两个内存控制器之间可以相互独立工作,每个内存控制器控制一个内存通道。

2、在这两个内存通道中CPU可以分别寻址、读取数据,这样可以使内存的带宽增加一倍,数据存取速度也相应增加一倍。