2024年6月9日发(作者:)

GPU与CPU区别

想知道GPU与CPU之间的区别,首先得知道什么是GPU和CPU。

1.什么是GPU

GPU (Graphic Processing Unit) “图形处理器”。GPU是相对于CPU的一个概念,由于

在现代的计算机中(特别是家用系统,游戏的发烧友)图形的处理变得越来越重要,需要一个

专门的图形的核心处理器。于是NVIDIA公司在1999年发布GeForce 256图形处理芯片时首

先提出GPU的概念。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其

是在3D图形处理时。GPU所采用的核心技术有硬体T&L、立方环境材质贴图和顶点混合、纹

理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬体T&L技术可以说是GPU

的标志。GPU核心频率、管线数量、着色单元数量基本可以代表一款GPU的性能。

2.什么是CPU

CPU (Central Processing Unit) “中央处理器”的缩写。CPU一般由逻辑运算单元、控制

单元和存储单元组成。在逻辑运算和控制单元中包括一些寄存器,这些寄存器用于CPU在处理

数据过程中数据的暂时保存, 其实我们在买CPU时,并不需要知道它的构造,只要知道它的性

能就可以了。 CPU或叫作微处理器。它由运算器和控制器组成,是电脑的心脏,它决定电脑档

次的高低。它是用半导体材料经过复杂的加工而生产出来的。 CPU的功能是取出、解释并执行

指令。

3.GPU的特征

GPU与CPU区别

GPU所有计算均使用浮点算法,而且目前还没有位或整数运算指令。

由于GPU专为图像处理设计,因此存储系统实际上是一个二维的分段存储空间,

包括一个区段号(从中读取图像)和二维地址(图像中的X、Y坐标)。

➢ 没有任何间接写指令。输出写地址由光栅处理器确定,而且不能由程序改变。这对

于自然分布在存储器之中的算法而言是极大的挑战。

➢ .不同碎片的处理过程间不允许通信。

实际上,碎片处理器是一个SIMD数据并行执行单元,在所有碎片中独立执行代码。 尽管

有上述约束,但是GPU还是可以有效地执行多种运算,从线性代数和信号处理到数值仿真。虽

然概念简单,但新用户在使用GPU计算时还是会感到迷惑,因为GPU需要专有的图形知识。

一些软件工具可以提供帮助。两种高级描影语言CG和HLSL能够让用户编写类似C的代

码,随后编译成碎片程序汇编语言。

4.Brook高级语言

➢ Brook是专为GPU计算设计,且不需要图形知识的高级语言。因此对第一次使用

GPU进行开发的工作人员而言,它可以算是一个很好的起点。

➢ Brook是C语言的延伸,整合了可以直接映射到GPU的简单数据并行编程构造。

经 GPU存储和操作的数据被形象地比喻成“流”(stream),类似于标准C中的数组。核心

(Kernel)是在流上操作的函数。在一系列输入流上调用一个核心函数意味着在流元素上实施

了隐含的循环,即对每一个流元素调用核心体。

➢ Brook还提供了约简机制,例如对一个流中所有的元素进行和、最大值或乘积计算。

GPU与CPU区别

➢ Brook还完全隐藏了图形API的所有细节,并把GPU中类似二维存储器系统这样

许多用户不熟悉的部分进行了虚拟化处理。用Brook编写的应用程序包括线性代数子程序、快

速傅立叶转换、光线追踪和图像处理。

利用ATI的X800XT和NVidia的GeForce 6800 Ultra型GPU,在相同高速缓存、SSE汇

编优化Pentium 4执行条件下,许多此类应用的速度提升高达7倍之多。 对GPU计算感兴趣

的用户努力将算法映射到图形基本元素。

类似Brook这样的高级编程语言的问世使编程新手也能够很容易就掌握GPU的性能优势。

访问GPU计算功能的便利性也使得GPU的演变将继续下去,不仅仅作为绘制引擎,而是会成

为个人电脑的主要计算引擎。

简单点说:GPU是图形处理器,CPU是中央处理器.