GPU的体系结构与通用计算GPGPU

GPU的体系结构与通用计算(GPGPU)
1、总体框架
可编程图形流水线的总体框架如图3所示,左边用实线表示的流程就是传统 的图形流水线的流程;在这种通用的流水线中,首先经过顶点级的光照计算和坐 标变换,求出每个顶点的光照颜值,同时还将顶点坐标从物体坐标系转换到裁 剪空间化而Space)。然后,对每个三角形进行光栅化处理并将对三角形顶点的颜 进行双线性插值,得到了三角形中每一个象素的颜值。接着进行纹理映射, 即根据每一个象素的纹理坐标值将纹理图颜分配到每个象素上。最后进行颜 混合计算(Blending)和雾化效果计算,得到的结果将会放进帧缓存(Frame buffer) 并显示到屏幕上。目前的可编程的图形硬件中,除了光栅化这一部分依然保持固 化的硬件实现不变以外,其他部分都引入了可编程性。也就是图中的虚线部分。
图3可编程图形流水线的总体框架
顶点着器(Vertex Shader)的功能正是为了实现顶点的光照计算和坐标变换, 在过去的硬件中,人们只能实现一些固定的光照模型和坐标系转换计算,但是在 现在的可编程的图形硬件中,用户可以通过编写代码自由地设计自己所需要的光 照模型和坐标系转换计算公式,只要不超出硬件的功能即可。
象素着器(Pixel Shader),功能相对比较复杂,同时限制较多。它几乎包括 了所有光栅化以后的操作:采样纹理,颜混合计算(Blending)和雾化效果计算等, 传统图形硬件中每个顶点的纹理坐标值需要人工指定或者根据空间坐标来计算, 而在象素着器中,允许采用多种纹理访问方式电碳制品;每个象素的绘制信息(例如,象 素颜值、纹理坐标等阿伊努人)均保存在寄存器中,象素着器通过完成这些寄存器之 间的加法,乘法或者点积等运算操作,从而在象素级别上实现光照明模型的计算。
2、顶点着器
现代主义文学顶点着器由算术逻辑单元和相应的寄存器组成。顶点着器和像素着器 都没有内存的
概念,所有的运算都在寄存器之上进行。每一个寄存器都是4维向 量寄存器,指令集中的指令可以同时对4个分量进行运算,因此可以把它们看作 是一个基于寄存器的向量处理器。
l输入寄存器用于存放当前被处理的顶点的属性,例如顶点位置、法向量、 颜和纹理坐标。
l常量寄存器用于为顶点程序提供只读常量参数,由叠氮钠CPU控制,也就是通过 外界函数调用进行赋值。
l只写的输出寄存器则用于输出处理后的顶点属性。
l可读写的寄存器则可在顶点绘制编程器的计算过程中作为临时寄存器使 用。
这些寄存器通常有固定的表达方式:输入寄存器为V[n],输出寄存器为O[n], 常量寄存器为C[n],而可读写寄存器则为R[n],这里的n就是具体的寄存器编 号。如第十号的输入寄存器就写作V[10]。而且每个寄存器都可以用xyzw后缀 名来访问寄存器中的RGBA各个分量,比如说:R[1].w表示的就是第1号可读写 寄存器的第四个分量一一A分量。
3、像素着器
像素着器和顶点着器的组成类似,但多了纹理寻址的功能。
纹理采样
大理学院学报图5像素着器
4、与CPU的区别
图6 GPU与CPU流水处理线
磷脂酰肌醇信号通路图形应用的特点是大运算量、大规模并行性、允许较长的延迟与深度前向流 水。这就决定了图形处理器和微处理器在体系结构上存在着很大的差别。
首先图形处理器要尽可能的实现高度并行性。这种并行性分为两种:数据并行 性与流水线并行性。为了充分利用数据并行性,图形处理器在两个层次上进行并 行处理。第一层利用输入数据流中数据元素之间的无关性,多个顶点或像素处 理器运行一个顶点或者像素着程序的多个拷贝,同时作用于输入数据流中的 多个数据元素之上。从这个意义上说,图形处理器是一个流处理器。第二层是利 用图形运算包含大量向量运算的特点,实现指令级并行性。具体地说就是把多个 同类型的标量运算合并到一个向量运算之中。因此,图形处理器又是一个向量处 理器。

本文发布于:2024-09-22 02:01:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/204224.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:CG网站收集
标签:顶点   寄存器   着色器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议