CPU和GPU的区别是什么?

   首先需要解释CPU(Central Processing Unit)和GPU(Graphics Processing Unit)这两个缩写分别代表什么。CPU即中央处理器,GPU即图形处理器。其次,要解释两者的区别,要先明白两者的相同之处:两者都有总线和外界联系,有自己的缓存体系,以及数字和逻辑运算单元。一句话,两者都为了完成计算任务而设计。

  先直观地上个示意图:


  从图中我们可以看到,CPU和GPU均有自己的存储(橙色部分,实际的存储体系比图示更为复杂),控制逻辑(黄色部分)和运算单元(绿色部分),但区别是CPU的控制逻辑更复杂,而GPU的运算单元虽然较小但是众多,GPU也可以提供更多的寄存器和程序猿可控的多级存储资源。

  两者的区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU的核数远超CPU,被称为众核(NVIDIA Fermi有512个核)。每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单(GPU初始时在浮点计算上一直弱于CPU)。从结果上导致CPU擅长处理具有复杂计算步骤和复杂数据依赖的计算任务,如分布式计算,数据压缩,人工智能,物理模拟,以及其他很多很多计算任务等。

  GPU由于历史原因,是为了视频游戏而产生的(至今其主要驱动力还是不断增长的视频游戏市场),在三维游戏中常常出现的一类操作是对海量数据进行相同的操作,如:对每一个顶点进行同样的坐标变换,对每一个顶点按照同样的光照模型计算颜色值。GPU的众核架构非常适合把同样的指令流并行发送到众核上,采用不同的输入数据执行。在2003-2004年左右,图形学之外的领域专家开始注意到GPU与众不同的计算能力,开始尝试把GPU用于通用计算(即GPGPU)。之后NVIDIA发布了CUDA,AMD和Apple等公司也发布了OpenCL,GPU开始在通用计算领域得到广泛应用,包括:数值分析,海量数据处理(排序,Map-Reduce等),金融分析等等。

  简而言之,当程序员为CPU编写程序时,他们倾向于利用复杂的逻辑结构优化算法从而减少计算任务的运行时间,即Latency。当程序员为GPU编写程序时,则利用其处理海量数据的优势,通过提高总的数据吞吐量(Throughput)来掩盖Lantency。目前,CPU和GPU的区别正在逐渐缩小,因为GPU也在处理不规则任务和线程间通信方面有了长足的进步。另外,功耗问题对于GPU比CPU更严重。

时间: 2024-11-03 02:50:35

CPU和GPU的区别是什么?的相关文章

CPU和GPU有何区别呢

  CPU即中央处理器,GPU即图形处理器.其次,要解释两者的区别,要先明白两者的相同之处:两者都有总线和外界联系,有自己的缓存体系,以及数字和逻辑运算单元.一句话,两者都为了完成计算任务而设计. 两者的区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU的核数远超CPU,被称为众核(NVIDIA Fermi有512个核).每个核拥有的缓存大

小米跑分不仅仅是配置,跑的是CPU性能+GPU性能等综合性能

小米跑分不仅仅是配置,而是 CPU性能+GPU性能+内存及ROM存取效率+WIFI及2G/3G上网效率+整体系统优化的综合性能,其中系统优化是非常关键的!   作为一款国产手机,小米2不管是在性能上还是系统上都是智能手机界里的佼佼者,同时它的出现更是在国内掀起了一股小米发烧友的浪潮,成为由用户最强口碑铸就的国产智能手机.对于发烧友来说,他们毋庸置疑都在使用小米手机,但对于其他用户来说,小米是逐渐超越iphone的身影.随着小米1.1S的过去式,小米2开始进军智能手机市场,对于M2来讲小米跑分不仅

CPU和GPU双低效,摩尔定律之后一万倍 ——写于TPU版AlphaGo重出江湖之际

2008年,<三体2:黑暗森林>里写到: 真的很难,你冬眠后不久,就有六个新一代超级计算机大型研究项目同时开始,其中三个是传统结构的,一个是非冯结构的,另外两个分别是量子和生物分子计算机研究项目.但两年后,这六个项目的首席科学家都对我说,我们要的计算能力根本不可能实现.量子计算机项目是最先中断的,现有的物理理论无法提供足够的支持,研究撞到了智子的墙壁上.紧接着生物分子计算机项目也下马了,他们说这只是一个幻想.最后停止的是非冯结构计算机,这种结构其实是对人类大脑的模拟,他们说我们这只蛋还没有形成

