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是中央处理器.


发布评论