最近在看论文时,经常会出现CPU,core和cache之类的,实验室的服务器又总是node和processor之类的,概念很多,有些晕。经过调研请教,现总结如下:

(1)node和CPU是等价的,其标志就是都有自己的cache和主存,有独立的支持电路。

(2)一个CPU上可能有多个core,每个core是一个独立的计算单元,同一个CPU的多个core共用缓存和主存。

(3)processor更多的是OS角度看到的逻辑处理器,由于CPU可以有多个物理核,而在操作系统的角度看,一个核就是一个逻辑处理器和独立的计算单元,所以processor的个数往往多余CPU的个数。

(4)多个CPU可以共享内存和统一寻址,即DSM或SMP结构,也可以不共享内存,每个CPU都有自己独立专用的内存空间和地址,例如集群系统。

(5)关于多个单核CPU与多核CPU。

1)从通信角度来看,多核CPU通过芯片内部总线通信,而多CPU往往需要通过主板总线、以太网或光纤通信。因此,多个单核CPU运行多线程程序时,由于每个线程需要独立运行在一个CPU上,则线程间通信开销较大。

2)从布线的角度,每个CPU都有独立的cache、主存和支持电路,因此主板布线难度较大。而多核CPU对主板空间的占用较小,布线压力较小。目前大部分主板仅支持单CPU,一般商用机器多采用多核单CPU的架构,系统具有多个逻辑核心,而少数高端机器和分布式系统需要更强的多任务并行计算能力,会采用多CPU架构。

3)从程序设计的角度,多核CPU可以通过软件封装被普通用户视为一个处理器,原来在单机上运行的程序不用更改就能执行,可以提高PC的计算能力而不增加程序的复杂性。而多CPU由于存在CPU间的数据一致性、主从关系控制等,导致程序实现、调试和运行的复杂性较高。

4)从程序运行的角度,多CPU运行时线程间的协作需要通过网络或主板总线完成,效率较低从而影响总体性能,而多核CPU可以通过共享的cache和主存完成,协同效率更高。然而在同时运行多个大型程序时,多个进程会分时使用多核CPU,程序切换开销较大。

5)从使用范围的角度,多CPU常见于分布式系统,多用于cluster,云计算平台等,该架构简单清晰,可以用商用机做数量堆叠,具有成本优势,适用于大计算量和对速度时间不敏感的任务,最大的瓶颈在于I/O,尤其是多个CPU之间的通信和协同,效率较低。而多核CPU架构适用于对I/O速度要求较高的应用,成本较高。

(6)关于CPU与GPU。CPU为中央处理器,CPU为图形处理器。两者都有总线与外界联系,有自己的数字逻辑运算单元和缓存体系,都是为完成计算任务而设计。二者的区别主要表现为:

1)从功能和原理来看,CPU主要用于管理硬件和保证操作系统及应用程序的运行,包含运算单元、控制单元和缓存等,其能够处理显示数据但效率较低。GPU是一种特殊用途的CPU,为加速视频游戏和显示而设计的。在三维游戏和显示中,往往需要对海量数据执行相同的操作,因此GPU采用众核结构把相同的指令发送到所有核上,每个核采用不同的输入数据执行相同的操作,同时针对3D图形处理进行专门的指令集优化和硬件设计。

2)从结构上,CPU的核数比GPU少,但其每个核拥有足够大的缓存和数字逻辑运算单元,并辅助有很多加速分支等复杂逻辑判断的硬件,因此擅长处理具有复杂计算步骤和数据依赖的计算任务,而GPU的核数很多,被称为众核,但每个核比较简单,拥有的缓存较少,数字逻辑运算单元的数量也较少,擅长对海量数据执行相同的操作,同时GPU针对视频和显示任务的特点进行专门的指令集优化和硬件设计以加速。

3)从程序设计的角度看,为CPU编写程序时,往往倾向于利用复杂的逻辑结构优化算法,以减小计算任务的运行时间,为GPU编写程序时,则会利用其数据计算能力的优势,通过提高数据吞吐量来减小计算任务的运行时间。

由于GPU中蕴含大量的计算能力,目前已经开始将其用于通用计算,即GPGPU,例如CUDA,OpenCL等。

