GPU主要是进行计算机图形这种大运算量的图形处理器,包括顶点设置、光影、像素操作。
对CPU发出的数据和指令,进行着色,材质填充,渲染。

在没有GPU的系统中,3D游戏中物体移动时的坐标转换与光源处理,这些工作都是CPU配合特定软件进行的。

GPU的特点:
1. 类似于CPU,都是用来计算,而CPU一般擅长于串行处理。
2. GPU的cache命中率不高,通过多线程技术来提高处理速度。
3. GPU中无论是顶点数据还是像素数据都是互不相关的,因此可以并行独立的计算。
4. 顶点着色器流水线使用MIMD方式控制 (比较有效率的执行分支程序)
5. 像素着色器流水线使用SIMD结构 (运行条件语句造成很低的资源利用率,但优点是需要硬件少)

同CPU比较的优点,可以支持并行处理,超长流水线,SIMD,MIMD指令,浮点计算能力。

GPU一般包括:2D engine, 3D engine, Video Processing Engine, FSAA Engine, 显存管理单元。

GPU的图形(处理)流水线完成以下工作:
1. 顶点处理; 根据图形的顶点数据确定3D图形的形状及位置关系,建立3D图形的骨架。由(Vertex Shader硬件),顶点着色器完成。
2. 光栅化计算: 把一个矢量图形转换为一系列像素点的过程称为光栅化。
3. 纹理贴图:完成多边形表面的贴图。 Texture mapping unit实现。
4. 像素处理: 对像素的计算和处理,确定每个像素的最终属性。 Pixel Shader 像素着色器完成。
5. 由ROP(光栅化引擎)最终完成像素输出,1帧渲染完毕后,被送到显存帧缓冲区。

两种控制结构:
SIMD:在单指令多数据流的结构中,单一控制部件向每条流水线分派指令,同样的指令被所有处理部件同时执行。
MIMD:每条流水线都能够独立于其他流水线执行不同的程序。

GPU的更多相关文章

  1. 高级渲染技巧和代码示例 GPU Pro 7

    下载代码示例 移动设备正呈现着像素越来越高,屏幕尺寸越来越小的发展趋势. 由于像素着色的能耗非常大,因此 DPI 的增加以及移动设备固有的功耗受限环境为降低像素着色成本带来了巨大的压力. MSAA 有 ...

  2. 【腾讯优测干货分享】安卓专项测试之GPU测试探索

    本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...

  3. [译]基于GPU的体渲染高级技术之raycasting算法

    [译]基于GPU的体渲染高级技术之raycasting算法 PS:我决定翻译一下<Advanced Illumination Techniques for GPU-Based Volume Ra ...

  4. Microsoft Windows* SDK May 2010 或较新版本(兼容 2010 年 6 月 DirectX SDK)GPU Detect

    原文链接 下载代码样本 特性/描述 日期: 2016 年 5 月 5 日 GPU Detect 是一种简短的示例,演示了检测系统中主要显卡硬件(包括第六代智能英特尔® 酷睿™ 处理器产品家族)的方式. ...

  5. 基于GPU的高分一号影像正射校正的设计与实现

    一 RPC正射校正的原理 影像正射校正的方法有很多,主要包含两大类:一类是严格的几何纠正模型,另一类是近似几何纠正模型.当遥感影像的成像模型和有关参数已知时,可以根据严格的成像模型来校正图像,这种方法 ...

  6. tensorflow 一些好的blog链接和tensorflow gpu版本安装

    pading :SAME,VALID 区别  http://blog.csdn.net/mao_xiao_feng/article/details/53444333 tensorflow实现的各种算法 ...

  7. [信安Presentation]一种基于GPU并行计算的MD5密码解密方法

    -------------------paper--------------------- 一种基于GPU并行计算的MD5密码解密方法 0.abstract1.md5算法概述2.md5安全性分析3.基 ...

  8. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  9. 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?

    作者:Cascade链接:https://www.zhihu.com/question/21231074/answer/20701124来源:知乎著作权归作者所有,转载请联系作者获得授权. 想要理解G ...

  10. 浅谈CPU和GPU的区别

    导读: CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,而GPU面对的则是类型高度统一的.相互无依赖的大规模数据 ...

随机推荐

  1. LeetCode OJ 108. Convert Sorted Array to Binary Search Tree

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 把一 ...

  2. Django:之BBS项目

    首先新建一个BBSProject项目,在建一个app,把app导入到项目中. 在项目BBSProject中的settings.py中, INSTALLED_APPS = [ 'django.contr ...

  3. 一个小知识点强引用__strong 弱引用__weak

    __weak的类型的指针是不会影响对象的释放 当系统释放后 会自动的指向nil: __Strong 至少有一个__Strong类型的指针是 对象不会释放  

  4. 剑指offer 二进制1中的个数

    算法-求二进制数中1的个数 问题描述 任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4 这也是一道比较经典的题目了, ...

  5. 数据库NULL和 ‘’ 区别

    NULL判断时 : IS NOT NULL ''判断时: !=''

  6. list组件

    <?xml version="1.0"?> <!-- Simple example to demonstrate the Spark List component ...

  7. MPEG1的码流层次与各层次的作用

    1. 序列层(Sequence layer) 序列层主要用于为随机播放提供全局参数支持,这些参数包括图像宽高.像素高宽比.帧率.码率.VBV大小.帧内量化矩阵.帧间量化矩阵. 2. 图像组层(Grou ...

  8. SQL 优化案例 1

    create or replace procedure SP_GET_NEWEST_CAPTCHA( v_ACCOUNT_ID in VARCHAR2, --接收短信的手机号 v_Tail_num i ...

  9. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named '__frch_lableId_0' in 'class com.cd.entity.Page'

    #号改为$即可

  10. make 命令执行时,报错“missing separator stop”

    在Makefile文件中,命令必须以[tab]键开始.