(计算机科学与技术专业论文)基于sdta结构的opengl+es关键技术实现与研究.pdf_第1页
(计算机科学与技术专业论文)基于sdta结构的opengl+es关键技术实现与研究.pdf_第2页
(计算机科学与技术专业论文)基于sdta结构的opengl+es关键技术实现与研究.pdf_第3页
(计算机科学与技术专业论文)基于sdta结构的opengl+es关键技术实现与研究.pdf_第4页
(计算机科学与技术专业论文)基于sdta结构的opengl+es关键技术实现与研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机科学与技术专业论文)基于sdta结构的opengl+es关键技术实现与研究.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院学位论文 摘要 o p e n g le s ( o p e n g lf o re m b e d d e ds y s t e m ) ,是嵌入式系统3 d 图形绘制编程 接口。o p e n g le s 在传统的操作触发体系结构( o p e r a t i o nt r i g g e r i n ga r c h i t e c t u r e , o t a ) 及其平台之间具有较好的移植性,但是针对特定体系结构和运行平台 o p e n g le s 库有不同的实现版本,如:v i n c e n to p e n g le s 和j 2 m e b a s e do p e n g l e s 。 同步数据触发体系结构( s y n c h r o n i z e dd a t at r i g g e r i n ga r c h i t e c t u r e ,s d t a ) 与 传统的o t a 结构有着本质上的区别,它是基于传输触发体系结构( t r a n s p o r t t r i g g e r i n ga r c h i t e c t u r e ,t t a ) 改进而发展起来的高性能数据并行体系结构。因此, 面向s d t a 结构研究o p e n g le s 并实现其关键技术具有重要的意义。本文的研究 成果主要有: 1 表格驱动c o r d i c 算法( t a b l e d r i v e nc o r d i c t c o r d i c ) t c o r d i c 算法实质上是一种面向数据密集型的c o r d i c 改进算法,它将经典 c o r d i c 算法的迭代转换为简单的2 x 2 矩阵乘法。系数矩阵元素值预先计算好存放 在表格中,通过查表操作可以快速获得各个元素值。基于s d t a 指令集结构实现 的t c o r d i c 算法性能提升显著。 2 基于s d t a 结构的o p e n g le s 内置函数优化 o p e n g le s 内置函数是o p e n g le s 库的基础和核心。基于s d t a 指令集结构 的指令优化技术( 循环展开、强度消弱、指令归并、子字并行等) 是o p e n g le s 内置函数性能提升的关键技术。 3 o p e n g le s 底层构件的设计与优化 本文提出了o p e n g le s 多级结构设计模型;基于函数依赖度策略提取了 o p e n g le s 实现的一个核心子集,即o p e n g le s 底层构件。同时,基于s d t a 指 令集结构的子字并行原语编程模型是o p e n g le s 底层构件优化实现的关键技术。 4 面向s d t a 结构定制u n i f i e ds h a d e r 功能单元 可编程s h a d e r 是o p e n g le s 支持可编程能力的前提。本文在研究独立v e r t e x s h a d e r 和f r a g m e n ts h a d e r 功能单元结构的基础之上提出了面向s d t a 结构的 u n i f i e ds h a d e r 单元设计。它是将v e r t e xs h a d e r 和f r a g m e n ts h a d e r 处理单元的统 一起来构造一个既能执行v e r t e xs h a d e r 又能执行f r a g m e n ts h a d e r 的处理单元。 主题词:o p e n g le s ,同步数据触发体系结构,表格驱动c o r d i c ,内置函数, 底层构件,优化 第i 页 国防科学技术大学研究生院学位论文 a b s 丁r a c t i no r d e rt os i m p l i f yt h ed i f f e r e n c e so fp l a t f o r m s ,k h r o n o sg r o u ph a so r g a n i z e dt h e i n t e r n a t i o n a ls t a n d a r d sn a m e do p e n g le s ( o p e n g lf o re m b e d d e ds y s t e m ) f o r e m b e d d e dg r a p h i c sp r o g r a m m i n g t h o u g ho p e n g le si sc o n d i t i o n a l l yt r a n s p l a n t a b l e b e t w e e nt r a d i t i o n a la n dp o p u l a ro p e r a t i o nt r i g g e r i n ga r c h i t e c t u r e s ( o t a ) ,o p e n g l e sl i b r a r yh a sd i f f e r e n ti m p l e m e n t i n gv e r s i o n ss u c ha sv i n c e n to p e n g le sa n d j 2 m e - b a s e do p e n g le sf o rs p e c i f i e da r c h i t e c t u r e sa n ds y s t e m s s y n c h r o n i z e d d a t a t r i g g e r i n ga r c h i t e c t u r e ( s d t a ) ,b a s e do nt r a n s p o r t t r i g g e r i n ga r c h i t e c t u r e ( t t a ) ,i sah i g h p e r f o r m a n c ed a t ap a r a l l e la r c h i t e c t u r ew h i c hi s d i f f e r e n tf r o mt h eo t a t h e r e f o r e s d t a o r i e n t e dr e s e a r c ho no p e n g le si su r g e n t a n di m p o t a n tf o ri m p l e m e n t a t i o no fo p e n g le sf o rs d t ai n s t r u c t i o ns e ta r c h i t e c t u r e t h ei n n o v a t i v ew o r ki nt h i st h e s i sc a nb es u m m a r i z e da sf o l l o w s 1 t a b l e - d r i y e nc o r d i c ( t c o r d i c ) t c o r d i c ,w h i c hh a st r a n s f o r m e di t e r a t i o n si nc l a s s i cc o r d i ci n t os i m p l e2 x 2m a t r i x m u l t i p l i c a t i o na n dc o e f f i e n tm a t r i xe l e m e n t sc a l lb ea v a i l a b l eb yl o o k i n g u pt a b l e s ,i s d e s i g n e df o rd a t a i n t e n s i v ei n s t r u c t i o ns e ta r c h i t e c t u r ei nr e a l i t y 。a n dp r o v e dt h a ti tc a n a c h i e v eh i g h p e r f o r m a n c es i g n i f i c a n t l yo ns d t a 2 o p t i m i z i n gf u n c t i o n sb u i l t i no p e n g le sb a s e do ns d 翻 f u n c t i o n sb u i l t i no p e n g le si st h ek e n e lo fo p e n g le sl i b r a r y i ti sp a r t i c u l a r l y i m p o r t a n tt oo p t i m i z ea n ds c h e d u l et h ei n s t r u c t i o n sf o ri m p l e m e n t i n gt h eb u i l t i n f u n c t i o n so ns d t a t h et e c h n i q u e so fo p t i m i z a t i o ni n c l u d el o o pu n r o l l i n g ,s t r e n g t h r e d u c t i o n i n s t r u c t i o nc o m b i n ga n ds u b w o r dp a r a l l e l 3 d e s i g na n do p t i m i z a t i o no fl o w l e v e lc o m p o n e n tf o ro p e n g le s m u l t i l e v e ls t r u c t u r em o d e lf o ro p e n g le si sp r o p o s e d ,a n de n t i t yd e p e n d e n c yf o r f u n c t i o n sa n dd a t as t r u c t i o n si sd e f i n e di nt h i st h e s i s t h ec o r es u b s e to fo p e n g le s d i s t i l l e da c c o r d i n gt os t a t i s t i ce n t i t yd e p e n d e n c yi sc a l l e dl o w - l e v e lc o m p o n e n tf o r o p e n g le s f u r t h e r m o r e ,t h es u b - w o r dp a r a l l e lp r o g r a m m i n gm o d e lf o rs d t a i n s t r u c t i o ns e ta r c h i t e c t u r ei sak e yt e c h n i q u ef o ri m p l e m e n t a t i o na n do p t i m i z a t i o no f l o w l e v e lc o m p o n e n to fo p e n g le s 4 s d t a o r i e n t e du n i f i e ds h a d e ru n i t p r o g r a m m a b l es h a d e ru n i ti s a p r e r e q u i s i t e f o r o p e n g l e s s u p p o r t i n g p r o g r a m m a b i l i t y u n i f i e ds h a d e r , w h i c hu n i f i e dt h es t r u c t u r ea n df u n c t i o no fi s o l a t e d v e r t e xs h a d e ra n df r a g m e n ts h a d e r ,i sp r o p o s e da f t e rs t u d i e so nt r a d i o n a lv e r t e xs h a d e r a n df r a g m e n ts h a d e r k e yw o r d s :o p e n g le s ,s d t a ,t a b l e d r i v e nc o r d i c ,b u i l t - i nf u n c t i o n s 。 l o w l e v e lc o m p o n e n t ,o p t i m i z a t i o n 第i i 页 国防科学技术大学研究生院学位论文 图目录 图1 1 嵌入式图形系统结构4 图1 ,2 研究内容组织结构6 图2 1o p e n g le s 固定绘制管线9 图2 2o p e n g le s 可编程管线结构9 图2 3s d t a 指令集格式1o 图2 4s d t a 流水线结构:l l 图2 5s d t a 指令执行过程示例1 2 图3 1 二维坐标旋转角度0 。16 图3 2 符号位预测示意图2 0 图3 3t c o r d i c 实现流程一2 4 图3 4t c o r d i c 体系结构框图一2 7 图3 5 前处理模块结构图一2 8 图3 6t c o r d i c 核心模块结构图一2 8 图3 7 后处理模块结构图2 9 图4 1r a r 算法结构流程图3 l 图4 2 循环展开优化分析示例3 3 图4 3 强度削弱优化前一3 3 图4 4 强度削弱优化后3 4 图4 5r a r 与t c o r d i c 性能比较3 7 图5 1 模块设计示意图4 0 图5 2e sa p i 层次结构图4 0 图5 3g l m u l t i t e x c o o r d 4 f 示例类图4 2 图5 4 函数或结构实体分布图4 4 图5 5 基于s d t a 结构的o p e n g le s 设计流程4 5 图5 6s d t a 数据存储格式一4 6 图5 7 子字并行原语编程示例4 8 图5 8o p e n g le s 底层构件加速示意图4 9 图6 1v e r t e x f r a g m e n ts h a d e r 体系结构5 2 图6 2s h a d e r 指令格式5 2 图6 3s h a d e r 机器码格式5 3 图6 4v e r t e x f r a g m e n ts h a d e r 编译执行环境5 3 图6 5u n i f i e ds h a d e r 体系结构5 4 第v 页 国防科学技术大学研究生院学位论文 图6 6u n i f i e ds h a d e r 编译执行环境5 5 第v i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:甘新绮 日期:加四年2 月v 2 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印,缩印或扫描等复制手段保存汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 学位论文作者签名:一坳 日期:知返年。二月i 妇 作者指导教师签名:日期oj 啪0 年,2 月t 2 日 国防科学技术大学研究生院学位论文 第一章绪论弟一早珀下匕 1 1研究背景 2 0 0 0 年以来,随着嵌入式技术的飞速发展和普适多媒体服务的广泛应用,各 个领域对嵌入式设备和系统实时图形图像渲染能力的要求越来越高,高性能手机、 高端p d a ( p e r s o n a ld i g i t a la s s i s t a n t ) 、医学成像、过程仿真等诸多领域对嵌入式终 端能否提供高效的图形图像处理能力提出了新的挑战。 随着市场上开始出现越来越多的应用于不同领域的嵌入式图形图像系统,它 们的处理单元体系结构可能各不相同,硬件实现、底层接口也可能干差万别。为 了简化硬件平台之间的差异性,成立于2 0 0 0 年的k h r o n o sg r o u p 组织制定了统一 的嵌入式图形开发标准o p e n g le s ( o p e n g l f o re m b e d d e ds y s t e m ) ,它是嵌入式系 统3 d 图形绘制编程接口。o p e n g le sa p i s 在传统的操作触发体系结构平台之间 具有较好的可移植性,然而,对于非传统的传输触发体系结构及其指令集,o p e n g l e s 库的移植是不可行的,即使部分可移植的a p i s 能够正常运行但是工作性能差。 传输触发体系结构与传统的操作触发体系结构相比具有强大图形图像处理的 优势【l ,2 。,因此,遵循统一的嵌入式图形开发标准,在传输触发指令集体系结构上 实现o p e n g le s 库并且挖掘硬件资源并行性以提升其性能成为一种必然的趋势。 1 1 1 嵌入式系统中实时图像渲染的应用与需求 随着普适多媒体服务和普适多媒体系统的普及,使得多媒体计算尤其是嵌入 式图形图像计算跃升为主流的计算应用。一方面,需求在提高,随着视频会议、 视频监控、可视化、虚拟现实、3 维图形动画、过程仿真的发展,越来越多的用户 对图形图像应用的实时性提出了更高的要求,希望这类应用能够提供更好的性能 和更强的实效性。实质上,对图形图像应用的处理就是对图形图像数据的处理, 如:图像、视频帧、三维对象、动画图形。近年来,嵌入式图形图像系统开发日 趋繁荣,3 d 图形图像的实时渲染处理技术不断创新。知名芯片制造商纷纷将具有 实时图形图像渲染能力的3 d 引擎集成到显示芯片中,如:a t i 的i m a g e o n 2 3 0 0 芯 片集成了全功能3 d 引擎【3 】;t o s h i b a 为移动手机推出的3 d 绘图芯片 t c 3 5 7 11 x b g l 4 】,具有每秒一亿个多边形的惊人3 d 绘图能力。 1 1 2 嵌入式图形绘制标准o p e n g le s 为了满足嵌入式系统图形图像渲染日趋增长的需求,嵌入式终端必须具有高 第1 页 国防科学技术大学研究生院学位论文 性能的实时渲染处理能力和高效的数据吞吐能力。不同领域的研究者和工程技术 人员已经提出的许多解决方案都旨在提高嵌入式图形图像系统的实时渲染性,从 本质上说主要分为以下几类: 1 带有特定多媒体扩展功能的通用型处理器【5 7 j 。 2 多媒体加速器【8 ,9 】和可编程渲染器【1 0 ,1 1 1 。 3 挖掘多媒体应用程序的并行性【1 2 ,1 3 j 。 综合分析已经提出的解决方案可以发现,业界大多关注高性能图形硬件体系 结构的设计和图形应用程序最大并行性挖掘。然而,嵌入式系统是软件和硬件的 综合体【1 4 ”】,它是以应用为中心、以计算机技术为基础、软硬件可裁剪、满足特 定应用的计算机系统。由于嵌入式系统是专用的计算机系统,嵌入式设备的硬件 结构、底层接口千差万别,导致大量的图形图像应用程序在不同嵌入式终端和平 台上的传播、移植带来了巨大的困难。 针对这一业界难题,k h r o n o sg r o u p 组织于2 0 0 3 年7 月举行的“s i g g r a p h 2 0 0 3 ”上提出了面向手机等嵌入终端的三维图形编程接口o p e n g le s ,它可以认 为是已应用于工作站和台式个人电脑的o p e n g l 的子集引。o p e n g le s 是一种面 向嵌入式系统( 包括手持式设备、仪器及车辆等) 上全功能2 d 与3 d 图形的免许 可、跨平台a p i ,它是一组经过良好定义的桌面o p e n g l ,可在软件与图形加速之 问创建灵活及功能强大的低级接口。继2 0 0 3 年o p e n g le s1 o 问世之后,k h r o n o s g r o u p 组织于2 0 0 4 年8 推出了o p e n g le s1 1 ,2 0 0 7 年3 月又制定了o p e n g le s 2 o ,它可以大大提高消费电子设备的3 d 图形渲染速度,在嵌入式系统上实现全 面可编程的图形图像处理能力。 1 1 3 嵌入式图像处理对体系结构及其编译技术的影响 在分析嵌入式图形图像处理技术对体系结构及其编译技术的影响之前,对嵌 入式多媒体应用程序,尤其是图形图像应用程序特征的分析是完全必要的。 图形图像应用程序的核心是循环,在程序的运行过程中几乎占9 0 以上的时 间【l7 1 ,而内核循环体( k e r n e l ) 又是循环的关键,内核循环体的特点主要有内在并行、 计算密集、代码具有规范的控制结构、对大量的连续的流数据进行处理。因此, 图形图像应用程序具有以下典型特征i :1 7 ,1 8 j : 1 并行性:图形图像应用程序需要对大量独立数据集进行相同的操作,所以 这些操作可以并行实现。 2 计算密集:大量数据密集型计算操作通常在代码控制结构不太复杂的情况 下进行。与典型的整型程序相比,图形图像应用程序中通常几乎不带有分 支,控制结构非常规则。 第2 页 国防科学技术大学研究生院学位论文 3 流特性:输入输出数据具有流特性,即输入输出数据几乎不存在时问局部 性,数据即时被操作即时丢弃。 4 精度要求:数据元素的精度要求根据不同类型的数据而有所变化,如图像 像素一般为8 位。通常数据精度大小在8 位、1 6 位和6 4 位整数到3 2 位 单精度浮点和6 4 位双精度浮点之间变化。 为了适应图形图像应用程序的特征,多媒体处理器体系结构设计主要包括以 下技术路线: 1 通用处理器的多媒体扩展。在通用处理器体系结构指令集中增加面向多媒 体处理的指令和功能单元,如:m m x 、s s e 、s s e 2 、s s e 3 等s i m d 指令 集扩展系列【1 9 】和a m d 的3 d n o w l l 2 0 】。 2 嵌入式多媒体a s i p ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dp r o c e s s o r ) 设计。面向家 用娱乐和视频游戏的嵌入式多媒体a s i p 设计,如:a t i 的i m a g e o n 2 3 0 0 3 1 、 t o s h i b a 为移动手机推出的3 d 绘图芯片t c 3 5 7 11 x b g 4 1 、n v i d i a 的v e r t e x e n g i n e t 21 1 、m i c r o u n i t y 的m e d i a p r o c e s s o r t 2 2 1 等。 3 基于传输触发体系结构的图像处理器及其优化技术。传输触发体系结构是 一种不同于传统操作触发的新型体系结构,在多媒体图像处理方面拥有自 己独特的优势【1 , 2 , 2 3 】。 同时,由图形图像应用程序的特征可知:图形图像应用程序内存在大量并行 性。因此,编译优化技术必须根据相应指令集结构的特点充分挖掘各类并行性, 并实现有效的调度。目前,挖掘多媒体图形图像应用程序中潜在并行性的技术主 要包括: 1 指令级并行i l p ( i n s t r u c t i o nl e v e lp a r a l l e l i s m ) 。指令级并行【2 4 】是指令之间的 并行,也就是一个基本程序块中指令序列之间存在的并行性。通常,开 发i l p 的主要有三种方法1 2 4 :超流水结构( s u p e r p i p e l i n e ) 、超标量 ( s u p e r s c a l a r ) 、超长指令字v l i w ( v e r yl o n gi n s t r u c t i o nw o r d ) 。 2 数据并行d l p ( d a t al e v e lp a r a l l e l i s m ) 。d l p 技术行适用于开发多媒体图形 图像应用程序的并行性。多媒体应用程序具有明显的数据并行的特征【1 7 】: 大量数据元素的处理过程之间没有依赖关系;对每个数据元素往往计算密 集,操作规则。 3 子字并行s w p ( s u b w o r dp a r a l l e l i s m ) 。由于嵌入式图形图像应用程序的数 据精度通常小于1 6 位,同时计算密集且指令之间存在大量的并行性,因 此,子字并行技术满足多媒体图形图像应用的特征,并且硬件实现简单, 已经广泛应用于多媒体处理器 7 , 2 5 , 2 6 】。 基于嵌入式图形图像渲染的需求,嵌入式图形绘制标准o p e n g le s ,以及嵌 第3 页 国防科学技术大学研究生院学位论文 入式图形图像渲染对体系结构指令集结构和相应编译技术的要求,本课题血向传 输触发体系结构致力于实现o p e n g le s 底层构件以及相关编译优化技术的研究。 1 2 相关研究 1 2 1 嵌入式图形应用程序编程接口 嵌入式图形系统是一个图形软硬件的综合体,其层次结构如图1 1 所示,主要 包括图形应用程序、嵌入式图形应用程序编程接口a p i ( a p p l i c a t i o np r o g r a m m i n g i n t e r f a c e ) 、驱动程序和图形硬件。 图1 1 嵌入式图形系统结构 由嵌入式图形系统结构可以发现:嵌入式图形a p i 作为图形系统的一个抽象 层,将应用程序和图形系统的具体实现完全隔离,因此,嵌入式图形a p i 在嵌入 式图形系统中处于至关重要的位置。 下面介绍几种流行的嵌入式图形开发库,它们代表着嵌入式应用程序开发编 程接口的主流方向。 1 o p e n g l e s o p e n g le s 是美国k h r o n o sg r o u p 组织制定的嵌入式图形开发接口,它是己应 用于工作站和p c 机的o p e n g l 子集【1 6 】,为软件和图形加速器之间提供了一个灵活 且功能强大的底层接口。作为o p e n g l 的子集,o p e ng le s 是一种面向嵌入式系 统的全功能2 d 与3 d 图形的跨平台a p i ,适用于手持设备、视频游戏机、车载电 子系统等众多嵌入式领域,可在软件与图形加速之间创建灵活且功能强大的低级 接口。关于o p e n g le s 的规范及其图形流水线将在后面章节详细介绍。 2 d i r e c t 3 d m 第4 页 国防科学技术大学研究生院学位论文 d i r e c t x 在桌面游戏上以绝对优势压倒o p e n g l ,面对嵌入式游戏平台,微软 推出与o p e n g le s 抗衡的d i r e c t 3 d m ( d i r e c t 3 dm o b i l e ) 。d i r e c t 3 d m 是微软d i r e c t x a p i 系列中面向移动设备开发的d i r e c t 3 d 衍生版本1 2 。d i r e c t 3 d m 的意义在于未 来游戏厂商把游戏移植到w i n d o w sm o b i l e ( p o c k e tp c 、s m a r tp h o n e 等) 平台会变 得比较容易,缩短移动设备的游戏开发周期,以降低游戏开发成本。 3 其它图形编程接口 嵌入式图形应用程序接口除了o p e n g le s 、d i r e c t 3 d m 之外,还有硬件矢量 图形加速渲染逻辑o p e n v g 2 s 】,其主要目标集中在便携式掌上电子设备;m o b i l e s v g ( s c a l a b l ev e c t o rg r a p h i c s ) 1 2 9 j 适合于移动无线领域的图形应用;m 3 g ( m o b i l e3 d g r a p h i c sa p i ) t m 是在j s r - 18 4 ( j a v as p e c i f i c a t i o nr e q u e s t ) 定义的,是用于规范 j 2 m e 在移动平台上开发3 d 图形的编程标准。 1 2 2o p e n g le s 研究进展 o p e n g le s 的出现源于3 d l a b s 在2 0 0 1 年的一个研究项目 3 q ,该项目意图从 o p e n g la p i 中选取一个适合嵌入式系统使用的a p i 子集。3 d l a b s 向k h r o n o sg r o u p 联盟提交了该项目,很快得到广泛的关注,k h r o n o sg r o u p 联盟认识到该项目的深 远意义,决定负责该项目的实施,在k h r o n o sg r o u p 的努力下,o p e n g le s1 0 于 2 0 0 3 年诞生。o p e n g le s1 o 是基于o p e n g l1 3 的,其后的o p e n g1 1 基于le s o p e n g l1 5 ,而最新的o p e n g le s2 0 则是基于o p e n g l2 0 。 纵观o p e n g le s 规范的发展历程,可以将o p e n g le s 接口分成两类【1 6 ,3 2 】: 具有固定管线结构的o p e n g le s1 x 和具有可编程管线接口的o p e n g le s2 x 。 o p e n g le s 虽然是跨平台的嵌入式图形a p i ,但是针对不同的体系结构和特定的 运行平台o p e n g le s 有着不同的实现版本,如:v i n c e n to p e n g le s 3 3 】实现库仅能 运行在少数处理器和操作系统平台之上;j 2 m e b a s e do p e n g le s 3 4 1 实现库则要求 运行平台拥有k v m ( k y l o b y t ev i r t u a lm a c h i n e aj a v av i r t u a lm a c h i n e ) 。 传输触发体系结构是一种不同于传统操作触发的体系结构,在嵌入式图形图 像处理方面具有独特的体系结构优势【i ,2 】,因此,基于传输触发指令集体系结构实 现o p e n g le s 必须挖掘指令结构潜在的并行性,结合与指令集结构相对应的编译 优化技术,以达到o p e n g le sa p i s 在传输触发体系结构上的最优化设计与实现。 1 3研究内容 从前面的介绍分析可知,嵌入式图形图像渲染应用广泛,需求不断增加, o p e n g le s 作为一种面向嵌入式的图形应用编程接口得到业界的广泛认可。本文 以传输触发体系结构衍生类型- - s d t a ( s y n c h r o n i z e dd a t at r i g g e r e da r c h i t e c t u r e ) 第5 页 国防科学技术大学研究生院学位论文 为基础,致力于挖掘硬件资源并行性,设计并提炼出o p e n g le s 的一个底层构件, 以达到o p e n g le sa p i s 在s d t a 结构上的最优化设计与实现。本文的主要研究内 容及其各个部分之间的逻辑关系如图1 2 所示。 图1 2 研究内容组织结构 由内容组织结构图可以看出,基于s d t a 指令集体系结构的o p e n g le s 关键 技术研究主要包括三个方面的内容: 1 o p e n g le s 内置函数在s d t a 指令集结构上的实现,主要包括:内置函数 通用算法优化实现和基于s d t a 结构改进的c o r d i c 算法表格驱动 c o r d i c 算法的设计与实现,以及两者之问的性能比较。 2 o p e n g le s 底层构件的设计与实现,主要包括:o p e n g le sa p i s 的分析、 第6 页 国防科学技术大学研究生院学位论文 底层构件的提取和底层构件的实现优化。 3 面向s d t a 结构定制o p e n g le s 可编程管线功能单元,是对s d t a 指令 集结构功能单元的扩展,是可编程o p e n g le s 实现版本在s d t a 结构上 实现的重要组成部分。 1 4 本文的结构安排 本文共分为七章,其基本结构如下: 第一章,绪论。从嵌入式图形图像渲染的应用需求出发,引出o p e n g le s 的 研究现状,提出基于s d t a 指令集体系结构的o p e n g le s 关键技术研究是一种必 然的趋势。 第二章,面向s d t a 结构的o p e n g le s 实现需求分析。对o p e n g le s 管线 结构和同步数据触发体系结构进行详细介绍;分析总结o p e n g le s 实时图形图像 渲染优势和s d t a 结构的图像处理优势,总结面向s d t a 结构上实现o p e n g le s 的可行性和必要性。 第三章,表格驱动c o r d i c 算法的设计与实现。c o r d i c 算法在嵌入式图形图像 应用领域扮演着极其重要的作用,因此本文结合s d t a 结构的特点提出了一种改 进的c o r d i c 算法矩阵驱动c o r d i c 算法。最后,基于s d t a 指令集结构的特点 实现了该算法,测试结果表明,矩阵驱动c o r d i c 算法在s d t a 指令集结构上性能 提升显著。 第四章,基于s d t a 结构的o p e n g le s 内置函数优化。o p e n g le s 内置函数 在o p e n g le s 的不同版本中都扮演着十分重要的作用,因此高效地实现o p e n g l e s 内置函数是o p e n g le s 的核心与基础。在本章,先分析总结通用数学库中内置 函数实现方法_ ra r ( r e d u c t i o n a p p r o x i m a t i o n r e c o n s t r u c t i o n ) 算法结构:最后将 r a r 算法与c o r d i c 算法实现的内置函数进行性能比较,进一步说明基于s d t a 结 构的矩阵驱动c o r d i c 的有效性和高效性。 第五章,o p e n g le s 底层构件在s d t a 结构上的设计与优化。本章首先提出 o p e n g le s 实现的层次结构;然后通过对o p e n g le s 管线结构的分析和a p i s 的 统计分析结构选取o p e n g le s 的底层核心子集作为o p e n g le s 的底层核心构件; 最后,基于s d t a 结构实现了底层核心构件并对其进行性能优化。 第六章,面向s d t a 结构定制o p e n g le s 管线功能单元。这是对s d t a 指令 集结构功能单元的扩展,是面向s d t a 指令集结构的o p e n g le s 底层核心构件设 计的重要补充。 第七章,结束语。对全文的工作进行了总结,对进一步的工作进行了展望。 第7 页 国防科学技术大学研究生院学位论文 第二章面向s d t a 结构的o p e n g le s 实现需求分析 2 1o p e n g le s 规范 o p e n g le s 规范历经o p e n g le s1 0 、o p e n g le s1 1 、o p e n g le s2 0 等几个 主要的版本。根据不同规范版本之间的差异性,可以将o p e n g le s 大致分为 o p e n g le s1 x 和o p e n g le s2 x 两种编程管线结构。在o p e n g le s 规范的各个 版本中都对o p e n g le s 的基本操作( 包括数据类型、操作类型、内置函数、光照、 纹理等) 、绘制管线结构、状态及其状态查询、指令集扩展等进行了详细地说明 和定义。下面将重点对o p e n g le s 内置函数和绘制管线分别进行详细介绍。 2 1 1o p e n g le s 内置函数 o p e n g le s 内置函数( b u i l t i nf u n c t i o n ) 是o p e n g le s 规范的一个很重要的部 分【3 5 1 。o p e n g le s 内置函数支持矢量和标量两种操作,这些内置函数大致可以分 为三类1 6 ,3 2 】: 1 体现某些必要的硬件功能,如访问一个纹理贴图。 2 支持一个琐细的操作( 限定、混合) ,硬件可能支持它们,如将表达式映 射到复杂的汇编指令。 3 代表图形硬件可能在某些地方加速优化的操作,超越函数就属于这一类。 这些内置函数支持矢量输入以及标量输入,在任何可能的时候,都应该使用 内置函数而不是在渲染程序代码中执行等价的计算。内置函数通常是以最优的方 式实现的,甚至硬件可能会直接执行它们。这些内置函数主要包括: 三角函数、指数函数 矩阵类函数 纹理访问函数 片元处理函数 o p e n g le s 内置函数的目标是展示硬件功能( 如纹理访问) 或者是提供对常 见操作( 如平方根,限定范围) 的支持,或者表示在将来的图形硬件中可能得到 加速的操作( 如三角函数、矩阵函数等) 。 2 1 2o p e n g le s 编程管线 o p e n g le s 绘制管线对应与o p e n g le s 规范同样分为两类:对应于 o p e n g le s1 x 的固定绘制管线如图2 1 所示和对应于o p e n g le s2 x 的可编程绘 第8 页 国防科学技术大学研究生院学位论文 制管线如图2 2 所示。从o p e n g le s2 o 开始,o p e n g le s 的固定功能流水线机制 的一些关键管道被替换为可编程流水线机制。其中用来在o p e n g le s 可编程处理 器上执行的o p e n g le ss h a d e r 语言代码被称之为“o p e n g le ss h a d e r ( 着色器) ”。 o p e n g le s2 x 规范中所指的可编程着色器【1 6 3 7 】就是指可编程v e r t e xs h a d e r ( 顶 点着色器) 和f r a g m e n ts h a d e r ( 片元着色器) 。 图2 1o p e n g le s 固定绘制管线 图2 2o p e n g le s 可编程管线结构 比较o p e n g le s 固定绘制管线结构和可编程绘制管线结构可以发现:固定绘 制管线结构中的某些关键点被定义为可编程的s h a d e r ,目的就是使应用程序可以 完全随意地定义所发生的处理操作,使应用程序能够利用底层的图形硬件来实现 更为广阔的实时渲染效果。 第9 页 国防科学技术大学研究生院学位论文 2 2同步数据触发体系结构 2 2 1s d t a 指令集结构 同步数据触发体系结构s d t a ( s y n c h r o n i z e dd a t at r i g g e r i n ga r c h i t e c t u r e ) 是在 传输触发体系结构t t a ( t r a n s p o r tt r i g g e r i n ga r c h i t e c t u r e ) 【3 8 】的基础上改进发展起 来的一种新型的体系结构。s d t a 指令集格式如图2 3 所示,其指令片段是由多个 结构相似的域组成的,称之为s l o t 。

温馨提示

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

评论

0/150

提交评论