论文部分内容阅读
图形处理器(Graphics Processing Unit,GPU)被广泛应用于个人电脑、工作站或者游戏机上,用于图形处理任务的硬件加速。随着硬件性能的提升和价格的下降,以智能手机、平板电脑和掌上游戏机为代表的嵌入式移动设备逐渐普及,GPU在嵌入式设备上也得到了广泛的应用,以满足这些设备图形计算任务的需求。GPU协助嵌入式微处理器完成图形处理和显示,节省了微处理器的资源消耗,提高了图形处理性能和显示效果,增强了电子产品的易用性和用户体验。
GPU的图形渲染管线经历了由固定功能到具有可编程性的发展,可编程图形管线增加了GPU数据处理的灵活性。本文研究了硬件实现三维图形处理的原理和方法,分析了GPU图形处理流水线,并针对嵌入式设备中GPU硬件结构和功能的要求,设计了一款可编程的多线程顶点处理器(Vertex Processing Unit,VPU)。该顶点处理器支持OpenGL ES1.1和Vertex Shader Model1.1,在90nm CMOS工艺库下可实现频率为200MHz,性能为50Mvertices/s,并且在。FPGA开发平台上进行了验证。相对于单线程结构,多线程顶点处理器在较小的硬件开销下,可以实现2.1~2.8倍的性能提升。
本论文主要工作和创新如下:
(1)设计并实现了一款多线程顶点处理器。顶点处理器具有可编程性,可以灵活地处理顶点数据;采用13级流水线设计,增加了指令的并行度,提高了性能;采用SIMD结构,具有4路并行的运算逻辑单元;采用多线程技术,支持4个线程并发执行,能够有效地减少发生数据写读冲突时的停顿周期数,提高了处理效率,节省功耗。
(2)构建了FPGA验证系统。采用Altera公司的StratixⅡ EP2S180 FPGA开发验证平台,对顶点处理器的功能进行验证。设计了顶点处理器控制器,并通过Ethemet将PC和FPGA开发平台相连,数据通过UDP方式传输。项点处理器处理后的顶点数据由PC上运行的软件模拟器进行处理和验证。