07. WebApp2.0时代启程:倒立者赢,从CPU到GPU,一张图片的旅行

紧接上文,终端开发使用的WindVane.wax.ReactNative等已经是一种跨平台的技术,我们称之为上层跨平台,Cocos2d-x这种直接使用C/C++,我们成为底层跨平台.上层跨平台,提升开发效率:下层跨平台,提升程序性能. 1. 为什么Cocos2d-x性能比Native开发要好? 因为Cocos2d-X是游戏引擎呗,人家是专业做游戏特效的好不好,直接调用GPU的OpenGL绘图的好不好.打开Cocos2d-X代码,感触最深的不是CCNode这些游戏节点,cocos2d-x已经开始为

《C++ AMP:用Visual C++加速大规模并行计算》——3.8 在CPU和GPU之间复制数据

3.8 在CPU和GPU之间复制数据 C++ AMP:用Visual C++加速大规模并行计算 数据可以在CPU和加速器(通常是GPU)之间自动复制,也可以根据需要使用amp.h中众多的copy()重载函数之一显式复制.例如,我们可以在默认加速器上构造array,然后仅使用一条函数调用便可以把数据复制进去: array<int, 1> a(5, v.begin(), v.end()); 此外,我们还可以构造空数组,然后再使用copy()函数来加载数据.array_view在CPU上有一个对应容

AMD HSA异构计算颠覆CPU和GPU的固有认识

[天极网服务器频道6月17日消息]AMD推出了代号为Kaveri的新一代APU,真正将CPU和GPU融合在一起,真正实现了HSA(Heterogeneous System Architecture,即http://www.aliyun.com/zixun/aggregation/13440.html">异构系统架构),这也是AMD在当年推出Athlon.Opteron.真双核产品之后又一款在架构层面上有颠覆性创新意义的产品,将为AMD未来的产品技术发展奠定坚实的基础,是AMD在技术领域以及

从CPU、GPU再到TPU,Google的AI芯片是如何一步步进化过来的?

Google I/O是由Google举行的网络开发者年会,讨论的焦点是用Google和开放网络技术开发网络应用.这个年会自2008年开始举办,到今年已经是举办的第9届了. 在今年的年会上,Google主要发布了以下8种产品:智能助手Google Assistant,与Amazon Echo竞争的无线扬声器和语音命令设备Google Home,消息应用Allo,视频呼叫应用Duo,VR平台Daydream,独立应用程序的支持Android Wear 2.0,允许不安装而使用应用的Android I

CPU与GPU整合势能加速 移动芯片风险诱惑并存

得平台者得天下,对于英特尔和AMD两大巨头,双方在移动平台上竞争针尖对麦芒. 今年,英特尔迅驰2vPro平台与AMD的Puma平台成为市场争夺焦点.9月份以来,英特尔和AMD最新移动平台先后上市.2010年,随着MDAGU(加速计算单元)推出,AMD在移动平台领域的竞争优势将得到进一步体现. 在移动平台竞赛中,AMD将显卡部分重要性提升到新高度,而这恰恰是迅驰2架构中相对较弱的部分(单就集成显卡而言).英特尔应如何出牌应对? AMD主打CPU 与GPU融合CPU与GPU整合成为必然.可以预见,整

AMD彻底合并CPU和GPU部门结束ATI独立运营

5月7日消息,AMD周三进行业务重组和人事调整,将CPU和GPU芯片业务合并为一个部门,ATI将结束独立运营,由原GPU业务部门副总裁Rick Bergman负责,原来负责服务器芯片业务的副总裁Randy Allen将离职. AMD发言人Drew Prairie表示,将CPU和GPU部门合并会提高运营效率,新的业务结构整合了产品团队并为技术研发.销售和营销团队确定了明确的领导方向,此次业务重组不会引发任何裁员. AMD已经将业务重组为四个新的部门.产品部门将负责推出CPU.GPU产品和芯片的设计