作为一个看半导体的小朋友,今天和大家简单聊聊CPU和GPU的区别。

注:本人未曾修过集成电路专业学位,也未曾在芯片厂商工作过,以下均为阅读相关文献所思所得,如有不当之处,还请各位指出。

gpu和cpu有什么区别_无效合同和可撤销合同的区别有_天使投资和风险投资的区别有

Chapter 1

都是芯片 有什么不同

无效合同和可撤销合同的区别有_天使投资和风险投资的区别有_gpu和cpu有什么区别

CPU (Central Processing Unit,中央处理器)就是机器的“大脑”,是完成布局谋略、发号施令、控制行动的“总司令官”。CPU的结构主要包括运算器(ALU,Arithmetic and Logic Unit)、控制单元(CU,Control Unit)、寄存器(Register)、高速缓存器(Cache)和之间通讯的数据、控制及状态的总线。

GPU(Graphics Processing Unit,中文为图形处理器),又称显示核心、视觉处理器、显示芯片。就如其名字一样,GPU最初是用在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上运行绘图运算工作的微处理器。

CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。

于是CPU和GPU就呈现出非常不同的架构(示意图):

无效合同和可撤销合同的区别有_天使投资和风险投资的区别有_gpu和cpu有什么区别

从架构图我们就能很明显的看出,GPU的构成相对简单,有数量众多的计算单元和超长的流水线,特别适合处理量大且统一的数据(如图像数据)。

GPU的主要工作就是3D图像处理和特效处理,通俗地说就是一种图像呈现的工作。对于2D图形,CPU可以轻松处理,但是对于复杂的3D图像,CPU就要花费很多的资源去处理,这显然会降低其他方面的工作效率,于是就将这类工作交给GPU去处理。

一些高帧率的游戏画面和高质量的特效也交给GPU去处理,分担CPU的工作。除此以外,GPU凭借并行处理处理的能力,在密码破译、大数据处理、金融分析等领域应用广泛。

为什么GPU特别擅长处理图像数据呢?这是因为图像上的每一个像素点都有被处理的需要,而且每个像素点处理的过程和方式都十分相似,此类场景也就成了GPU的天然温床。

但GPU无法单独工作,必须由CPU进行控制调用才能工作。CPU可单独作用,处理复杂的逻辑运算和不同的数据类型,但当需要大量的处理类型统一的数据时,则可调用GPU进行并行计算。

GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下GPU计算能力只是CPU很小的一部分。

CPU 基于低延时的设计,CPU有强大的ALU,它可以在很少的时钟周期内完成算术计算。

注:算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路,简称ALU。

无效合同和可撤销合同的区别有_天使投资和风险投资的区别有_gpu和cpu有什么区别

Chapter 2

GPU的特性

无效合同和可撤销合同的区别有_天使投资和风险投资的区别有_gpu和cpu有什么区别

相比之下,GPU是基于大的吞吐量设计,Cache比较小、控制单元简单,但GPU的核数很多,适合于并行高吞吐量运算。

天使投资和风险投资的区别有_gpu和cpu有什么区别_无效合同和可撤销合同的区别有

GPU中有很多的运算器ALU和很少的缓存Cache,缓存的目的不是保存后面需要访问的数据(这点和CPU不同),而是为线程Thread提供服务的。如果有很多线程需要访问同一个相同的数据,缓存会合并这些访问后再去访问内存DRAM。

总而言之,CPU和GPU因为最初用来处理的任务就不同,所以设计上有较大的区别。而某些任务和GPU最初用来解决的问题的方式比较相似,所以采用GPU来计算。不过目前GPU也存在着以下两个问题。

计算能力和计算模式方面的问题

当前 GPU 的基础 ———传统 Z-buffer 算法不能满足新的应用需求。在实时图形和视频应用中 ,需要更强大的通用计算能力 ,比如支持碰撞检测、近似物理模拟;在游戏中需要图形处理算法与人工智能和场景管理等非图形算法相结合。

当前的GPU 的体系结构不能很好地解决电影级图像质量需要解决的透明性、高质量反走样、运动模糊、景深和微多边形染色等问题 ,不能很好的支持实时光线跟踪、Reyes(Renders everything you ever saw) 等更加复杂的图形算法 ,也难以应对高质量的实时3D图形需要的全局光照、动态和实时显示以及阴影和反射等问题。需要研究新一代的 GPU 体系结构突破这些限制。随着 VLSI 技术的飞速发展 ,新一代 GPU芯片应当具有更强大的计算能力 ,可以大幅度提高图形分辨率、场景细节 (更多的三角形和纹理细节)和全局近似度。

图形处理系统发展的趋势是图形和非图形算法的融合以及现有的不同染色算法的融合。新一代的图形系统芯片需要统一灵活的数据结构、新的程序设计模型、多种并行计算模式。我们认为发展的趋势是在统一的、规则并行处理元阵列结构上 ,用数据级并行、操作级并行和任务级并行的统一计算模式来解决当前图形处理系统芯片面临的问题。