node,core,CPU和GPU的关系相关推荐

  1. CPU和GPU的关系

    作者:知乎用户 链接:https://www.zhihu.com/question/19903344/answer/96081382 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  2. CPU和GPU及CUDA入门基础概念

    CPU与GPU 1 CPU与GPU的关系:smile: 1.1 CPU与GPU各自特点 2 一些零碎的CUDA入门知识:blush: 2.1 函数修饰符 2.2 线程.线程快.线程格 2.3 什么是核 ...

  3. CPU和GPU之间的关系

    GPU介绍 GPU是图形处理器的缩写,是电脑显卡的处理器.GPU和CPU相比,GPU有更多的晶体管用于数据处理,特别适用于解决并行计算的问题.可以使程序执行速度加快.(并行计算这是用硬件对算法加速 . ...

  4. 显卡,CPU,GPU和CUDA的关系与区别

    (1)显卡:显卡全称显示接口卡,又称显示适配器,是计算机最基本配置.最重要的配件之一.就像电脑联网需要网卡,主机里的数据要显示在屏幕上就需要显卡.因此,显卡是电脑进行数模信号转换的设备,承担输出显示图 ...

  5. CPU,GPU,GPGPU

    CPU,GPU,GPGPU 1.基本概念 1.1 GPU 图形处理器(bai英语:Graphics Processing Unit,缩写:GPU),又称显示核心.视觉du处理器.zhi显示芯片,是一种 ...

  6. CPU和GPU跑深度学习差别有多大?

    作者:带萝卜 链接:https://www.zhihu.com/question/273812506/answer/1271840613 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  7. 深度解析:CPU与GPU有什么区别?xPU又是什么鬼?

    先了解什么是异构并行计算 同构计算是使用相同类型指令集和体系架构的计算单元组成系统的计算方式. 而异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式,常见的计算单元类别包括CPU ...

  8. CPU VS GPU

    CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器).在现代iOS设备中,都有可以运行不同软件的可编程芯片,但是由于历史原因,我们可以说CPU所做的工作都在 ...

  9. 主板上还剩啥?CPU整合GPU/北桥/南桥

    泡泡网主板频道2月6日 众所周知,主板上最重要.成本最高的两颗芯片,被称为北桥和南桥,其中北桥负责与处理器对接,主要功能包括:内存控制器.PCI-E控制器.集成显卡.前/后端总线等,都是速度较快的模块 ...

最新文章

  1. mysql中3张表如何关联查询_mysql三张表关联查询
  2. 重磅推荐!大咖解读,重新定义 B2B 获客转化,引爆企业营销
  3. 预警数据一键升级工具_重磅 | 教务管理全新升级,“章鱼校长”助力机构实现轻松管理...
  4. crond定时任务详细分析
  5. Jurassic.ScriptEngine 简易示例
  6. 如何搜索旅行的好地方(MongoDb LINQ和.NET Core)
  7. Java中HashMap和TreeMap的区别深入理解
  8. mysql 触发器 实例_MySQL触发器简单用法示例
  9. html代码表白_七夕表白代码,樱花特效+爱心特效+花瓣+评论留言功能等
  10. python token验证失败百分百解决_微信公众号token验证失败解决方案
  11. 办公技巧:腾讯文档怎么固定表头?
  12. html5 图片合成,H5案例分享:图片合成
  13. Windows Server2008 R2搭建域环境(步骤最详细)
  14. LNMP 配置漏洞系列解读
  15. [Git[ 解决 git branch -M main error: refname refs/heads/master not found
  16. reads去污染接头
  17. win10在运行命令输入什么可以打开设置
  18. python交互式和文件式区别_Python 运行.py文件和交互式运行代码的区别详解
  19. 锂离子电池HPPC测量
  20. 非计算机管理员用户 不可以,电脑非管理员账户要怎么办

热门文章

  1. 数据绑定控件收藏 DropDownList ListBox GridView DataList Repeater FormView DetailsView
  2. iPhone“点击支付”新功能上热搜:比支付宝还方便?
  3. 总结下自己做过的深度召回模型
  4. 网络攻防实验之模拟arp攻击
  5. 一线大厂面试官问:你真的懂电商订单开发吗?
  6. 分布式事件调度框架tiger
  7. Java计算机毕业设计水果商城源码+系统+数据库+lw文档
  8. 彩色图像RGB分量直方图分析matlab
  9. 图片无损放大,让细节美到毛孔——PhotoZoom Pro小能手来咯
  10. iPhone 6和iPhone 6 plus的AV Foundation框架特性