论文部分内容阅读
随着各种移动通信设备、移动娱乐设备以及移动数据处理设备的普及,三维图形绘制技术也逐渐应用到各种嵌入式领域。虽然一些移动设备可以利用软件模拟的方法实现简单的三维图形绘制功能,但由于三维图形绘制算法非常复杂,所以该方法不但占用了大部分的CPU资源,还增加了CPU功耗,而且绘制质量差,无法达到实时绘制。因此,针对这些问题,必须采用专用的硬件电路来实现移动设备的三维图形实时绘制。本文主要围绕着支持OpenGLES1.X图形标准的、高效的、低功耗的、小面积的移动图形顶点处理器设计展开。取得的主要成果如下。1.设计了一种用于移动三维图形应用的可编程图形顶点处理器结构。采用自定义的32位图形指令集,支持分支跳转指令;采用定点数值系统设计图形处理器,减少电路复杂度,从而减少芯片面积;可编程顶点处理器具有四路并行的SIMD运算单元和一个高精度的特殊函数求值单元;采用7级流水线设计,具有数据前向通路和竞争冒险判断机制,运行速度快,为实时三维图形的几何系统运算提供保障。2.设计了一种应用于移动图形顶点处理器的高性能低功耗定点特殊函数运算单元电路。该运算单元支持定点数据格式,并支持小数点后16位精度的倒数、均方根、倒数均方根、对数和指数等初等函数运算。初等函数采用分段二次多项式插值方法近似计算,系数处理中引入2运算电路,相对于传统的设计在相同的精度下使整体的二次多项式查找表容量减少了29%。优化二次多项式插值算法的计算误差和截断误差,使电路的查找表容量、平方器、乘法器和加法器的面积、速度达到最优。该电路采用0.18μm的CMOS工艺实现,面积为0.112mm2,芯片时钟频率达到300MHz,功耗仅为12.8mW。测试结果表明该定点特殊函数运算单元非常适合移动图形顶点处理器的初等函数计算应用。3.针对图形处理器中的SIMD乘法单元设计,设计了一种设计有符号乘法器电路的编程语言。其核心思想是采用指令表示乘法器的编码器、加法器树、快速加法器等三个部分,然后经由指令描述互联关系形成乘法器。通过Lex/Yacc构成编译器,解析程序得到乘法器的Verilog代码。采用该设计语言生成的七种典型结构的32位有符号单周期乘法器,在200MHz工作频率设定下,使用GRACE0.18μm1P6M工艺,进行逻辑综合、布局布线、静态时序和功耗分析。实验结果表明,这七种乘法器速度都优于Synopsys Design Ware产生的乘法器,其中由改进型Booth Radix4编码、冗余二进制加法器树和跳跃进位加法器构成的乘法器综合性能超出Synopsys Design Ware产生的乘法器达35%,因此该设计语言可应用于高性能乘法器电路快速设计应用中。4.设计了一种高效的裁剪引擎架构,由背面剔除和裁剪模块组成。复杂的三角形裁剪算法导致硬件设计困难。相比传统算法,本文提出的算法提高了约五倍的性能。首先修改图形流水线,将裁剪运算放置几何渲染流程最后一步,由可编程顶点处理器完成透视除法和视窗映射,减少了透视除法和视窗映射的硬件设计,从而减小了电路面积,提高了处理器性能。然后将背面剔除计算放置裁剪运算前,减少裁剪引擎的三角形输入量。最后在裁剪运算中仅计算Z平面的裁剪,将X和Y平面裁剪计算移至光栅化阶段判断,简化了裁剪硬件电路,减小了电路面积,提高了裁剪引擎效率。5.移动图形顶点处理器在一个SOPC平台下进行了验证,采用OpenGL ES1.X标准验证三维图形渲染,验证结果表明该图形顶点处理器可以完成三维图形渲染,在60MHz的工作频率下,可以达到4M顶点/秒填充率。6.将本文设计的图形顶点处理器加载至一个多核的ARM结构的游戏机多媒体芯片中,采用0.13μm1P7M的标准CMOS逻辑工艺实现,芯片面积为61.23mm2,其中图形顶点处理器面积占10.83%,固定流水线的渲染引擎面积约占34.38%,芯片工作频率为150MHz,当开启全部3D功能时,芯片功耗为226mW。当芯片图形顶点处理器运行全部特效(T&L,Projection, Division, ViewPort Map)时,可以达到每秒10M的顶点的峰值处理速度,顶点处理器功耗约为76mW;芯片的渲染引擎可以达到每秒70M Pixel处理速度和300M纹理处理速度;芯片整体的图形流水线可以实现每秒5M Triangle的处理速度。测试结果表明,该芯片可以完成移动三维图形的绘制工作,证明了本文提出的面向移动设备的图形顶点处理器的模型和机制的有效性。