(电路与系统专业论文)基于自动线程和超长指令的统一架构着色器的设计研究.pdf_第1页
(电路与系统专业论文)基于自动线程和超长指令的统一架构着色器的设计研究.pdf_第2页
(电路与系统专业论文)基于自动线程和超长指令的统一架构着色器的设计研究.pdf_第3页
(电路与系统专业论文)基于自动线程和超长指令的统一架构着色器的设计研究.pdf_第4页
(电路与系统专业论文)基于自动线程和超长指令的统一架构着色器的设计研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(电路与系统专业论文)基于自动线程和超长指令的统一架构着色器的设计研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕士学位论文基于自动线程和超长指令的统一架构着色器的设计研究 摘要 对于3 g 移动终端的3 d 图形绘制应用,研究可编程的高性能3 d 图形处理 器具有重要意义,而顶点着色器和像素着色器是实现3 d 图形处理器可编程功能 的核心,因此设计功能强、性能高、面积小和功耗低的着色器对于高性能3 d 图 形处理器的开发具有重要作用。本文统一架构设计、自动线程调度和超长指令设 计三个方面探讨了研发新一代着色器的技术与方法。 在统一架构的着色器设计方面,开发了一套统一的指令集及执行架构,使图 形处理器在面积上减小了一个着色器的规模,约为1 2 1 ;同时,为提升多媒体 s o c 处理器的性能,进一步将统一架构进行扩展,集成了处理视频编解码运算的 指令和执行单元以替代固定处理单元,进一步降低了s o c 处理器的面积。 在自动线程调度机制方面,提出了基于线程、指令两级调度的自动线程调度 模型,提高了指令执行的自动化;同时,为进一步提高着色器的性能,又提出基 于线程、指令和操作码三级调度的自动线程调度模型,在较大程度上降低了对 c p u 的依赖。由于相邻指令之间的数据依赖性会降低自动线程调度机制的性能, 本文提出了一种有效的数据组织方式,即单点所有元素同步处理方式,以避免大 量分支跳转。 在基于超长指令字的设计方面,提出长度可变的指令格式,不同的应用处理 采用不同长度的指令可以减少对指令缓存和读写带宽的浪费;同时,提出两通路 的单操作数多操作的串并行执行架构,以实现对单笔数据连续执行多个操作,指 令执行的效率。 基于统一架构、自动线程调度和超长指令而设计的着色器,在s m i c 5 n m 工 艺下,工作频率可达4 0 0 m h z ,顶点渲染的性能达到3 0 0 mv e r t i c e s s ,像素渲染 的性能达到4 0 0 mp i x e l s s ,而平均功耗为2 4 8 m w ,取得了较高的功耗效率和硬 件效率。 关键词:图形处理器;着色器;统一架构;自动线程;超长指令;长度可变指令 浙江大学硕士学位论文 基于自动线程和超长指令的统一架构着色器的设计研究 a b s t r a c t r e s e a r c ho np r o g r a m m a b l e3 dg r a p h i c sp r o c e s s i n gu n i t ( g p u ) i si n c r e a s i n g l y i m p o r t a n ti n3 dg r a p h i c sp r o c e s s i n go f3 gm o b i l et e r m i n a l s b e c a u s ev e r t e xs h a d e r a n dp i x e ls h a d e ra r et h ec o r e st oi m p l e m e n tt h ep r o g r a m m a b i l i t yo f3 dg p u ,d e s i g n o fv e r t e xs h a d e ra n dp i x e ls h a d e rw i t hp o w e r f u lf u n c t i o n ,h i g hp e r f o r m a n c e ,s m a l l a r e aa n dl o wp o w e rc o n s u m p t i o ni so fg r e a ts i g n i f i c a n c e t h en e wg e n e r a t i o ns h a d e r i sr e s e a r c h e di nd e s i g no fu n i f i e ds h a d e la u t o m a t i cs c h e d u l i n gm e c h a n i s mo ft h r e a d s a n dv e r yl o n gi n s t r u c t i o nw o r d ( v l b v ) i nt h i st h e s i s i nt h ea s p e c to fd e s i g no fu n i f i e ds h a d e r , au n i f i e di n s t r u c t i o ns e ta n du n i f i e d a r c h i t e c t u r ea l ed e v e l o p e d , w h i c hr e d u c e st h ea r e ao fg p ub y1 2 1 t h e n , t h i s u n i f i e ds h a d e ri se x t e n d e d ,i n t e g r a t i n gi n s t r u c t i o n sa n da r i t h m e t i cu n i tf o rv i d e oc o d e c t oe n h a n c et h ep e r f o r m a n c eo f m e d i as o cp r o c e s s o ra n dr e d u c et h ea r e ao fs o c i nt h ea s p e c to fa u t o m a t i ct h r e a d i n gm e c h a n i s m ,a na u t o m a t i ct h r e a ds c h e d u l i n g m o d e lb a s e do nt h r e a d , i n s t r u c t i o ni sp r o p o s e d a n dt oi m p r o v et h ep e r f o r m a n c eo f s h a d e rf u r t h e r , a n o t h e ra u t o m a t i ct h r e a ds c h e d u l i n gm o d e lb a s e d o nt h r e a d , i n s t r u c t i o na n do p c o d ei sr e s e a r c h e d a tt h es a m et i m e ,a ne f f e c t i v ew a yo fd a t a o r g a n i z a t i o n o ft h es h a d e ri s p r o p o s e dt or e d u c e t h ed a t ad e p e n d e n c yb e t w e e n a d j a c e n ti n s t r u c t i o n s ,a v o i d i n gal a r g en u m b e r o fi n s t r u c t i o nb r a n c h i n g i nt h ea s p e c to fv l i w , t h el e n g t ho fi n s t r u c t i o n sf o rd i f f e r e n ta p p l i c a t i o n si s d i f f e r e n t ,w h i c hc a na v o i dt h ew a s t eo fm e m o r ya n dr e a d i n ga n dw r i t i n gb a n d w i d t h t h es e r i a la n dp a r a l l e la r c h i t e c t u r ew i t hs i n g l eo p e r a n da n dm u l t i p l eo p e r a t i o n si n t w o d a t a p a t hc a ni m p r o v et h ee f f i c i e n c yo fa d j a c e n to p e r a t i o n sw i t hd a t ad e p e n d e n c y w i t ht h e s es o l u t i o n sa n ds y n t h e s i z e dw i t hs m i c 6 5 n mc e l ll i b r a r y , t h ep r o p o s e d s h a d e rc a np r o c e s s3 0 0 mv e r t i c e s o r4 0 0 mp i x e l s sw i t hl o wp o w e rc o n s u m p t i o na t 4 0 0 m h zi nh i 。g hp o w e re f f i c i e n c ya n dh a r d w a r ee f f i c i e n c y k e yw o r d s :g p u ,s h a d e r , u n i f i e da r c h i t e c t u r e ,a u t o m a t i ct h r e a d i n gs c h e d u l i n g m e c h a n i s m ,v e d ,l 0 n gi n s t r u c t i o nw o r d , v a r i a b l el e n g t hi n s t r u c t i o nf o r m a t i i i 浙江大学硕士学位论文基于自动线程和超故指令的统一架构着色器的设计研究 致谢 在浙江大学两年半的硕士学习过程中,我学到了扎实的专业知识,掌握了系 统的科研方法,领悟了浙江大学的求是精神。 衷心感谢我的导师罗小华老师。罗老师学识渊博,治学严谨,思想开阔,让 我深受教诲。在两年半的学习生涯中,他一直都对我倍加关怀,尽心指导,对我 的工作和学习提出许多宝贵的建议,将我带上正规的科研之路,是我以后从事科 研工作的榜样。 特别感谢我的实际指导老师丁勇老师,自从进入浙江大学超大规模集成电路 设计研究所,就一直接受丁老师在科研、学习和生活上的指导与帮助。丁老师以 丰富的实践经验指导我做课题,写论文,为我的科研工作提出很多有实际意义的 建议和意见,对我影响很大,真心感谢丁勇老师。 衷心感谢潘赞老师在科研、学习和生活上对我的指导与关怀,潘老师在科研 工作上非常严谨,是我学习的榜样。 感谢上海算芯微电子有限公司的同事们,沙力老师、兰军强老师、朱磊、李 济川、赵波在项目工作中给予我的指导与帮助。 感谢宋文华、王翔、郑宁、曹晓阳、张渊、叶森、万民永、程爱莲和贾梦楠 同学在学习和生活中给我的帮助与支持。同学们的激励与支持,让我有了不断进 取的动力。 最后,衷心感谢父母对我的养育,这份恩情永远是我进取的动力和支持,感 谢女朋友李丽对我的支持与帮助,我会继续努力,以优异的成绩回报你们。 孙纲德 2 0 1 2 年2 月9 日 浙江杭州 浙江大学硕士学位论文基于自动线程和超长指令的统一架构着色器的设计研究 图目录 图1 13 g 移动终端一一多媒体s o c 处理器架构2 图1 23 d 图形处理器绘制管线3 图1 33 d 图形处理器的经典架构6 图1 4 将深度测试提前的改进型3 d 图形绘制管线7 图2 1o p e n g l e s2 0 顶点着色器1 0 图2 2 几何空间坐标转换流程1 1 图2 3 光照方程中各向量示意图1 4 图2 4 顶点着色器的经典架构1 5 图2 5o p e n g l e s2 0 像素着色器1 6 图2 6 传统的像素着色器1 9 图3 1 分时复用同一着色器的3 d 图形绘制流程2 1 图3 2 浮点加法器2 4 图3 3 自定义统一架构着色器体系结构2 5 图3 4 视频压缩编码运动估计原理2 6 图3 5 亮度半像素和1 4 像素位置内插2 7 图3 6 扩展型统一架构着色器体系结构2 9 图3 7 浮点单元和整数单元的主要组成2 9 图4 1 线程、指令两级自动调度示意图3 3 图4 2 基于线程和指令的两级调度的控制流程3 3 图4 3 线程自动调度的伪码3 5 图4 4 基于自动线程调度的着色器架构3 6 图4 5 多点的对应元素同步处理组织方式3 7 图4 6 单点所有元素同步处理组织方式3 7 图5 1 扩张型超长指令执行示意图4 0 图5 2 自定义指令格式4 1 图5 3 超长指令的伪码表示4 1 图5 4 顶点和像素着色器的指令格式4 2 图5 5 精简的超长指令伪码4 3 v i 浙江大学硕士学位论文基于自动线程和超长指令的统一架构着色器的设计研究 图5 6 着色器的两通路s o m o 执行架构示意图4 5 图5 7 基于两通路s o m o 执行架构的着色器体系结构4 6 图5 8 基于线程、指令和操作码的三级调度原理4 7 图5 9 基于线程、指令和操作码的三级调度管理汇编程序示例- 4 9 图5 1 0 统一架构着色器的两通路串并行s i m d 执行单元4 9 图5 1 1 基于线程、指令和操作码三级调度的着色器体系架构5 0 图5 1 2 长度固定和长度可变的指令机制在存储与带宽上的比较5 2 图5 1 3 指令操作示例5 2 图5 1 4 功耗效率对比5 5 图5 1 4 硬件效率对比5 5 v 浙江大学硕士学位论文基于自动线程和超长指令的统一架构着色器的设计研究 表目录 表1 1 利用对数l o g 简化复杂的运算8 表2 1n v i d i ag e f o r c e 3 顶点着色器指令集1 5 表2 2 纹理映射运算规则1 7 表3 1 自定义指令集2 2 表3 2n e g 信号的译码2 4 表3 3 自定义扩展指令集2 8 表3 4 各处理单元规模3 0 表3 5 综合面积的比较分析3 0 表4 1 顶点及其数据信息3 6 表5 1 着色器的性能指标5 0 表5 2 不同着色器的性能比较5 4 表5 3 功耗效率与硬件效率分析5 4 砌 浙江大学硕士学位论文】绪论 1 绪论 3 d 图形处理器( g r a p h i c sp r o c e s s i n gu n i t ,g p t o 设计技术是当今数字化、信 息化、智能化时代的核心技术之一。近年来,g p u 的性能正以每年两倍之多的 速度增长,大大超过了摩尔定律的速度,极大的提高了三维图形处理的速度和质 量,不但促进了虚拟现实、3 d 游戏和图形图像处理等相关领域技术的快速发展, 同时也促进了科学计算等非图形领域计算的进步。尽管如此,g p u 性能的发展 速度仍然不能满足人们对3 d 图形图像实时处理的需求,而其可编程的灵活性也 难以满足软件开发人员和科研人员的需求等。三维图形处理技术涉及计算机体系 结构、多媒体应用开发和立体几何代数等相关领域,需要宽广的学科交叉背景、 深厚的理论积累和丰富的实际开发经验,具有比较高的理论研究价值和实践开发 意义。 1 1 课题研究的背景和意义 计算机图形学已经渗透到各行各业,进入了快速发展的阶段。军事领域需要 模拟真实的作战场景和高速高效的导航系统;航空航天领域需要模拟真实的飞行 器和飞行器空间轨迹;医学领域需要立体成像研究人体构造和诊断病人的病情; 地球科学需要绘制无限变换的空间状态;而拥有最大客户群的消费电子领域,更 需要满足人们对3 d 图形处理的各种需求,如3 d 游戏开发和3 d 电影制作。但 是复杂多样、瞬息万变的3 d 场景无法单纯依靠应用软件、c p u 和简单的图形硬 件模拟,更难模拟出实时的效果。那么,对复杂多变的实时3 d 场景采用专用的 图形处理加速器成为最好的解决办法。因此,研发功能强大、灵活可编程的图形 处理器就具有了重要的实际应用意义。正是高性能g p u 的出现,才有了风靡世 界的魔兽世界和创造了全球近3 0 亿美元票房的3 d 电影( ( 阿凡达。 近年来,用于p c 的g p u 性能越来越强大,从固定绘制管线发展到顶点和像 素可编程的绘制管线,并进一步发展为完全可编程且更加通用的g p g p u 。但随 着3 g 移动终端的发展,智能手机和平板电脑将会成为主流的多媒体娱乐设备。 从人们对i p h o n e 和i p a d 的狂热追求可以看出,3 g 移动终端设备的智能化、功能 浙江大学硕士学位论文 1 绪论 化和娱乐化得到了更多的关注。3 g 网络,3 d 游戏,高清视频,g p s 导航成为 3 g 移动终端必须具备的功能。各种各样的应用需求吸引了更多的人才投入到3 g 移动媒体终端的智能化、功能化和娱乐化的研究中来,推动了各类软硬件的开发。 而3 d 图形处理器是实现各种复杂多样的应用必不可少的硬件加速器。尽管应用 于p c 机的g p u 已经发展到功能足够强大,但3 g 移动终端要求芯片具备面积小、 功耗低、性能高和可编程的特点,这给应用于3 g 移动终端的3 d 图形处理器的 研究提出了巨大的挑战【1 】。因此,研究面积小、功耗低、性能高和可编程的3 d 图形处理器对于3 g 移动终端的发展具有重要意义。 图形处理器的可编程功能是通过顶点着色器和像素着色器实现,随着3 g 移 动终端用户对3 d 图形处理需求的多样化,图形处理器的可编程功能显得越来越 重要【2 。在3 d 图形处理过程中,相对于固定管线,顶点着色器和像素着色器所 发挥的作用也越来越大。那么开发功能强大且性能高、面积小和功耗低的着色器 对于开发应用于3 g 移动终端的3 d 图形处理器将具有非常重要的意义 3 1 1 4 。 1 2 课题来源 本课题是在开发用于3 g 移动终端的多媒体s o c 处理器中的嵌入式3 d 图形 处理器的基础上展开的。该款s o c 处理器集成了嵌入式处理器c p u 、自主研发 的支持多标准的视频编解码口和支持多标准的3 d 图形处理器口等其他外围口, 适用于以智能手机和平板电脑为主的3 g 移动终端。s o c 处理器的简要架构如图 1 1 所示。而图1 2 则描述了3 d 图形处理器的绘制管线,其中,顶点处理器和像 素处理器是本课题的重点研究内容。 图1 13 g 移动终端多媒体s o c 处理器架构 2 浙江大学硕士学位论文1 绪论 图1 23 d 图形处理器绘制管线 1 3 主要研究内容及创新点 1 3 1 研究内容 课题充分研究了o p e n g l e s1 x 和o p e n g l e s2 0 标准、国内外各种图形处 理器架构及实现方案、顶点着色器和像素着色器架构及实现方案,分析并总结了 传统的顶点着色器和像素着色器在芯片面积、功耗、指令执行效率和占用c p u 控制资源等方面的不足之处,在此基础上,提出了三个切实可行的解决方案以研 发新一代面积小、功耗低、性能高的着色器,分别是采用统一架构的着色器,替 代相互分离的顶点着色器和像素着色器;引入自动线程调度机制,实现不同指令 之间、不同线程之间的自动跳转和连续执行,减少对c p u 控制资源的依赖;采 用扩展的超长指令字,一次取指、一次译码即可完成多条指令操作。 在统一架构着色器( u n i f i e ds h a d e r ) 的设计方面,首先分析了顶点着色器的输 入输出及矩阵转换、光照和法线等相关运算,像素着色器的输入输出及纹理映射 相关运算,论证了采用统一架构着色器替代顶点着色器和像素着色器的可行性; 其次,提出了一套统一的精简指令集和s i m o ( s i n g l e i n s t r u c t i o n m u l t i p l e d a t a ) 架构的 浮点运算单元和特殊函数浮点运算单元,如平方根、对数、指数和倒数等运算, 既能高效率的执行顶点操作,又能高效率的完成像素纹理映射等运算;同时,为 降低多媒体s o c 的面积,并提高性能,进一步集成了可用于视频编解码处理的 指令和运算单元,在一定程度上实现了着色器的通用运算功能;最后,采用 s m i c 6 5 n m 工艺设计实现了这一设计,并评估了着色器的面积。 浙江大学硕士学位论文 1 绪论 在自动线程调度机制方面,提出基于线程、指令两级调度的线程自动调度模 型;同时,为进一步提高着色器的性能,又提出基于线程、指令和操作码三级调 度的线程自动调度模型。c p u 只需发送一个调度命令启动着色器,着色器就能 自动调度多个线程,多条指令,多个操作码,从而实现c p u 控制资源的低占用 率,分出更多的控制资源完成碰撞等其他的图形处理操作。但是,采用自动线程 机制存在一个问题,即当相邻的多条指令之间存在数据依赖关系时,需要跳转, 这将会大大降低着色器的工作效率,也失去了自动线程机制的意义。为了更加充 分高效率的利用着色器的丰富的运算资源,需要使相邻的多条指令之间的数据依 赖性降到最低,为此,提出了一种有效的数据组织方式,实现了相邻的多条指令 之间数据的超低依赖度。 在超长指令的设计方面,采用超长指令字以提高指令级的并行度,但由于超 长指令存在两个问题,其一、超长指令包含的操作越多,其长度越大,过长的指 令对于指令存储和读取带宽都是严重的挑战,其设计难以实现;其二、考虑到顶 点着色器、像素着色器和视频处理等通用整数运算单元的不同执行特点,不同的 应用处理需要超长指令中包含的操作数目也不同,若将超长指令字设计为所需的 最大长度,那么对于某些应用将是一种浪费。对于第一个问题,可以通过减少源 操作数和目的操作数的方法改进。对于第二个问题将可变指令长度的思想 5 引 入超长指令字,根据具体的应用采用不同长度的指令字,而不会带来控制逻辑上 的复杂性。且考虑到3 d 图形处理的复杂性及其顶点和像素的各种运算之间的数 据相关性,课题将超长指令的指令级并行实现架构进行改进,在兼容指令级并行 实现架构的基础上进一步提出采用指令的串联执行架构,即单操作数多操作 ( s i n g l eo p e r a n dm u l t i o p e r a t i o n ,s o m o ) 的执行方式,对一批数据可以连续执 行不同的操作,这也解决了超长指令字过长的问题【6 【7 】。 1 3 2 主要创新点 课题工作的主要创新点包括以下几方面: 1 、更加通用的统一架构着色器设计。提出顶点着色器和像素着色器的统一 架构,既降低的设计面积,又统一了编程规范,降低了编程的复杂度;进一步提 出了通用统一架构的着色器,进一步集成了视频编解码处理指令和运算单元,不 4 浙江大学硕士学位论文1 绪论 仅能够用于图形处理,而且还能用于视频编解码处理,在s o c 系统层次上降低 了设计面积。 2 、将自动线程调度机制和扩展的超长指令字机制引入着色器的设计。提出 自动线程调度模型,采用多级调度的指令执行方法,在占用很少c p u 控制资源 的情况下可以完成大量的指令运算,提高了着色器的工作效率;进一步提出扩展 的超长指令字机制,并基于此提出两通路的单操作数多操作的串并行执行架构, 并结和自动线程调度方法,实现线程、指令、操作码三级指令调度方法,进一步 提高着色器的工作效率。 3 、相邻指令间数据依赖度极低的数据组织方式。根据3 d 图形处理中几何数 据和像素数据的特点,提出两中数据组织方式,其一是多点或多像素的某个元素 同步处理方式;其二是单点或单像素的所有元素的同步处理方式。并分析了两种 数据组织方式的优缺点。 1 4 国内外研究现状 3 d 图形处理器近年来得到了快速的发展,几乎每隔半年,g p u 的性能就会 增长一倍。高性能的图形处理器也反过来推动了实时3 d 图形处理领域及通用科 研运算等领域的快速发展。1 9 9 9 年8 月,n v i d i a 公司发布了g e f o r c e2 5 6 ,第一 次使用了g p u 的概念g e f o r c e2 5 6 是世界上第一款g p u ,其核心技术包括顶 点矩阵变换和光照运算、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴 图、双重纹理四像素2 5 6 位渲染引擎等。该产品集成了整个3 d 图形处理管线, 因此在处理3 d 图形时已不再过度依赖c p u ,处理速度得到了较大提升。但 g e f o r c e2 5 6 只实现了3 d 图形处理的固定管线绘制,并没有实现真正的可编程 功能。而随着3 d 图形效果和3 d 场景的复杂化,顶点和像素的需求量大幅提升, 同时顶点运算和像素运算也更加复杂多变,在一定规模上单纯采用固定绘制管线 已经不能实现复杂多变的图形效果,无法满足复杂的3 d 场景的绘制。研究实现 具有更高效率和灵活性的可编程单元来替代固定绘制管线成为最好的选择。 2 0 0 1 年,微软发布的图形应用程序接口( a p i ) 标准d i r e c t x8 ,将可编程模型 ( s h a d e rm o d e l ) 纳入3 d 图形绘制管线,着色器( s h a d e r ) 从此诞生,为实现可编程 的图形处理器奠定了基础。而d i r e c t x8 定义的3 d 图形处理器体系结构如图1 3 。 5 浙江大学硕士学位论文 1 绪论 厂 几何阶段 、 厂 光栅阶段 、 l 细分数据卜 一顶点着色器 一像素着色器 视 模、深 叶剪区 。昏 混版度 裁映 台测测 1 b l 固定功能变 射 试试 j 贝点数琚p 一 1 腑蜘i 科k 臣 l 化与光照 1 驮埕町敬广 、l 图1 33 d 图形处理器的经典架构 所谓着色器,是指针对3 d 图形进行操作的图形渲染指令集。使用这些指令 集就能开发出各种各样的3 d 图形效果,从而满足了开发者的不同需求。第一个 实践d i r e c t x8 的图形处理器是n v i d i a2 0 0 1 年发布的g e f o r c e3 ,真正实现图形 处理器的可编程性。其中,顶点计算实现了可编程性,像素计算实现了部分可编 程。尽管可编程性比较弱,硬件限制很多,但已经实现了图形处理器质的飞跃。 随后发布的产品a t ir a d e o n8 5 0 0 和g e f o r c e4 进一步增强了可编程性。而n v i d i a g e f o r c ef x 系列和a t ir a d e o n9 7 0 0 9 8 0 0 系列则完全实现了顶点着色器和像素 着色器,使顶点和像素的可编程性更加灵活通用。 进一步的研究发现,顶点着色器和像素着色器分别独立设计的架构往往会遇 到两个着色器负载不均衡、硬件利用率不高的尴尬。不同的应用程序对顶点和对 像素的渲染是不同的,有的应用程序对像素的渲染很多,而对顶点的渲染却很少, 在这种情况下,像素着色器的负载就过重,而顶点着色器就会出现闲置。同样, 也会出现顶点着色器负载过重而像素着色器出现闲置的状况负载不均衡造成硬 件利用率的降低。尽管在负载不均衡时可以使闲置的一方替另一方分担工作量, 但事实上,在g p u 架构中,顶点着色器和像素着色器的指令集和比例是不同的, 难以实现两类着色器的通用。为了解决这个问题,引入了统一渲染架构,即图形 处理器不在分配单独的绘制管线,不管是顶点运算,像素运算还是几何运算都可 以在各个绘制单元中完成 8 】。a t i 与微软合作开发的x e n o s 首次实现了统一渲染 架构,而n v i d i ag e f o r c e8 8 0 0 g t x 是统一渲染架构的主要推动者。 而对于3 g 移动终端设备,真正面临的挑战是面积、功耗和性能的问题,设 计实现面积小、功耗低而又能保持高性能的多媒体s o c 芯片和3 d 图形处理器是 当前的研究热点。为了降低芯片的设计,文献 9 】 1 0 1 1 】 1 2 提出了基于分时复 用的统一架构着色器,即在图形处理管线中不在区分顶点着色器和像素着色器, 6 浙江大学硕士学位论文 1 绪论 而是采用一个统一架构的着色器分时复用为顶点着色器和像素着色器,完成顶点 的矩阵转换、光照、法线和颜色等相关运算以及像素的纹理映射等运算 1 3 1 。尽 管3 d 图形处理的性能有所降低,但在芯片面积上也减少了一个着色器的面积。 本课题借鉴该思想,进一步发展了着色器的统一架构思想。 为了实现低功耗设计,文献 3 】 9 】 1 4 从算法上提出了降低功耗的有效解放方 法,即把深度测试( d e p t ht e s t ) 操作从3 d 图形绘制管线的像素处理单元提前到光 栅化插值操作和纹理映射操作之间,这就意味着有许多不可见的像素将不会参与 纹理映射等后续的运算,从而避免浪费功耗。如图1 4 所示,其中图1 4 ( 1 ) 描述 了标准的3 d 图形绘制管线,图1 - 4 ( 2 ) 描述了将深度测试提前的图形绘制管线。 v e r t i c e sv e r t i c e s t r i a n g l es e t u p l i n e r p 。1 a 1 。n l t e x t u r em a p p i n g l f r a g m e n to p e r a t i o n t r i a n g l es e t u p i n t e r p o l a t i o n e a r l yd e p t ht e s t t e x t u r em a p p i n g u i f r a g m e n to p e r a t i o n p 1 x e l sr l x e i s ( 1 ) 标准绘制管线( 2 ) 提前深度测试管线 图1 4 将深度测试提前的改进型3 d 图形绘制管线 文献 1 5 】 1 6 】 1 7 】 1 8 】则从基本运算单元的具体实现方式上提出采用对数运算 ( 1 0 9 ) 单元替代乘法、除法、开方等运算单元。如表1 1 所示,利用对数可以大大 降低乘法、除法、倒数、开方、指数等复杂运算,这在一定程度上降低了运算复 杂度,降低了功耗,但是在将x 和y 转换成l o g ( x ) 和l o g ( y ) 以及将计算结果进行 反l o g 运算时都将引入误差,两次误差叠加使得数据的准确度大打折扣,不适用 于对精度要求较高的应用。文献 1 7 】【1 9 在顶点着色器中增加前向c a c h e 和后向 c a c h e ,通过减少与总线的数据交换降低带宽降低功耗。前向c a c h e 用来存储来 自g p u 外的顶点属性,后向c a c h e 用于存储经过计算的顶点信息,如顶点坐标、 颜色、法线光照信息等。在进行后续的几何操作时,可以直接从c a c h e 中读取 数据,而不需将顶点数据写回d d r , 大大降低了数据的读写带宽,对于相邻多边 浙江大学硕士学位论文 1 绪论 形重用的顶点,效果更明显。 表1 1 利用对数l o g 简化复杂的运算 注:彳= l o gj j ,= l o g j r 为了提高性能,文献 5 】 2 0 提出了采用扩展的超长指令字( v l i w ) ,将多条指 令混合在一起取指、译码、执行,从而提高指令的并行度,提高着色器的执行效 率。但该方案要求同步执行的指令之间不能存在数据依赖性,必须提供高效率的 数据组织方式才能提高着色器的执行效率;而且,操作执行完毕后,若同步将结 果存入寄存器或存储器,需要较多的存储接口。本课题借鉴了并进一步研究了该 方案,提出了新的超长指令组织方式及执行方式,进一步提高着色器的工作效率。 1 5 论文的组织结构 课题面向智能手机和平板电脑等3 g 移动终端的多媒体s o c 芯片的3 d 图形 处理器,研究开发新一代面积小、功耗低和性能高的着色器,重点研究了顶点着 色器和像素着色器的统一架构设计,基于线程和指令两级调度的自动线程调度机 制,基于长度可变的超长指令字的两通路串并执行架构,并采用s m i c 6 5 n m 工 艺设计实现,评估了着色器在面积、功耗和性能上的优势。 本论文组织结构如下: 第一章为绪论,介绍了课题的研究背景、意义,阐述了主要研究内容及主要 创新点,并分析了图形处理器及其着色器在面积和性能等开发技术方面的国内外 研究现状。 浙江大学硕士学位论文 1 绪论 第二章综述了传统着色器所完成的运算功能及其指令集和实现架构。 第三章首先分析了针对顶点着色器和像素着色器设计统一架构着色器的可 行性;其次提出了统一架构着色器的具体实现,并进一步提出可以同时用于3 d 图形处理和视频编解码处理的通用统一架构着色器;最后实验分析了着色器的设 计面积。 第四章提出了基于线程和指令两级调度的自动线程调度模型,并在统一架构 思想的基础上设计了其具体实现架构。 第五章基于超长指令提出长度可变的指令字格式和两通路单操作数多操作 的串并行执行架构;同时进一步扩展自动线程机制,提出基于线程、指令和操作 码三级调度的自动线程调度模型,并提出完整的着色器架构;最后,对着色器进 行了比较系统的实验评估。 最后一章对课题的研究工作进行了总结,并对高性能着色器的进一步发展进 行了展望。 浙江大学硕士学位论文 2 传统着色器 2 传统着色器 随着o p e n g l 、o p e n g l e s 和d i r e c t x 标准对顶点可编程和像素可编程的支 持,3 d 图形处理器中顶点着色器和像素着色器也应运而生。与c p u 强大的控制 功能不同,顶点着色器和像素着色器更擅长三维矢量计算和单指令多数据( s l m d ) 的操作。之所以区分顶点处理器和像素处理器,是因为它们要处理的对象不同, 顶点处理器用于计算顶点矩阵转换、法线、光照和纹理坐标等顶点信息,而像素 着色器则计算纹理的映射、a l p h a 测试、雾化和平面裁切等效果【2 1 【2 2 】【2 3 】。 2 1 顶点着色器 2 1 1 输入输出 在3 d 图形绘制管线中,顶点着色器处于最前端( 如图1 2 ) ,接收来自a p i 的顶点数据,为用户提供了可编程方法来实现各种复杂顶点运算,主要包括顶点 位置的矩阵变换、光照运算、纹理坐标的生成与转换及应用程序指定的特殊的顶 点操作等。其输入主要包括1 ) 顶点属性a t t r i b u t e ,包括位置、颜色、材质、法 向、纹理坐标、权重、色彩指数和多边形边缘标识等;2 ) 常量数据u n i f o r m , 如特定的变换矩阵、缩放矩阵和旋转矩阵等;3 ) 采样数据s a m p l e r s ,即特定类 型的常量数据,用于描述纹理;4 ) 完成相应运算功能的指令。其输出则成为变 量( v a r y i n g ) ,包括经转换后的顶点矩阵、颜色、材质以及光照信息等,如图2 1 。 图2 1o p e n g le s2 0 顶点着色器 1 0 浙江大学硕士学位论文2 传统着色器 2 1 2 坐标转换与光照运算 3 d 场景和物体如何才能正确的显示在2 d 的3 g 终端屏幕上,就需要将3 d 场景和物体做一连串的坐标变换,从局部坐标系( l o c a ls p a c e ) 变换至全局坐标系 ( w o r l ds p a c e ) ,再变换至视点坐标系( v i e ws p a c e ) ,最后投影到2 d 屏幕的终端 器件坐标系( d e v i c es p a c e ) 。而光照则是计算3 d 场景和物体的每个顶点或平面所 受到的光照强度和光源种类等,并根据相应的运算规则计算出经过光照后顶点或 平面的颜色等信息。在将顶点和多边形投影到2 d 的终端器件屏幕空间时,需要 完成裁q :) j ( c l i p p i n g ) 和背面剔除( b a c kf a c ec u l l i n g ) 运算,因为屏幕空间外的顶点和 多边形以及物体背面的信息是不可见的,在3 d 图形处理器的设计中,这两项运 算通常设计为固定管线。 l 、矩阵变换 将3 d 场景和物体从局部坐标系转换至全局坐标系,需要经过模型变换 ( m o d e l i n gt r a n s f o r m a t i o n ) ;从全局坐标系再次转换至视点坐标系需要经过视点变 换( v i e w i n gt r a n s f o r m a t i o n ) ;而从视点坐标系转换至2 d 的终端屏幕坐标系需要 经过投影变换( p r o j e c t i o nt r a n s f o r m a t i o n ) ,其中投影变换可分为垂直投影 ( o r t h o g o n a lp r o j e c t i o n ) 和透视投( p e r s p e c t i v ep r o j e c t i o n ) ;3 d 物体经过透视投影 后会改变原来的形状,因此需要对坐标进行规范化修正,即p e r s p e c t i v ed i v i s i o n ; 最后将物体输出到2 d 屏幕上时通常利用视窗映射( v i e w p o r tm a p p i n g ) 达到缩放效 果。p e r s p e c t i v ed i v i s i o n 和v i e w p o r tm a p p i n g 操作需要在完成裁切和背面剔除操 作后进行,在3 d 图形处理绘制管线中通常设计为固定管线 9 】 1 6 】 2 4 】。图2 - 2 总结了以上各种变换的流程。 顶点麓色墨 图2 2 几何空间坐标转换流程 l l 浙江大学硕士学位论文2 传统着色器 模型变换实现物体的平移、旋转和缩放等效果,平移就是将物体按照指定的 方向做移动,缩放使物体可以实现在) ( ,y ,z 轴分别以各自的比例进行拉伸或缩 短等效果,旋转可以控制物体在三维空间中按照所指定的轴线和角度进行旋转, 这些效果可以通过顶点乘以相应矩阵实现。 100 r x 01 0 互 00 1 互 0 oo1 ( 1 ) 平移矩阵 c o s 矽 o s i n 矽 o s x 000 0 s ,0 0 0 0 疋0 o0o1 ( 2 ) 缩放矩阵 0 s i n 10 0 c o s 0 1o 0 c o s 西 0 s i n 矽 0o 0o s i n 矽0 c o s 矽0 1 ( 3 ) 绕x 轴逆时针旋转矩阵 c o s 矽一s i n 痧0 0 s i n 矽c o s 矽0 0 o010 o001 ( 4 ) 绕y 轴逆时针旋转矩阵( 5 ) 绕z 轴逆时针旋转矩阵 平移矩阵中足,兀,瓦分别代表物体在三个轴上的平移偏量;缩放矩阵中最, & ,分别代表物体在三个轴上的缩放系数;三个旋转矩阵中矽为旋转角度。 对于视点变换,每个场景和物体都有一个观察点,该观察点可以摆放着任意 位置,而视点变换就是将场景和物体相对于观察点移动,从全局坐标系变换到视 点坐标系。默认情况下,观察点位于坐标系的原点,其矩阵变换公式如2 1 : 以i 。= 畋 ,y 匕矿y 力xy oo 0 0 7 z 0 o1 10 0 一p ; 01 0 一p , 0 0 1 一p 。 oo01 其中,p ( p x ,p y ,p z ) 为观察点坐标,u ( u x ,“y ,“:) 和v ( v x ,v x ,v z ) 为转换后的坐标 系的坐标轴,n ( n x ,疗v ,甩z ) 为观察方向。u 、v 与n 轴彼此垂直构成新的三维坐标 系,其原点为p 点。 投影变换就是将3 d 场景投影到2 d 屏幕上,分为垂直投影和透视投影。垂 直投影是将原始图形精确的投射到屏幕上,保持对象的有关比例不变;而在透视 投影中,图形将沿着汇聚到屏幕后面一点的直线变换到投影坐标系,该投影方式 更接近于现实世界。其投影矩阵分别为: ( 1 ) 垂直投影 浙江大学硕士学位论文2 传统着色器 ( 2 ) 透视投影 r i g h t + l e f t r i g h t _ l e f t t o p + b o t t o m t o p b o t t o m f a r + l l e e l _ r f a r b e a t 一1 其中,l e f t r i g h t 表示最左右

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论