多CPU和多核CPU有什么区别
这个问题不是简单的数学加减问题,所以我们来看一看
多个CPU
首先多个CPU协同合作,必然要耗费更多的时间和通过更复杂的设计来协同各个核心,难度不小,并且导致功耗增加,体积增加,并且在传输效率上更加麻烦,总体上是最不划算的。
多个CPU常见于分布式系统,用于普通消费级市场的不多,多用于cluster,云计算平台什么的。多CPU架构最大的瓶颈就是I/O,尤其是各个CPU之间的通讯,低成本的都用100M以太网做,稍微好一点的用1000M以太网,再好的就用光纤等等,但无论如何速度和通量都比不上主板的主线
多核CPU
而多核CPU所有核心封装在同一个dia里,每个核心之间交换数据的速度极快。就这么比喻,如果一个人两个脑袋,和两个人两个脑袋,哪个效率高,哪个不费事?一看便知,多核单CPU适合对通讯I/O速度要求较快的应用,(相同核数量下)成本上也高一些,好像只有在超级计算机里会用到以万为单位的核心数,普通消费级产品也就是到16核封顶了。
两者有着不同的适用范围,所以也有着不同的效果
双核心并不是一个新概念,而只是CMP(Chip Multi Processors ,单芯片多处理器) 中最基本、最简单、最容易实现的一种类型。换言之双核心处理器就是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。这样就将两个物理处理器核心整合入一个核中,在任务繁重时,两个核心能相互配合,让CPU发挥最大效力。两个能互补的核心运行起来性能是非常不错的,例如使用Intel奔腾D双核处理器就相当于你有了两台采用奔腾4的主机。如果说超线程是用软件来模拟出双核的效果,那么现在所说的双核心就是真正意义上的两个核心。他弥补了超线程适用系统比较少的缺点,可以广泛用于windows操作系统的多个版本;他还有效的解决了双核运算中出现的缓存分离与数据冲突错误问题。双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
多CPU指一块主板安装多块CPU,然后再芯片组和操作系统的支持下协同工作。比如一些服务器及工作站主机的主板,安装了两块四核八线程的至强CPU,操作系统就工作在八核十六线程的状态。
多核CPU指的是在一块芯片上集成了多个计算核心,它们公用某些缓存以及通信总线。
一般说来,同架构同主频的8核CPU平台,性能优于双四核CPU平台。毕竟做在一起的8核心,比分散开的两个4核心更好。
标签:CPU,区别