一、概念
CPU主要是解释计算机指令以及处理计算机软件中的数据,相当于是一台计算机的“大脑”,
GPU是一个专门的图形核心处理器,是显示卡的“大脑”,决定显卡的档次和大部分性能。
尽管有类似的首字母缩略词,但 CPU 和 GPU 却截然不同。CPU 和 GPU 之间的最大区别在于 CPU 在任何计算系统中扮演的核心角色。中央处理单元或 CPU 是数据在硬件系统中通过的基本逻辑电路。CPU 通常被称为处理器或“芯片”,是电子系统的核心。通过 CPU 的电通道确定输入 – 输出活动。
相比之下,图形处理单元或 GPU 是专门用于图像和视频显示的专用类型的电子电路。GPU 用于增强帧缓冲器的使用,以用于计算机,移动电话和游戏控制台等设备中的显示目的。图形处理单元可以作为插槽卡组件安装,或者驻留在设备主板上。
这两种类型的电路都处理数据。但是其中只有一个对所有计算系统都至关重要。随着企业系统和其他硬件架构从硬件定义的驻留模型转变为基于云计算和网络虚拟化的模型,CPU 或 CPU 资源的使用已经变得非常抽象。在虚拟化系统中,CPU 是资源分配而不是特定硬件中的实际物理处理器。
这两种类型的电路都处理数据。但是其中只有一个对所有计算系统都至关重要。随着企业系统和其他硬件架构从硬件定义的驻留模型转变为基于云计算和网络虚拟化的模型,CPU 或 CPU 资源的使用已经变得非常抽象。在虚拟化系统中,CPU 是资源分配而不是特定硬件中的实际物理处理器。
除了传统的 CPU 和 GPU 之外,工程师们还开始使用称为通用计算的 GPU 进程,这不仅涉及使用 GPU,而且还包括通常由 CPU 处理的其他计算和任务。这种类型的并行处理有助于在现代硬件中促进不同类型的高功率结果,并且已经变得流行于计算机和移动设备平台
二、缓存
1、CPU有大量的缓存结构,目前主流的CPU芯片上都有四级缓存,这些缓存结构消耗了大量的晶体管,在运行的时候需要大量的电力。
2、GPU的缓存就很简单,目前主流的GPU芯片最多有两层缓存,而且GPU可以利用晶体管上的空间和能耗做成ALU单元,因此GPU比CPU的效率要高一些。
三、响应方式
1、CPU要求的是实时响应,对单任务的速度要求很高,所以就要用很多层缓存的办法来保证单任务的速度。
2、GPU是把所有的任务都排好,然后再批处理,对缓存的要求相对很低。
四、浮点运算方式
1、CPU除了负责浮点整形运算外,还有很多其他的指令集的负载,比如像多媒体解码,硬件解码等,因此CPU是多才多艺的。CPU注重的是单线程的性能,要保证指令流不中断,需要消耗更多的晶体管和能耗用在控制部分,于是CPU分配在浮点计算的功耗就会变少。
2、GPU基本上只做浮点运算的,设计结构简单,也就可以做的更快。GPU注重的是吞吐量,单指令能驱动更多的计算,相比较GPU消耗在控制部分的能耗就比较少,因此可以把电省下来的资源给浮点计算使用。
五、应用方向
1、CPU所擅长的像操作系统这一类应用,需要快速响应实时信息,需要针对延迟优化,所以晶体管数量和能耗都需要用在分支预测、乱序执行、低延迟缓存等控制部分。
2、GPU适合对于具有极高的可预测性和大量相似的运算以及高延迟、高吞吐的架构运算。