0

PCB客服

李娟 钟小玲 韦凤梅 肖玉菲 电话:400-8866-380 元器件客服 电话:0755-88256362 手机:18152809519

工作时间

周一至周五: 09:00-12:00 13:30-18:30

微信公众平台

购物车
反馈建议
返回顶部

首页 > 新闻资讯 > 技术文库

GPU的作用及工作原理

2016-06-03来源:百能网512

    在一篇文章《什么是GPU?GPU有什么用?》曾提及可编程着色器,可编程着色器对于3D游戏的设计者来说可谓有巨大的优点,不过同时也给GPU工程师带来了一些和CPU类似的有趣的问题。因需要发送指令(instruction)运行,解码(decode)和执行指令(execute)过程必不可少,而着色器代码中判断语句和循环语句也会引起执行次序的小问题等等。这意味着着色器核心已经能成为一个小型的计算引擎去执行任何的编程任务,尽管不如CPU那么灵活多变,但也能执行有用的、非图形相关的任务。

  GPU 计算 

GPU的作用及工作原理


  而现在利用GPU计算的任务基本都是高度并行的——同时执行大量小型的数学计算,所以当前其发展方向是机器学习(machine learning)和计算机视觉(computer vision)。随着GPU计算扩展的领域越来越大,作用也会随着越发重要,它就能成为和CPU并排的伙伴而不再是CPU附属的一个部件。

  在2015年10月ARM发布最新的SoC时顺带还有CoreLink CCI-550,它的作用就是将CPU、GPU、主存储器和各种内存缓冲区连接在一起。新的GPU代号为Mimir,能够从高速缓存内存里直接获取数据,甚至在CPU执行变动时,GPU 需通过主存储器就能获得和CPU一样的数据。CCI-550也允许CPU和GPU共享相同的内存,无需在CPU和GPU的缓冲区之间复制数据。

  统一着色器(Unified shaders)和Vulkan 

GPU的作用及工作原理


  OpenGL ES 3.0(或相近的DirectX版本)对比OpenGL ES 2.0最大的变化就是统一着色器。查看Mali-470的模型图,就能发现兼容OpenGL ES 2.0的GPU有两种类型的着色器,分别称作“顶点(Vertex Processor)”和“片段(Fragment Processor)”,就是之前介绍过的顶点着色器和片段着色器。Mali-470有1个顶点着色器和4个片段着色器,而查看Mali-T860的模型图就会发现它支持16个能作为顶点着色器或片段着色器的统一着色器,此前着色器可能会空闲的情况被消除了。

  2016年2月发布的3D图形API——Vulkan是另一个重点,它带来了两个重要的创新。一是通过降低驱动程序的消耗和提高CPU多线程使用率,带来显着的性能提升;二是为桌面系统、移动系统和控制台提供了一个统一的API。Vulkan现支持Windows 7/8/10、SteamOS、Android和部分Linux发行版,首款支持Vulkan的Android机器是三星的Galaxy S7。

  电源问题

  不同于PC上的显卡,它们拥有大的风扇、复杂的冷却系统,部分有需要的还会直接供电,智能手机和平板上的GPU体积无法和这些显卡相比。加上智能手机的GPU由电池供电,所以与桌面级的显卡相比,这些移动版的GPU不能大量的消耗能源,更要控制热量的散发。然而作为消费者的我们肯定是希望它能有更强的图形性能,所以对于移动版GPU工程师来说,最大的挑战不是支持最新的3D API,而是更高的图形性能与发热、能耗之间如何达到一个平衡。

  总结 

GPU的作用及工作原理


  回顾一下这次两篇文章的重点:移动3D图形基于三角形,模型进行移动、缩放是对三角形的顶点进行处理;GPU里面的可编程执行单元被称为着色器核心,游戏开发者可以编写基于着色器核心的代码;顶点着色器处理完后,交由片段着色器转换为一个个像素,最终送到像素着色器设置颜色;3D游戏开发者可以根据需要编程自由调用顶点着色器和片段着色器;GPU并行处理的特性让其非常适合用于机器学习和计算机视觉。

    来源:爱搞机

关注[百能拼客联盟]微信公众平台,了解更多行业资讯和最新动态!(微信号:PCBPP_CN)