cpu和gpu的区别

cpu和gpu的区别,第1张

cpu与gpu的区别有多核心处理区别、串行处理区别、散热面积区别、体积区别、应用领域区别等。

1、多核正旁心处理区别

cpu具有较多的核心,比如NVIDIA的GTX 980Ti有2880个核心,而cpu只有几个核心,比如Intel的i7-6700K只有4个核心,但是gpu的每个核心的计算能力要低于 cpu的每个核心的计算能力。

2、串行处理区别

cpu采用串行处理技术,可以赋予更多的指令来运态悄行,从而更快的处理数据,而gpu采用并行处理技术,可以运行多个线程同时处理数据,从而更快完成任务。

3、散热面积区别

gpu的散热面积比cpu大,比如GTX 1080Ti的散热面积是314平方毫米,而Intel Core i7-6700K的散热面积是97平方毫米。

4、体积区别

cpu的尺寸一般要比gpu小,cpu是一个外接件,而gpu是一个内置件,而且cpu的体积很小,可以放在电脑的主板上,而gpu的体积则很大,一般是放在显卡上。

5、应用领域区别

cpu一般用于执行系统和应用程序,而gpu一般用于渲染图形和帆清渣图像,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更严重。

GPU叫做图形处理器,又称显示核心、视觉处理器、显示芯片。GPU和cpu的区别如下:

缓存:CPU有大量的缓存结构,目前主流的CPU芯片上都有四级缓存,这些缓存结构消耗了大量的晶体管,在运行的时候需要大量的电力。GPU的缓存就很简单,目前主流的GPU芯片最多有两层缓存,GPU比CPU的效率要高一些。

响应方式:CPU要求的是实时响应,对单任务的速度要求很高,所以就要用很多层缓存的办法来保证单任务的速度。GPU是把所有的任务都排好,然后再批处理,对缓存的要求相对很低。

浮点运算方式:CPU除了负责浮点整形运算外,还有很多其他的指令集的负载,CPU分配在浮点计算的功耗就会变少。GPU基本上只做浮点运算的,设计结构简单,也就可以做的更快。

应用方向:CPU所擅长的像 *** 作系统这一类应用,需要快速响应实时信息,需要针对延迟优化,所以晶体管数量和能耗都需要用在分支预测、乱序执行、低延迟缓存等控制部分。GPU适合对于具有极高的可预测性和大量相似的运算以及高延迟、高吞吐的架构运算。

gpu和cpu的简介

GPU叫做图形处理器,又称显示核心、视觉处理器、显示芯片。是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器,可以形象的理解为90%的ALU(运算单元),5%的Control(控制单元)、5%的Cache(缓存单元)。

CPU叫做中央处理器(central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元,可以形象的理解为有25%的ALU(运算单元)、有25%的Control(控制单元)、50%的Cache(缓存单元)。

在说明两者之间的区别之前,我们现在了解一下什么事CPU,什么事GPU,两者各代表什么。CPU即中央处理器,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更严重。

总的来讲,GPU和CPU的区别是个很大的话题,甚至可以花一个学期用32个学时十几次讲座来讲,所以如果提问者有更具体的问题,可以进一步提出。我会在我的知识范围内尝试回答。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10324589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存