您的当前位置:首页正文

异构多核SoC可编程图形系统硬件设计

2021-12-15 来源:易榕旅网
异构多核SoC可编程图形系统硬件设计

异构多核SoC可编程图形系统硬件设计

摘要:采用开源LEON3(basicversion)处理器,运行Linux操作系统,并驱动

西安邮电大学自主设计研发的基于传统GPU架构的可编程图形处理器,实现了包含可编程图形系统的SoC平台。将系统集成到DiniGroup最新的DNV6_F2PCIE开发板上,采取OpenGL编程,通过鼠标、键盘、显示器运行2D、3D程序,进行图形的绘制,从而比较充分地验证了图形系统硬件设计。统

关键词:图形处理器;LEON3处理器;异构多核;Linux操作系

为打破国外垄断,研发拥有自主知识产权的图形处理器GPU(GraphicsProcessing

Unit)对国民经济以及增强国防力量具有极其重要的意义。西安邮电大学GPU项目组2009年研发了GPU及其配套软件OpenGL。为了验证设计的GPU,并为GPU应用开发建立平台,本文研发了一个异构多核片上系统SoC(SystemonChip)平台。

本文在分析了嵌入式开源

LEON3处理器[1]、Linux操作系统和西安邮电大学自主研发的可编程图形处理器的基础上,提出异构多核SoC图形系统[2]的设计,最后在DNV6_F2PCIEFPGA开发板进行系统验证。1系统论证1.1研究路线

首先构建一个C++的GPU算法仿真平台,并在其上进行图像渲

染算法的研究;其次设计搭建SystemVerilog[3]建立验证平台,并开始Verilog语言设计硬件和OpenGL相关软件的开发,为了加快硬件设计速度,采用了第三方IP;由于此系统电路规模较大,选择Xilinx公司的XC6VLX550T[4]进行原型开发,并运行大量裸机OpenGL应用程序;最后加上嵌入式LEON3处理器、Linux操作系统,通过软件驱动和硬件接口完成CPU与GPU的数据交互,实现了一个完整的移动异构多核SoC图形处理系统,通过外部可编程的方式在FPGA上验证整个SoC系统,进而验证硬件设计的正确性。1.2关键技术与可行性分析本系统采取软硬件协同设计技术、IP设计和复用技术、超深亚微米设计技术。涉及的关键技术包括系统描述、高层次的算法分析与设计、软硬件的划分、语言和编译器设计、微处理器设计、Linux操作系统在LEON3处理器上的运行、驱动软件和硬件接口设计、图形处理器的软硬件协同设计、异构系统的协同仿真验证以及图形界面的生成。针对上述涉及的关键技术提出了理论分析与仿真、验证和原型测试相结合的研究方法,制订了从系统的算法级到电路的RTL级,再到原型系统实现,逐级细化、逐级验证的技术路线。

采用Top-to-Down方法[5]设计SoC

芯片,充分考虑了异构多核SoC可编程图形处理器设计过程中所面临的挑战,保证了芯片功能和性能技术指标达到设计要求,有利于缩短开发周期,降低开发成本及产品的单片价格,符合SoC研究设计的客观规律。2系统的硬件设计系统主要数据流向:

系统的硬件设计主要包括作为系统主机

的嵌入式开源LEON3处理器设计和作为从机的可编程图形处理器设计。系统的整体硬件结构。

(1)2D程序:上位机将镜像文件通过JTAG传到CPU-DDR中,

(2)3D程序:CPU从CPU-DDR

CPU从中取出相应2D数据进行运算,将运算结果通过AHB/APBBridge传到VGA,再将VGA的数据发送到GPU中的显控,最终传到显示器上显示。

中取出相应的3D命令数据环,将数据环通过AHBBridge传到GPU;GPU经过各级渲染,将渲染结果存储到GPU-DDR中;显控通过存储管理器从中取出数据,传到显示器上显示。2.1嵌入式LEON3处理器的设计

LEON3(basicversion)作为整个系统的主机,是一款由欧洲

航天总局旗下的GaislerResearch公司开发研制的32bit、符合SPARCV8[6]架构的、可配置、可综合适用于SoC设计中的开源处理器IP核[7],遵循GNULGPL协议。LEON3内部包含7级整数流水线,具有可配置的TLB的内存管理MMU(MemoryManagementUnit)单元,支持硬件乘/除法器以及分立的指令与数据缓存,并将其设计为4核。它的源代码由可综合的VHDL代码构成,同时LEON系列处理器的性能也比较理想,可以达到大约0.85MIPS/MHz。更大的好处是LEON处理器是一个公开源代码,遵循GNU。通过高速的AMBAAHB[8]总线链接内存控制器及高速外部接口,低速的AMBAAPB总线实现片上外设的接口,如定时器、串口、VGA等。

作为整个系统的主机,其功能如下:数据环,将处理命令放入环中;驱动处理;2D程序;

(1)处理上位机发来的命令,并在主存中设置命令(2)采用Linux操作系统作为系统运行平台,完成图形

(4)运行

(6)支持以太网、串口、PS2、LEON3结构。2.2可编程

(3)管理系统内存和输入/输出设备(键盘、鼠标、显示器);(5)支持SparcV8指令集、多核运行;

GPIO、WatchDog、Timer等外设,支持AHB总线扩展。图形处理器硬件设计及功能如下:

可编程图形处理器采用传统GPU架构,并结合了可编程技术,经(1)命令处理器(CMD,1core):CPU在主存中设置命令数据环,将处

过9级流水线处理后,完成了一个3D基本图元的渲染过程。作为整个系统的从机,各级流水线理命令放入环中,命令处理器通过总线接口、DMA引擎从环中获取命令、数据或向量地址并进行解析,如果获得的命令是3D处理命令,则将命令下发给3D引擎;如果是命令处理器需要处理的命令(缓冲区对象操作、显示列表操作等),则在命令处理器中进行处理,而不发送给3D引擎。功能。

(2)顶点染色器(VS,2core):完成几何变换(平移、缩放、旋转)、光照染色等(3)图元装配器(AS,1ASIC):图元装配将从VS发送出来的带有属性的顶点根

(4)平面裁剪(CLIP-Plane,

据用户指定装配模式(由glBegin指定)装配为点、线、三角形。经过AS处理后,GPU后续的流水部件将不会识别顶点,而是识别基本图元点、线和三角形。

1core):根据用户自定义裁剪平面(最多支持6个自定义裁剪平面)对基本图元进行裁剪。

(5)视景体裁剪(CLIP-3D,1core):根据用户所定义的视景体对基本图元进行视景体裁剪操作。(6)视窗变换(HCW,1core):完成3D坐标向屏幕坐标的转换,经过HCW的处理后,基本图元将转变为屏幕上所见到的图元,为后续的光栅化做准备。素染色器。

(7)光栅化(Rasterization,

5core):Rasterization根据图元的屏幕坐标计算图元内部的所有像素值,并将像素传送给像

(8)像素染色器(PS,4core):根据Rasterization所发送的片段信息计算

(9)片段操作(Fragment,1ASIC):接收PS所发

片段的具体颜色,如果启用了纹理操作,则根据纹理函数参数信息对片段进行像素染色,最终将片段染色的值传送给段操作部件。中。

送的片段信息,对片段进行后期的FOP等处理,处理完毕后将最终的像素值写入FrameBuffer

可编程图形处理器由15个处理器以及图元装配、片断操作、内部图像处理子集、

MMU和直接内存存取DMA(DirectMemoryAccess)5个专用图形加速单元所构成。15个处理器均为可编程处理器,其中CMD和PS为定点处理器,其他的处理器为浮点处理器。图像处理子集、MMU和DMA功能如下:

(1)图像处理子集(PS_IMG_PROC,1ASIC):完成对

(2)内存管理[9](MMU,1ASIC):

像素数据的处理,以及纹理和雾相关信息的存储。

实现对GPU存储空间分配、存储读/写控制、存储空间回收以及存储保护、地址映射等,对有访存要求的SoC图形处理芯片渲染管线部件进行仲裁并予以实时响应,协调各模块对存储的访问,保证各个模块能够顺利地对存储器进行读/写操作;

(3)直接存储访问(DMA,1ASIC):

可编

从命令处理器那完全接管对总线的控制,数据交换不再经过命令处理器、图像处理子集,而直接在DDR或片上存储与CPU内存之间进行数据传送。可编程图形处理器结构图。程图形处理器功能如下:变换;

持4个像素的处理;方向性光照和位置性光照;色、深度、累计、帧缓冲区;作。3实验数据

(1)支持OpenGL1.3;(5)支持6个平面裁剪、三维裁剪;

(3)支持缓冲区对象、顶点数组和显示列表;

(2)支持3D图元及相应几何(4)每个时钟周期可同时支

(6)支持多达8盏灯的

(8)

(10)支持颜

(7)支持Phong和Gouraud两种光照模型;

(9)支持6幅纹理贴图;

采用32位深度缓冲,实现隐藏面消除;

(11)支持位图、图像绘制、图像读取、图像复制等图像操

采用DINI公司DNV6_F2PCIEFPGA开发板验证系统,将LEON3集

成到A片,ISE14.4综合频率为86.895MHz,所占Slice为33%。将可编程图形处理器集成到B片,综合频率为97.032MHz,所占Slice为76%。在Dini公司配套的EMU软件下,GPU实际工作频率最高为120MHz(高于综合频率),每个时钟周期可同时支持4个像素的处理,其

图形渲染速度为120×4=480MPixels/s,显示窗口为800×600,显示图像大小为640×480,38个时钟渲染完一个像素,。

本文对异构SoC可编程图像系统

(1)采用开源LEON3(2)CPU和GPU之间采

(3)采用自主

硬件设计进行深入分析,并在FPGA上验证,得出了以下结论:处理器,大大降低了系统硬件开发成本,加快了硬件开发速度。

用AHB总线通信,满足高性能、高时钟频率的系统模块之间的数据交互。

研发的并行多核处理器架构,由15个微处理器和硬件加速协处理器构成可编程GPU。(4)为了优化系统性能和节省芯片面积,部分微处理器的运算单元采用了定点设计,而其他处理器采用浮点设计,支持处理器并行SIMT运算,通过软件协调图形系统运行精度、性能、面积和功耗的平衡。

(5)为了加速图形运算,设计了GPU的图元装配、片段操作、图像处理子

集、MMU和DMA5个专用图形加速单元。

因篇幅问题不能全部显示,请点此查看更多更全内容