多核 CPU 和多个 CPU 有何区别?与线程的关系?
多核 CPU 和多个 CPU 有何区别?
先说结论,多核CPU和多CPU的区别主要在于性能和成本。多核CPU性能最好,但成本最高;多CPU成本小,便宜,但性能相对较差。
再描述之前,先来认识几个基本知识:
CPU : 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心和控制核心,它的功能主要是解释计算机指令以及处理计算机软件中的数据,计算机的性能在很大程度上由CPU的性能决定,而CPU的性能主要体现在其运行程序的速度上,影响运行速度的性能指标包括CPU的工作频率,Cache容量,指令系统和逻辑结构等参数。类似于一个人的大脑。DIE : 核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。
为了更好的认识,接下来我们来看一个例子:如果我们需要组成一个48核的计算机,我们可以有这么三种选择:
- 第一种 —> 把48个核全部做到一个大Die上,Die很大。这个Die加上一些外围电路组成一个单Die多核CPU。
- 第二种 —> 弄4个小Die,每个Die 12个内核,每个Die很小。把这4个Die,加上互联总线和外围电路,全部封装(Packaging)到一个多Die多核CPU中。
- 第三种 —> 还是弄4个Die,每个Die 12个内核,每个Die很小。每个Die加上外围电路封装成一个单独的CPU,4个CPU再通过总线组成一个多路(way/socket)系统。
我们来看看他们的性能差距和成本差距。
性能差距如下:
为了很好的理解三者之间的区别,我们通过一个生活中的场景分别指代三种方式。我们想像每个Die是一栋大楼,Die里面的内核们,内存控制器们、PCIe控制器们和其他功能模块是其中的一个个房间。数据流和指令流在它们之间的流动看作房间里面的人们互相串门,这种串门的方便程度和走廊宽度决定了人们愿不愿意和多少人可以同时串门,也就指代了数据的延迟和带宽。
好了,有了这种方便的比喻,我们来看看三种情况分别是什么。
第一种 - 单CPU单DIE多核模式
48核的大Die是Intel至强系列的标准做法:【单CPU单DIE多核模式】
这种方法就是既然需要这么多房间,业主有钱,就建一个大楼,每层都是超级大平层:
走廊众多,这里堵了,换个路过去,反正方向对了就行,总能到的。所以人们可以很方便的串门,也可以有很多人同时串门。所以延迟小,带宽高。
第二种 - 单CUP多DIE多核
一个CPU pacakge里面包了4个小Die的做法是AMD的标准做法:【单CUP多DIE多核】
这种做法可以看作业主没钱搞大平层,但也要这么多房间,怎么办呢?在原地相邻得建4个小高层,再把小高层连起来,房间数目不变。怎么把它们连起来呢?做法可以看作为了两个楼互通,我们把地下都挖空了,搞了个换乘大厅。而EMIB可以看成在两个楼之间挖了一个地下通道。显然挖通道更省钱省力,但因为通道是两两互联的,如果大楼多了,还不如换乘大厅方便。
好了,那我们的串门问题怎么解决呢?因为楼和楼(Die和Die)之间只有地下互通,要串门的人都要做电梯到地下一层,通过地道或者换乘大厅到另一个大楼地下,再做电梯去想要的楼层。路途遥远,好多人都不想串门了,同时如果串门人太多,会挤爆电梯,不得不串门联系工作的人们在电梯口排起了长队。显然,建筑四个相邻小高层的办法,延迟和带宽都比较差。
第三种 - 多CPU多DIE多核
多CPU的情况:【多CPU多DIE多核】
还是没钱盖大平层,这次更惨,因为4层小高层间隔比较远,为了方便人们串门,不得不在园区里面搞了班车,用于跨楼通勤。因为班车开停需要时间,人们串门更加麻烦了。
借助这个比喻,我们应该能够得出结论,这三种方式提供48核的算力,延迟和带宽是依次下降的。下降的幅度和需要进行的work load有关,不能一概而论。大家可以借助一个工具[1]来具体测量一下内存的延迟:
在这个例子里面看出,本大楼的访问延迟比跨大楼的访问延迟低了一倍!
结论
相信读到这里,大家已经有了答案,结论开头已经说明,就不再赘述了。多核CPU和多Die乃至多路CPU,对操作系统等来看,区别不大,BIOS都报告了同样多的很多CPU供他们调度。区别主要在于性能上面,大Die多核性能最好,也最贵。多Die性能下降,但经济实惠。
线程
对于目前的技术来讲,还是以“1个核处理1个线程”,但是随着超频CPU的出现,已经实现了1个核处理2个线程的现象。
ps : 本文借鉴“知乎老狼”先生的文章。
多核 CPU 和多个 CPU 有何区别?与线程的关系?相关推荐
- 多核 CPU 和多个 CPU 有何区别?
原文来自:http://www.solves.com.cn/it/yj/CPU/2019-06-24/1122.html 多核CPU和多CPU的区别主要在于性能和成本.多核CPU性能最好,但成本最高: ...
- 查看服务器CPU的个数、CPU的核数、多核超线程数
查看服务器CPU的个数.CPU的核数.多核超线程数 这里有几个概念: 1.一台物理机的物理CPU的个数 2.一个CPU上的核数 3.一个核上面支持的线程数 有下面的计算公式: 总核数 = 物理CPU个 ...
- 多CPU,多核,多进程,多线程以及进程和线程的简单理解以及区别
当面临这些问题的时候,有两个关键词无法绕开,那就是并行和并发. 首先,要先了解几个概念: 1.进程是程序的一次执行. 2.进程是资源分配的基本单位. 3.一个进程可以包括多个线程. 4.在单CPU计算 ...
- c++ 多核cpu序列号_关于 CPU 的一些基本知识总结
优质文章,及时送达 作者 | 骏马金龙 链接 | cnblogs.com/f-ck-need-u/p/11141636.htm 关于CPU和程序的执行 CPU是计算机的大脑. 1.程序的运行过程,实际 ...
- CPU 和 CPU Core 有啥区别?多核 CPU?多个 CPU?单核 CPU 为何也支持多线程呢?
由于现在大多计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发,但提高并发并不意味着启动更多的线程来执行.更多的线程意味着线程创建销毁开销加大.上下文非常频繁,你的程序反而不能支持更高的T ...
- CPU知识(CPU个数、CPU核心数、CPU线程数、多核CPU等)
CPU知识(CPU个数.CPU核心数.CPU线程数.多核CPU等 CPU个数.CPU核心数.CPU线程数 多核CPU 单核多CPU与多核单CPU 今天看到服务器中有8核8线程和8核16线程的区分,觉得 ...
- 来来来,大家说一下CPU!【关于 CPU 的一些基本知识总结】
最近换了一台电脑,联想拯救者.刚到货,就拆机,给他做了升级.哈哈 然后随手我们平常常说CPU,内存条,等等.但是我们真的了解CPU吗?这篇博客对CPU的一些基本知识进行阐述,希望对你我有用!!! 关于 ...
- CPU Cache Line:CPU缓存行/缓存块
<CPU Cache Line伪共享问题的总结和分析> 以下文章来源于小林coding ,作者小林coding Table of Contents CPU Cache 有多快? CPU C ...
- cpu线程_CPU核数和线程数有什么用?什么意思?CPU核数和线程的关系与区别
我们在组装电脑选购硬件的时候,大多数的人群更在乎CPU的性能,除了考虑架构.工艺.单核性能等,还需要考虑核心和线程数量,CPU从早期的单核,发展到现在的双核.多核,除了核心数量之外,还有线程数量.那么 ...
最新文章
- 前端学习(2160):vuecli项目初始化过程
- matlab安装好 启动总是闪退_在Ubuntu16.04下安装MATLAB2017b
- 计算机基础 英文版本,计算机基础,全英文版的.ppt
- oracle 9207-gt;9208(HPUX,RAC)
- java 服务 容量评估,容器云平台容量规划及管理优化
- Inside ASP.NET 2.0-即时编译系统
- 台湾厂商:大陆投资DRAM工厂可能破坏全球市场
- Find Backpacker Jobs in Australia
- c++sizeof求类大小 sizeof与strlen对比
- python-opencv 角点检测的 FAST 算法
- CentOS安装Mingw32
- 计算机4F,电脑检测卡显示4f
- linux进程管理(一)
- ADP-L610-Arduino
- Oracle甲骨文官网必须登录怎么办!!?
- python基础--绘制棋盘图形
- PhotoShop 快速选择工具及选择并遮住使用
- Siege 压力测试
- 如何将EasyCVR平台RTSP接入的设备数据迁移到EasyNVR中?
- 卧槽!一行代码让 Python 的运行速度提高100倍