多核 CPU 和多个 CPU 有何区别?

原文来自:http://www.solves.com.cn/it/yj/CPU/2019-06-24/1122.htmlhtml

 

 

多核CPU和多CPU的区别主要在于性能和成本。多核CPU性能最好,但成本最高;多CPU成本小,便宜,但性能相对较差。咱们来看一个例子:若是咱们须要组成一个48核的计算机,咱们能够有这么三种选择:服务器

  1. 把48个核所有作到一个大Die上,Die很大。这个Die加上一些外围电路组成一个单Die多核CPU。
  2. 弄4个小Die,每一个Die 12个内核,每一个Die很小。把这4个Die,加上互联总线和外围电路,所有封装(Packaging)到一个多Die多核CPU中。
  3. 仍是弄4个Die,每一个Die 12个内核,每一个Die很小。每一个Die加上外围电路封装成一个单独的CPU,4个CPU再经过总线组成一个多路(way/socket)系统。

咱们来看看他们的性能差距和成本差距。socket

 

性能差距

为了很好的理解三者之间的区别,咱们经过一个生活中的场景分别指代三种方式。咱们想像每一个Die是一栋大楼,Die里面的内核们,内存控制器们、PCIe控制器们和其余功能模块是其中的一个个房间。数据流和指令流在它们之间的流动看做房间里面的人们互相串门,这种串门的方便程度和走廊宽度决定了人们愿不肯意和多少人能够同时串门,也就指代了数据的延迟和带宽。工具

好了,有了这种方便的比喻,咱们来看看三种状况分别是什么。性能

48核的大Die是Intel至强系列的标准作法:优化

 

 这种方法就是既然须要这么多房间,业主有钱,就建一个大楼,每层都是超级大平层:操作系统

 

 

走廊众多,这里堵了,换个路过去,反正方向对了就行,总能到的。因此人们能够很方便的串门,也能够有不少人同时串门。因此延迟小,带宽高。3d

一个CPU pacakge里面包了4个小Die的作法是AMD的标准作法,也有部分Intel也这样:htm

 

 这种作法能够看做业主没钱搞大平层,但也要这么多房间,怎么办呢?在原地相邻得建4个小高层,再把小高层连起来,房间数目不变。怎么把它们连起来呢?比较现代的作法有两种:blog

 

 

这种作法也叫作MCM(Multi-Chip-Module),详细内容能够看个人这篇文章:

如何像搭积木同样构建CPU?Intel和AMD都是怎么作的?

其中AMD采用硅中介(Interposer),也就是上面那种;Intel采用EMIB(Embedded Multi-die Interconnect Bridge),是下面那种。

硅中介的作法能够看做为了两个楼互通,咱们把地下都挖空了,搞了个换乘大厅。而EMIB能够当作在两个楼之间挖了一个地下通道。显然挖通道更省钱省力,但由于通道是两两互联的,若是大楼多了,还不如换乘大厅方便。

好了,那咱们的串门问题怎么解决呢?由于楼和楼(Die和Die)之间只有地下互通,要串门的人都要作电梯到地下一层,经过地道或者换乘大厅到另外一个大楼地下,再作电梯去想要的楼层。路途遥远,好多人都不想串门了,同时若是串门人太多,会挤爆电梯,不得不串门联系工做的人们在电梯口排起了长队。显然,建筑四个相邻小高层的办法,延迟和带宽都比较差。

那么多CPU呢?

 

 

仍是没钱盖大平层,此次更惨,由于4层小高层间隔比较远,为了方便人们串门,不得不在园区里面搞了班车,用于跨楼通勤。由于班车开停须要时间,人们串门更加麻烦了。

借助这个比喻,咱们应该可以得出结论,这三种方式提供48核的算力,延迟和带宽是依次降低的。降低的幅度和须要进行的work load有关,不能一律而论。你们能够借助一个工具[1]来具体测量一下内存的延迟:

 

 

成本差距

既然大平层这么好,为何还有人盖小高层呢?存在都是合理的,固然是成本高了。我在这篇文章中讲述了为何Die大了成本就高:

CPU制造的那些事之二:Die的大小和良品率

简单来讲,晶圆在制造过程当中老是避免不了缺陷,这些缺陷就像撒芝麻粒,分布在整个Wafer上:

 

 

若是考虑缺陷,Die的大小会严重影响良率:

 

 

上图你们能够点开看(图比较大),其中不太清楚的红色小点是晶圆的缺陷,在Die很大时,有很大几率它的范围内会缺陷,而只要有缺陷该Die就报废了(简化处理);在Die比较小的时候,它含有缺陷的可能性就大大下降了。如图中,随着Die的减少,良率从第一个的35.7%提升到了95.2%!咱们举个极端的例子,整个Wafer就一个Die,那么良率只有0%了,生产一个报废一个。谁还干这么傻的事!

这种成本增长不是线性的,而是指数性增长,具体的数字是厂商的核心机密,不为外人道。但总的来讲,结合前面的例子来讲就是:

1个大Die成本 > 4个小Die+互联线路总成本

那么方式2和方式3成本谁高呢?实际上方式2节约了主板上大量布线和VR等成本,总成本更低,也是主板和服务器厂商喜闻乐见的形式;而方式3每每用于堆出更多的内核和须要更多内存的状况。

结论

相信读到这里,同窗们已经有了答案,结论开头已经说明,就再也不赘述了。多核CPU和多Die乃至多路CPU,对操做系统等来看,区别不大,BIOS都报告了一样多的不少CPU供他们调度。区别主要在于性能上面,大Die多核性能最好,也最贵。多Die性能降低,但经济实惠。

最后要注意,这些性能区别有些是操做系统能够感知的,如经过NUMA等方式,操做系统能够具体作出优化。但也有部分是操做系统不可以知道的,只有经过各类真实的workload,用户那里才会感受有明显的不一样。

相关文章
相关标签/搜索