制造工艺方面的问题

集成电路发展到纳米级工艺 ,不断逼近物理极限 ,出现了所谓红墙问题:

现代的图形处理器芯片在克服红墙问题的几个方面有了显著的进步:利用了大量的规则的 SIMD 阵列结构;它的分布存储器接近了运算单元 ,减少了长线影响;它的硬件多线程掩盖了部分存储延迟的影响。

但是随着工艺进一步发展 ,当前 GPU 的体系结构难以适应未来工艺发展 ,没有在体系结构上应对长线问题、工艺偏差和工艺缺陷问题的措施 ,特别是没有考虑如何适应三维工艺。当前最先进工艺的晶体管的栅极厚度已经大约是五个原子,在制造时,少了一个原子就造成20 %的工艺偏差。因此工艺的偏差成为SoC设计不能不考虑的问题。特别是到 2018 年后的纳电子集成电路 ,可以通过随机自组装产生规则的纳米器件。

因此,新一代系统芯片的体系结构必须利用规则的结构并且容忍工艺偏差 ,具有容错、避错和重组的能力。我们认为采用大量同构处理器元之间的邻接技术 ,适应纳米级工艺和未来的三维工艺 ,采用新型体系结构和相关的低功耗、容错和避错的设计策略 ,对于未来的图形处理系统芯片具有重要的科学意义。

Chapter 3

再深入聊聊AI芯片

无效合同和可撤销合同的区别有_天使投资和风险投资的区别有_gpu和cpu有什么区别

为什么在人工智能领域GPU十分盛行?深度学习是模拟人脑神经系统而建立的数学网络模型,这个模型的最大特点是需要大数据来训练。

因此,人工智能领域对计算能力的要求就是需要大量的并行的重复计算,GPU正好有这个专长,时势造英雄,因此GPU就出山担此重任。在人工智能领域(深度学习),GPU具有如下主要特点:

需要强调一点,虽然GPU是为了图像处理而生,但是GPU在结构上并没有专门为图像服务的部件,只是对CPU的结构的优化与调整,所以现在GPU不仅可以在图像处理领域大显身手,它还被用做科学计算、密码破解、数值分析,海量数据处理(排序、Map-Reduce等),金融分析等需要大规模并行计算的领域。因此,GPU也可以认为是通用芯片。

GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时GPU所采用的核心技术有硬件T&L(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L技术可以说是GPU的标志。GPU的生产商主要有ATI和NVIDA。

ATI

1985年8月20日ATI公司成立,同年10月ATI使用ASIC技术开发出了第一款图形芯片和图形卡,1992年4月ATI发布了Mach32图形卡集成了图形加速功能,1998年4月ATI被IDC评选为图形芯片工业的市场领导者,但那时这种芯片还没有GPU的称号,很长的一段时间ATI都是把图形处理器称为VPU,直到AMD收购ATI之后其图形芯片才正式采用GPU的名字。

NVIDIA

NVIDIA公司在1999年发布 Geforce256图形处理芯片时首先提出GPU的概念。从此 NVIDIA显卡的芯就用GPU来称呼。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时。GPU所采用的核心技术有硬体T&L、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬体T&L技术可以说是GPU的标志。

如果要给个简单总结:CPU和GPU是两种不同的处理器,CPU是程序控制、顺序执行等操作的最高级通用处理器,而GPU是用来做图像处理、特定领域分析的专用型处理器,GPU受CPU的控制。在很多终端设备中,CPU和GPU往往集成在一个芯片内,同时具备CPU或GPU处理能力。

天使投资和风险投资的区别有_gpu和cpu有什么区别_无效合同和可撤销合同的区别有

讲到这里,也不妨提一下最近几年市场上很火的AI芯片。这个市场目前主流分为GPGPU(GeneralPurposeGPU)派、FPGA派和ASIC派,特别是在训练方面目前GPGPU占据绝对主导地位:

无效合同和可撤销合同的区别有_gpu和cpu有什么区别_天使投资和风险投资的区别有

在众多的GPU厂商中,NVIDIA以其产品高度的通用性(支持几乎所有主流AI算法)、成熟的软件生态(CUDA几乎成为深度学习算法设计必备工具)及不断迭代优化的产品矩阵,成为顶级的GPGPU供应商;GoogleTPU在支持某些固化的AI算法时可达到极高的性能/功耗比。

从长期来看,GPGPU的高度通用性和可编程性,无疑对于高速迭代的AI和其他新型算法具备更好的适应性和发展潜力,加上其产品经过长期的迭代和优化设计更加成熟,因此GPGPU成为近年来算法公司的主流硬件加速工具(特别是规模较大的NN加速)。

今天先简单讲到这,希望下次有机会跟大家聊聊我最喜欢的GPU核弹企业英伟达!

END

或许你还会喜欢阅读

无效合同和可撤销合同的区别有_天使投资和风险投资的区别有_gpu和cpu有什么区别

限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:11082411

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。