服务器 频道

[友问友答]双核 双CPU 超线程巧区分

[网友提问]目前服务器市场可以说是新产品新技术层出不穷,光是服务器的核心CPU除了主频等参数外,最让人不明白的就是所谓的双核,电视报纸广告上也是频繁刊登双核服务器的广告。那么本人想咨询一下,双核CPU与双CPU还有以前的超线程都有什么区别呢?希望IT168的高手能够用简单形象的方式进行讲解,到底哪个性能好,哪个性价比高。我们选择服务器应该采取双核心CPU还是双CPU呢?非常感谢。

[网友解答]在目前这个服务器变革的时代,特别是CPU类型可以说是多种多样,确实容易给用户产生迷惑,我们选择CPU时也不能仅仅只看他的主频了,很多其他参数起到的作用也是巨大的,例如缓存,前端总线等。当然这些并不是本文讨论的关键,我们将根据上面那位网友提出的问题进行解答。

    在一两年前CPU领域就出现了一个叫做超线程的技术,具备了超线程技术的CPU可以更高效的运行程序,特别是支持对程序的并发执行。而如今在个人计算机和服务器市场又出现了一个叫做双核心CPU的概念,他和超线程有哪些区别?性能提升情况如何呢?他又能否和传统的双CPU画等号呢?我们先要对这三者的概念进行了解。

一、三者的工作原理和概念:

    (1)超线程(HT):(如图1)

图1

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

    “超线程”的实现条件需要CPU的支持,主板芯片组和主板BIOS的支持,另外操作系统和应用软件方面也需得到应有的支持。说白了超线程就是通过软件的手段模拟出双个逻辑内核进行工作,运行效果尽量接近两个物理核心的性能。

    不过超线程也存在着致命的不足,首先他在windows 2000下无法使用,因为WIN2000不支持超线程,只有WIN XP以上的系统才可以使用HT。另外由于HT是软件模拟出两个核心,所以模拟出来后的两个核心是分享物理缓存的,从而使物理缓存大小减半,另外因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题。

    (2)双核心:(如图2)

图2

    所谓双核心处理器,简单地说就是在一块CPU基板上集成两个处理器核心,并通过并行总线将各处理器核心连接起来。双核心并不是一个新概念,而只是CMP(Chip Multi Processors ,单芯片多处理器) 中最基本、最简单、最容易实现的一种类型。

    换言之双核心处理器就是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。这样就将两个物理处理器核心整合入一个核中,在任务繁重时,两个核心能相互配合,让CPU发挥最大效力。两个能互补的核心运行起来性能是非常不错的,例如使用Intel奔腾D双核处理器就相当于你有了两台采用奔腾4的主机。

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

    (3)双CPU:(如图3)

图3

    前面所说的双核心是在一个处理器里拥有两个处理器核心,核心是两个,但是其他硬件还都是两个核心在共同拥有,而双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。

0
相关文章