Hyper-Threading , dual-processor and double CPU

所谓超线程(HT)技术,是部分单核CPU在主板和操作系统支持的前提下虚拟出的两个CPU核心,在处理特定的多任务应用时系统性能有一定的提升。超线程只在部分pentinum4 CPU中使用。是一个过渡技术,随着双核处理器成熟,已经被淘汰,而双核CPU具备两个物理的处理器核心,很显然在性能上的提升上比超线程更明显,软件兼容性也更好。不过双核处理器与使用两颗独立CPU相比,性能又存在一定的差距。因此在大型服务器上,还是会使用多个独立的CPU,要明确一点,无论是超线程,双核还是双处理器,其性能提升并不会达到单处理器*2,因为在计算机整体性能中,CPU性能这是占有较大的权重而已。

由于超线程技术的两个虚拟逻辑处理器使用一套执行单元和缓存,如果两者产生竞争资源的情况,系统会增加延迟,就可能产生打开超线程之后性能反而下降的情况,甚至出现兼容性问题。我们可以在操作系统中用特定软件(如THG Task Assignment Manager)对那些受超线程不良影响的程序指定使用单处理器模式。对于双核CPU,如果我们打开处理器观察,往往会发现大部分时间只有一个核在辛苦的工作,而另一个却在休息。软件全都挤在一个核上,很容易导致系统性能下降。我们可以使用WinLauncher XP这款软件指定程序使用特定的核心。从而均衡分配两个核心承担的工作量,优化双核处理器的使用。

 

Intel的Hyper-Threading技术可以在Windows中被识别为两颗处理器,因此不少人被误导,认为Hyper-Threading和Dual Core一样能同时执行并发的两个线程。

  
  

双核处理器

Hyper-Threading其实就是一颗核心以模拟的方式扮作两颗处理器,以增加 运算速度,但并不代表着它能像真正的两颗物理处理器那样,因为Dual/Multi Core的每一颗处理器都有独立的资源,但HT技术中模拟的每一颗处理都是共用同一颗物理处理器的资源,当两个模拟出来的处理器需要物理处理器的相同的资源时,其中一个模拟的处理器就要暂停并让出资源。说到底HT技术只是为了更好的利用处理器闲置资源而开发出来的技术,与Dual/Multi Core技术的双物理核心还是有本质的区别。


 

双核心处理器技术的引入是提高处理器性能的有效方法。因为处理器实际性能是处理器在每个时钟周期内所能 处理器指令数的总量,因此增加一个 内核,处理器每个时钟周期内可执行的单元数将增加一倍。在这里我们必须强调一点的是,如果你想让系统达到最大性能,你必须充分利用两个内核中的所有可执行单元:即让所有执行单元都有活可干!


(1)超线程(HT): 

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

  “超线程”的实现条件需要CPU的支持,主板芯片组和主板BIOS的支持,另外操作系统和应用软件方面也需得到应有的支持。说白了超线程就是通过软件的手段模拟出双个逻辑内核进行工作,运行效果尽量接近两个物理核心的性能。  不过超线程也存在着致命的不足,首先他在windows 2000下无法使用,因为WIN2000不支持超线程,只有WIN XP以上的系统才可以使用HT。另外由于HT是软件模拟出两个核心,所以模拟出来后的两个核心是分享物理缓存的,从而使物理缓存大小减半,另外因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题。 

(2)双核心:  

所谓双核心处理器,简单地说就是在一块CPU基板上集成两个处理器核心,并通过并行总线将各处理器核心连接起来。双核心并不是一个新概念,而只是CMP(Chip Multi Processors ,单芯片多处理器) 中最基本、最简单、最容易实现的一种类型。  换言之双核心处理器就是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。这样就将两个物理处理器核心整合入一个核中,在任务繁重时,两个核心能相互配合,让CPU发挥最大效力。两个能互补的核心运行起来性能是非常不错的,例如使用Intel奔腾D双核处理器就相当于你有了两台采用奔腾4的主机。  

如果说超线程是用软件来模拟出双核的效果,那么现在所说的双核心就是真正意义上的两个核心。他弥补了超线程适用系统比较少的缺点,可以广泛用于windows操作系统的多个版本;他还有效的解决了双核运算中出现的缓存分离与数据冲突错误问题。  

(3)双CPU:  

前面所说的双核心是在一个处理器里拥有两个处理器核心,核心是两个,但是其他硬件还都是两个核心在共同拥有,而双CPU则是真正意义上的双核心,不光是处理器核心是两个,其他例如缓存等硬件配置也都是双份的。 

三者的布局结构:  如果我们把CPU比做一套住房的话,那么超线程技术实际上就相当于把一间房子人为的通过添加屏风或者推拉门来划分成两小间,虽然表面上每间居住者可以自己干自己的事,不互相影响,但是在出门时都要走同一个大门。  而双核心的实际上就相当于一套两居室,房子里有两个屋子,每个屋子都是独立存在的,不互相干扰。出门时也可以各走各的卧室门到大门口。不过如果因为某些原因,例如放音响声音过大等情况,在同一套两居室里的两个屋子之间也会相互影响。 

接下来我们再看看双CPU,他就是名副其实的两套房子,每个房子有每个房子的大门,我们出入大门不会像超线程那样共用一个门,也不会出现双核心那样一个房间因为某些原因影响另一间,即使某个房子播放音响也不会影响到另外一套房子。  不过从价格上讲自己划分出一个房间的超线程无疑是最最便宜的,而需要花费高额银子购买两套房子住的双CPU是最贵的。  

三者运行性能比较:  

CPU运行性能最关键的就是运行速度,那么究竟这三者在运行速度方面表现如何呢?我们依然通过比喻的方法来区分。  假设CPU是一个运输卡车,货物就是我们要计算的信息,CPU运算就类似于卡车运输货物。同一时间运送的货物越多,说明CPU运算能力越强。  

单CPU系统——相当于一辆卡车在一条车道上跑。由于车少,所以运输能力有限。以往CPU生产厂商都是在不断的提高卡车的载重即主频来提高他的运输能力。  

双CPU系统——相当于两辆卡车在两条相交的车道上跑。每辆车大部分都在自己的路上跑,但偶尔会相遇、停车避让。由于车多路宽,所以双CPU运输能力最强。  

HT(超线程)系统——相当于一辆双层卡车在一条车道上跑。由于是双层的,所以猛地一看以为是两辆车在跑,其实只有一辆。不过因为双层涉及到车高以及捆绑等问题,有的时候遇到限高的桥梁,需要人为的将货物卸下,手工搬运。所以说HT超线程适用的条件比较苛刻。  

双核心CPU系统,相当于两辆卡车在一条车道上跑。虽然他运输的货物能力提高了,而且也不会频繁产生类似于HT超线程那样的冲突,但是因为他们都在一条车道上跑,所以互相避让减速的频率要比双CPU高得多。所以他的运输能力要比真正的双CPU系统差。  

总结:  所以通过上面的结构比较,运行性能比较,我们可以得出以下结论,那就是在运行性能方面双CPU>双核CPU>超线程CPU>单CPU;而在价格上也是双CPU>双核CPU>超线程CPU>单CPU  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值