CN105630441B - 一种基于统一染色技术的gpu系统 - Google Patents

一种基于统一染色技术的gpu系统 Download PDF

Info

Publication number
CN105630441B
CN105630441B CN201510930129.7A CN201510930129A CN105630441B CN 105630441 B CN105630441 B CN 105630441B CN 201510930129 A CN201510930129 A CN 201510930129A CN 105630441 B CN105630441 B CN 105630441B
Authority
CN
China
Prior art keywords
unit
pixel
usa
module
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510930129.7A
Other languages
English (en)
Other versions
CN105630441A (zh
Inventor
张骏
田泽
任向隆
韩立敏
郑新建
吴晓成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201510930129.7A priority Critical patent/CN105630441B/zh
Publication of CN105630441A publication Critical patent/CN105630441A/zh
Application granted granted Critical
Publication of CN105630441B publication Critical patent/CN105630441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1407General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及一种基于统一染色技术的GPU系统。该系统包括基于PCIe的主机接口模块、基于统一染色架构的3D引擎模块、基于AXI的存储控制与管理模块及两路独立显示控制模块,主机接口模块和3D引擎模块连接,主机接口模块、3D引擎模块、显示控制模块均和存储控制与管理模块连接,本发明能够实现OpenGL API的硬件加速。

Description

一种基于统一染色技术的GPU系统
技术领域
本发明涉及计算机硬件技术领域,尤其涉及一种基于统一染色技术的GPU系统。
背景技术
随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生。从1999年Nvidia发布第一款GPU产品至今,GPU技术的发展主要经历了固定功能流水线阶段、分离染色器架构阶段、统一染色器架构阶段,其图形处理能力不断提升,应用领域也从最初的图形绘制逐步扩展到通用计算领域。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
目前,我国尚无基于统一染色架构的GPU,各领域显示控制系统中大量采用国外进口的商用GPU芯片。尤其是在军用领域中,国外进口商用GPU芯片存在温度和环境适应性差、无法保证电路本身或配套软件没有“后门”、包含大量军用领域不需要的冗余功能单元,功耗指标无法满足要求、商用GPU芯片更新换代快,随时面临停产、断档,难以满足武器装备持续保障等缺陷,在安全性、可靠性、保障性等方面的存在重大隐患。而且,出于政治、军事、经济等原因,国外对我国实行技术“封锁”和产品“垄断”,难以获得GPU芯片的底层技术资料,如寄存器资料、详细内部微架构、核心软件源码等,导致GPU功能、性能无法充分发挥,且移植性较差;上述问题严重制约了我国显示系统的独立研制和自主发展,突破基于统一染色架构的图形处理器关键技术、研制统一染色架构的高性能图形处理器芯片迫在眉睫。
发明内容
本发明为解决背景技术中存在的上述技术问题,而提供一种基于统一染色技术的GPU系统,能够实现OpenGL API的硬件加速。
本发明的技术解决方案是:本发明为一种基于统一染色技术的GPU系统,其特殊之处在于:该系统包括基于PCIe的主机接口模块、基于统一染色架构的3D引擎模块、基于AXI的存储控制与管理模块及两路独立显示控制模块,所述主机接口模块和3D引擎模块连接,所述主机接口模块、3D引擎模块、显示控制模块均和存储控制与管理模块连接。
上述主机接口模块与主机进行OpenGL图形命令和数据传输,其包括PCIe总线接口,命令处理器、通用输入输出模块、两路I2C总线控制器以及外部ROM接口;所述PCIe总线接口后端逻辑包括DMA控制器,该PCIe总线接口用于接收PCIe主设备发送的OpenGL图形命令和数据,同时该PCIe总线接口还用于将图形处理器的图形状态参数和图像数据传送回主设备;所述PCIe总线接口后端DMA控制器由命令处理RISC内核进行参数配置,实现PCIe主设备与GPU芯片内部其它模块的数据传输;所述命令处理器包括预处理单元和命令处理RISC内核,用于接收PCIe总线接口传输的OpenGL图形命令和数据并对其进行解释和预处理,将预处理单元产生的图形绘制命令发送给3D引擎模块中的OpenGL图形绘制命令处理单元GDU;同时预处理单元产生的OpenGL图形功能命令发送到命令处理RISC内核进行译码处理,并提取图形功能码发送给图形功能管理单元GFU;OpenGL图形绘制命令的参数设置功能由GDU单元完成;OpenGL图形功能命令的参数设置功能由命令处理RISC内核完成;所述通用输入输出模块与PCIe总线接口相连,由PCIe主设备进行配置,实现与GPU芯片相连的外部设备的访问和控制;所述两路I2C总线控制器与PCIe总线接口相连,由PCIe主设备进行配置,实现与GPU芯片相连的外部A/D芯片和D/A芯片的配置。
上述3D引擎模块根据接收到的图形绘制命令和图形功能码进行3D图形处理;其中,对于图形绘制命令,3D引擎模块将图形绘制结果通过存储控制与管理模块最终写入到显示存储器中;对于图形功能码,3D引擎模块中的特定模块完成对应图形功能;所述3D引擎模块包括8个功能单元,分别是:状态参数与图形处理管理模块SGU、任务调度单元JSU、几何引擎GEU、图像处理子集IPU、统一染色阵列USA、纹理贴图单元TMU、染色器输出控制单元SEU、片段处理阵列单元ROU;所述SGU单元完成对图形绘制命令和图形功能码的管理,决定何时进行图形的绘制,以及何时执行图形功能;同时SGU单元实现了对3D引擎内部所有OpenGL状态参数的窗口访问机制,可以根据命令处理RISC内核对窗口寄存器的配置,完成对3D引擎内部所有OpenGL状态参数的读写访问;所述JSU单元完成对顶点染色任务和像素染色任务的调度功能,能够根据当前USA单元中多个处理内核的忙闲状态,以及负载平衡情况,将顶点染色任务和像素染色任务动态的分配到USA的处理资源上,并能够根据主机的配置动态的开启或关闭USA部分或全部执行资源;所述GEU单元是一个功能级流水线,完成几何图元的生成和处理功能;从前到后依次包括投影变换单元、图元装配单元、背面消隐单元、平面剪裁单元、三维剪裁单元、齐次坐标变换单元、视窗变换单元和光栅化单元;所述IPU单元包括图像管线单元和图像处理子集单元;所述图像管线单元主要完成图像数据的打包/解包、像素传输、像素映射、像素缩放等操作;所述图像处理子集单元主要完成颜色查找表、卷积、缩放偏移、颜色矩阵、柱状图和最小最大值功能;所述USA单元是统一染色架构的处理内核阵列,至少包含1个由16个染色处理器内核构成的单指令多线程SIMT(SingleInstruction Multi-Threading)染色处理单元簇,至少支持64个线程以SIMT的方式并行执行,在JSU单元的协同和调度下,并行的执行顶点染色和像素染色任务;所述TMU单元是实现纹理映射功能的硬件加速单元,包含由多个并行的纹理贴图单元组成的纹理贴图单元阵列;每个纹理贴图单元是一个功能级的流水线,根据来自USA单元的纹理访问地址,计算出显示存储器中的对应纹素地址,并将该纹素地址对应的纹素数据从显示存储器取出并返回给USA单元;所述SEU单元分别检测并记录顶点染色任务和像素染色任务进入USA的顺序,并按照该顺序将顶点染色任务的执行结果数据送入GEU单元,将像素染色任务的执行结果数据送入到ROU单元;所述ROU单元包括多个片段处理单元FOP,构成片段处理阵列,实现OpenGL所规定的片段操作,包括测试(裁剪测试、Alpha测试、深度测试、模板测试)、混合、屏蔽、逻辑等操作,以及针对缓冲区的清除操作和累积操作;所述ROU单元还包括像素Cache、像素数据压缩&解压单元、Z-buffer Cache、Z数据压缩&解压单元;所述像素Cache、Z-buffer Cache用于实现颜色数据和深度数据的片上缓冲,并为3D引擎模块的颜色和深度缓冲区访问提供颜色和深度数据,所述像素数据压缩&解压单元、Z数据压缩&解压单元用于减少显示存储器带宽的占用,降低存储器访问延迟。
上述存储控制与管理模块MMU用于显示存储器访问控制,其包括两路独立的第一AXI仲裁器和第二AXI仲裁器、独立的第一DDR3控制器和第二DDR3控制器;所述第一AXI仲裁器负责3D引擎模块在图形处理过程中需要存取的图形命令和图像数据的传输,同时接收来自像素Cache的最终图形绘制结果,并发送到对应的第一DDR3控制器中;所述第二AXI仲裁器负责接收来自显示控制模块的外部图像数据,并发送给对应的第二DDR3控制器;第一DDR3控制器连接在第一AXI仲裁器和第一路外部DDR3存储器芯片之间,用于实现第一AXI仲裁器对第一路外部DDR3存储器芯片的访问和控制;第二DDR3控制器2连接在第二AXI仲裁器和第一路外部DDR3存储器芯片之间,用于实现第二AXI仲裁器对第二路外部DDR3存储器芯片的访问和控制。
上述显示控制模块包括数字视频输入接口、至少一个显示控制单元和图像数据控制单元;所述数字视频输入接口用于接收两路外部视频信号,并将该两路视频信号发送给第二AXI仲裁器;所述图像数据控制单元用于从第一AXI仲裁器和第二AXI仲裁器中读取图像数据,根据用户配置分发给对应的显示控制单元;根据用户配置显示控制单元对来自图像数据控制单元的图像数据进行处理,并将处理结果输出外部显示设备。
上述3D引擎模块中的SGU单元与主机接口模块中的命令处理器单元相连,所述3D引擎模块的ROU单元与存储控制与管理模块中的第一AXI仲裁器1相连;所述存储控制与管理模块的第一AXI仲裁器和第二AXI仲裁器均与主机接口模块的命令处理器单元和PCIe接口后端DMA控制器相连。
上述USA单元包括至少1个顶点参数存储单元VP、至少1个像素参数存储单元PP、至少1个译码仲裁单元和至少1个SIMT染色处理单元簇SSC;其中VP单元用于存储顶点染色过程所需的参数,同时负责属性堆栈的实现;PP单元用于存储像素染色过程所需的参数,同时负责属性堆栈的实现;译码仲裁单元用于USA内部同类资源和外部模块间访问的译码及仲裁;内部资源包括:LocalSRAM、ICache、ConstantCache、调试寄存器(LocalSRAM)、LSU;SSC单元是USA的主要组成部分,是进行顶点、像素染色的主要功能部件,其上可运行顶点、像素染色程序;USA与JSU相连用来接收顶点和像素染色任务、与SEU相连用来输出顶点和像素染色任务执行结果、与SGU相连用来实现VP和PP状态参数的设置、与MMU相连用来实现帧缓冲区数据的读写访问,以及纹理和图形状态参数的读写访问、与主机接口相连用来实现主机对图形状态参数,以及对顶点和像素染色任务执行结果数据的访问、与纹理阵列相连用来实现纹素数据的访问。
上述系统还包括用于实现芯片内部时钟和复位控制的时钟复位控制模块。
本发明具有以下优点:
1、本发明提供的基于统一染色技术的GPU系统,内部集成基于统一染色架构的3D图形处理引擎,提供高性能3D图形构建,以及顶点和像素的染色能力,能够实现OpenGL API高性能硬件加速。第一,USA统一染色阵列中的SIMT染色处理单元簇不但能够执行顶点染色任务,也能够执行像素染色任务,解决了图形处理硬件对不同图形绘制场景中顶点和像素数量比例动态变化的适应性问题。第二,染色处理单元簇中的硬件执行资源能够以SIMT的方式对多个顶点或像素染色任务进行动态调度和流水执行,实现了对同一套硬件资源的时分复用效果,不但能够提升硬件资源的利用率,还能够隐藏长延迟染色任务在染色处理单元簇中造成的流水线气泡。第三,可以根据实际应用需要,可以通过对存储在DDR3显示存储器中的USA染色器固件程序的重新编程实现对具体顶点染色和像素染色方式的改变,从而实现不同的图形渲染效果。
2、本发明提供的基于统一染色技术的GPU系统中集成任务调度单元(JSU),JSU单元中集成主机可配置的USA工作模式寄存器。根据实际应用场景的特点和需要,主机端可以对这些USA工作模式寄存器进行配置,不但可以控制多个染色处理单元簇的开启和关闭,也可以控制每个染色处理单元簇中染色处理内核的开启和关闭,还可以控制每个染色处理单元簇中染色处理内核对应线程的开启和关闭。不但可以达到降低功耗的目的,还能够在USA内部资源出现制造缺陷时仍保证图形处理器的正常运行,提升了图形处理器的可靠性。
3、本发明提供的基于统一染色技术的GPU系统中集成了纹理贴图阵列单元(TMU),第一,TMU单元能够根据纹理地址,以流水的方式完成所有纹理映射过程中涉及到的MIPMAPLEVEL计算、纹素地址计算、纹素数据访问、纹素数据归一化、纹素数据过滤等一系列复杂的计算和处理操作,不但提升了纹理映射的处理效率,还能够显著减少像素染色任务对USA处理资源的占用,提升USA处理资源的利用率;第二,TMU中集成了主机可配置的TMU工作模式寄存器,在TMU中集成多个纹理贴图单元的情况下,主机可以根据应用场景的特点和需要,开启或关闭1个或多个纹理贴图单元,不但可以达到降低功耗的目的,还能够在TMU内部资源出现制造缺陷时仍保证图形处理器的正常运行,提升了图形处理器的可靠性。
4、本发明提供的基于统一染色技术的GPU系统支持AXI接口的128Bits高速双通道DDR3显示存储器,实现面向3D图形处理和显示控制的存储系统,满足了图形处理和显示控制功能对图形数据存储和缓冲的要求。
5、本发明提供的基于统一染色技术的GPU系统中集成了显示控制模块(MMU),其中包括为实现叠加功能提供视频源的视频输入模块(VIP),以及双路显示控制器,提供两路独立的数字显示输出接口。
6、本发明提供的基于统一染色技术的GPU系统中集成基于PCIe标准的主机接口,能够为提供PCIe主机接口的计算机系统提供图形加速处理功能。
附图说明
图1是本发明的架构框图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
参见图1,本发明包括与主机进行图形命令和数据传输的PCIe主机接口模块;集成了用于3D图形处理硬件加速的统一染色架构3D引擎模块;集成了用于实现芯片内部时钟和复位控制的时钟复位控制模块;集成了用于进行显示存储器访问控制的存储控制与管理模块,以及用于实现显示控制功能的显示控制模块。
下面分别详细介绍各模块的具体结构及功能:
1、主机接口模块的主要功能是实现客户端与图形处理器间的OpenGL命令传输,以及模板、纹理等图形数据的传输。另外,客户端主机通过主机接口模块对图形处理器内部体系结构寄存器进行配置,从而控制图形处理器具体实现的图形处理功能。主机接口模块包括以下几个子功能模块:
1.1PCIe总线接口:实现OpenGL命令和图形数据的传输。实现PCIe主机对图形处理器内部体系结构寄存器的配置。
1.2命令处理器:对PCIe主机发送进图形处理器的OpenGL命令进行解析和预译码,将OpenGL图形绘制命令分发至3D引擎中SGU单元的GDU模块中,将OpenGL图形功能命令分发至命令处理RISC内核中,由命令处理RISC内核完成图形功能码的发送和图形状态参数的设置。
1.3DMA控制器:响应来自命令处理器、3D模块的DMA数据传输请求,实现模板、纹理、图像等数据在主机和图形处理器内部存储器间的DMA传输。
1.4通用输入输出模块(GPIO):根据应用需求,支持在外部连接I/O设备。
1.5I2C:支持主从模式,实现对外部AD/DA芯片的配置。
1.6ROM控制器:支持从外部EEPROM加载命令处理器处理程序固件、统一染色器程序固件,并支持CRC校验和固件解密功能。
2、基于统一染色架构的3D引擎模块是图形处理器的核心,包括状态参数与图形处理管理模块(以下简称SGU)、任务调度单元(以下简称JSU)、几何引擎(以下简称GEU)、图像处理子集(以下简称IPU)、统一染色阵列(以下简称USA)、纹理贴图单元(以下简称TMU)、染色器输出控制单元(以下简称SEU)、片段处理阵列单元(以下简称ROU)。
2.1统一染色阵列(Unified Shader Array,简称USA):对于顶点染色任务来说,完成顶点、纹理坐标、光栅位置、法向量、光源位置和聚光灯方向向量的旋转、平移和缩放操作;完成顶点坐标的光照计算,最多支持8盏灯的光照计算,同时支持单面和双面光照计算;完成模型视图矩阵和纹理矩阵的乘法和逆矩阵变换等基本操作;支持深度为32的模型视图矩阵堆栈,支持深度为16的纹理矩阵堆栈,支持深度为8的属性堆栈。对于像素染色任务来说,完成像素的纹理地址的计算以及雾处理操作。
2.2几何引擎(Geometry Engine Unit,简称GEU):依次包括投影变换单元、图元装配单元、背面消隐单元、平面剪裁单元、三维剪裁单元、齐次坐标与视窗变换单元和光栅化单元。
2.2.1投影变换模块:投影变换模块根据客户端定义的视景体(正视视景体矩阵或透视视景体矩阵),对空间中的三维物体进行变换,从而实现了空间中三维物体到屏幕上的两种映射方式(即通过透视投影还是正投影)。其次,通过对具体视景体的定义,该模块还实现了对视野中哪些三维物体可见的定义,物体处于视景体外的部分最终将在三维剪裁模块中被视景体的六个面剪裁。
2.2.2图元装配模块:根据输入的顶点属性信息(包括坐标、颜色、纹理、法向量等信息)和客户端传送的mode参数,按照图元装配算法进行装配,得到点、线和三角形组成的各种图形,并将所装配的图形输出给下级进行裁剪等一系列的处理。
2.2.3背面消隐处理模块:在三维空间中,一个多边形虽然有两个面,但我们无法看见多边形的背面。如果将无法看见的多边形和可见的多边形同等对待,将降低图形处理效率。本模块可以实现将不可见面剔除的功能。背面消隐模块主要实现的功能包括设置三角形的正面和反面,以及消除设置的面,或者正反面均消除。
2.2.4平面剪裁模块:所述图形处理器支持使用6个用户自定义剪裁面对空间中的3D图形进行剪裁。平面裁剪模块使用客户指定的剪裁平面对世界空间中的三维物体进行剪裁,不但能够实现用户想要的特殊效果,还能够减少计算量。该模块首先对图元在平面的内外进行判别,如需剪裁还要运用线性插值和SH算法求出图元与裁剪面的交点,从而生成新的三维物体。
2.2.5三维剪裁模块:三维剪裁模块的功能与平面剪裁类似,差别在与平面剪裁的剪裁面由用户自定义,而三维剪裁的剪裁面就是投影变换单元所定义视景体的6个面。三维裁剪模块将位于视景体之外的所有图元进行裁剪。如果裁剪没有产生新的顶点,就把输入顶点的全部信息输出;如果剪裁产生新的顶点,那么就用CS算法或SH算法计算出新顶点的位置,再经过插值算法求出新点的属性信息,最终将顶点重新装配后的信息传给下一级。
2.2.6齐次坐标变换和视窗变换模块:本模块将视景体内的物体显示在二维的视口中。根据客户端定义的视口矩阵将三类点(位置性光源的坐标、光栅位置坐标、图元顶点坐标)进行齐次坐标变换后,再将所得的坐标与视窗变换矩阵相乘,将其窗口中的图形信息送到视口中,完成视窗变换。
2.2.7光栅化模块:本模块主要根据直线和多边形点画模式、直线宽度、点的大小、着色模型以及用于支持抗锯齿处理的覆盖率计算,把顶点连接起来形成直线或者计算填充多边形的内部像素,从而完成三维图形的光栅化。
2.3片段处理阵列单元(Raster Operation Unit,简称ROU):片段处理是片段在写入帧缓存之前所要进行的最后的操作,用来选择要写入帧缓存中的片段,以及根据条件改变帧缓存中的值。这些操作主要包括片段测试、混合、逻辑操作、累积缓冲区以及帧缓存清除和屏蔽等。另外,段处理模块还实现了空间中三维图形的颜色和深度值缓存。
2.4状态参数与图形处理管理模块(State Parameter and Graphic ProcessingManagement Unit,简称SGU):SGU单元是整个3D引擎的顶层控制模块,负责维护整个图形函数流的执行,并保证其顺序性。SGU单元是图形函数接口与图形功能的分界线,将众多复杂OpenGL函数通过一套调度和控制逻辑,抽象为对底层图形处理资源接口和数据的统一访问。有利于明确GPU内部硬件的功能划分,提升图形处理资源效率,减少冗余电路,降低设计复杂度。SGU单元由三个功能模块构成,分别是:图形绘制命令处理单元(GDU)、图形功能管理单元(GFU)和状态参数管理单元(SPU)。来自主机的OpenGL图形命令首先经过命令预译码单元,将图形命令分为两种类型:图形绘制类命令和图形处理类命令。图形绘制类命令送入顶点属性命令处理单元进行处理,以便获得高性能;而图形处理类和状态参数配置类命令送入命令处理器,以软硬件协同的方式实现状态参数的设置和对图形功能的预处理。
2.5任务调度单元(Job Schedule Unit,简称JSU):JSU单元独立并行的对顶点和像素任务进行动态调度,并将顶点和像素任务数据从GDU单元和光栅化单元映射和传输到USA内部选定的执行资源上。
2.6图像处理子集(Image Processing Unit,简称IPU):图像处理子集主要完成图像数据的打包/解包、像素传输、像素映射、像素缩放,以及颜色查找表、卷积、缩放偏移、颜色矩阵、柱状图和最小最大值功能等操作。
2.7纹理贴图单元(Texture Mapping Unit,简称TMU):TMU单元是实现纹理映射功能的硬件加速单元,包含由N个并行的纹理贴图单元组成的纹理贴图单元阵列。每个纹理贴图单元是一个功能级的流水线,根据来自USA单元的纹理访问地址,计算出显示存储器中的对应纹素地址,并将该纹素地址对应的纹素数据从显示存储器取出并返回给USA单元。
2.8染色器输出控制单元(Shader Export Unit,简称SEU):SEU单元分别检测并记录顶点染色任务和像素染色任务进入USA的顺序,并按照该顺序将顶点染色任务的执行结果数据送入GEU单元,将像素染色任务的执行结果数据送入到ROU单元。
3存储管理模块,该模块由以下子模块构成:
3.1 2路独立的访存仲裁与存储保护单元(MMU):其中一路负责图形绘制过程和图形功能处理过程中需要存取的数据和图像,以及从像素Cache写入的图形数据的对帧缓冲区访问的管理;另外一路负责完成数字视频分量输入模块、显示控制模块对帧缓存访问的管理。实现图形处理和显示控制对显示存储器访问的分离。
3.2 2路独立的存储器控制器模块:根据2路存储管理单元的存储器访问的AXI仲裁结果,2路独立的存储器控制器分别接收访存请求,并按照配置寄存器中所对应的工作模式访问片外显示存储器。
4、显示控制模块
4.1图形数据控制单元:实现从显示存储器中读图像数据,并根据寄存器配置将图像数据分别送入两路独立的显示控制单元中的功能;
4.2显示控制单元:对图像数据进行颜色索引、格式转换、缩放、抖动、叠加等处理,最后形成显示需要的数字RGB888格式,并通过显示输出单元输出。同时,该模块还实现硬件光标的功能;
4.3数字视频分量输入接口:接收外部视频源数据,并将接收的视频数据放入显示存储器中。
5、时钟复位控制模块
时钟复位控制模块接收来自片外晶振的时钟信号,并通过片内集成的PLL进行倍频或者分配,输出片内不同功能模块正常工作需要的时钟信号。另外,还能够接收来自硬件或者软件的复位信号,复位片内部分硬件逻辑或者整个芯片。

Claims (6)

1.一种基于统一染色技术的GPU系统,其特征在于:该系统包括基于PCIe的主机接口模块、基于统一染色架构的3D引擎模块、基于AXI的存储控制与管理模块及两路独立显示控制模块,所述主机接口模块和3D引擎模块连接,所述主机接口模块、3D引擎模块、显示控制模块均和存储控制与管理模块连接;
所述主机接口模块与主机进行OpenGL图形命令和数据传输,其包括PCIe总线接口、命令处理器、通用输入输出模块、两路I2C总线控制器以及外部ROM接口;所述PCIe总线接口后端逻辑包括DMA控制器,该PCIe总线接口用于接收PCIe主设备发送的OpenGL图形命令和数据,同时该PCIe总线接口还用于将图形处理器的图形状态参数和图像数据传送回主设备;所述命令处理器包括预处理单元和命令处理RISC内核,用于接收PCIe总线接口传输的OpenGL图形命令和数据并对其进行解释和预处理,将预处理单元产生的图形绘制命令发送给3D引擎模块中的OpenGL图形绘制命令处理单元GDU;同时预处理单元产生的OpenGL图形功能命令发送到命令处理RISC内核进行译码处理,并提取图形功能码发送给图形功能管理单元GFU;OpenGL图形绘制命令的参数设置功能由GDU单元完成;OpenGL图形功能命令的参数设置功能由命令处理RISC内核完成;所述通用输入输出模块与PCIe总线接口相连,由PCIe主设备进行配置,实现与GPU芯片相连的外部设备的访问和控制;所述两路I2C总线控制器与PCIe总线接口相连,由PCIe主设备进行配置,实现与GPU芯片相连的外部A/D芯片和D/A芯片的配置;
所述3D引擎模块根据接收到的图形绘制命令和图形功能码进行3D图形处理;所述3D引擎模块包括8个功能单元,分别是:状态参数与图形处理管理模块SGU、任务调度单元JSU、几何引擎GEU、图像处理子集IPU、统一染色阵列USA、纹理贴图单元TMU、染色器输出控制单元SEU、片段处理阵列单元ROU;所述SGU单元完成对图形绘制命令和图形功能码的管理,决定何时进行图形的绘制,以及何时执行图形功能;同时SGU单元实现了对3D引擎内部所有OpenGL状态参数的窗口访问机制,可以根据命令处理RISC内核对窗口寄存器的配置,完成对3D引擎内部所有OpenGL状态参数的读写访问;所述JSU单元完成对顶点染色任务和像素染色任务的调度功能,能够根据当前USA单元中多个处理内核的忙闲状态,以及负载平衡情况,将顶点染色任务和像素染色任务动态的分配到USA的处理资源上,并能够根据主机的配置动态的开启或关闭USA部分或全部执行资源;所述GEU单元是一个功能级流水线,完成几何图元的生成和处理功能;从前到后依次包括投影变换单元、图元装配单元、背面消隐单元、平面剪裁单元、三维剪裁单元、齐次坐标变换单元、视窗变换单元和光栅化单元;所述IPU单元包括图像管线单元和图像处理子集单元;所述图像管线单元完成图像数据的打包/解包、像素传输、像素映射、像素缩放操作;所述图像处理子集单元完成颜色查找表、卷积、缩放偏移、颜色矩阵、柱状图和最小最大值功能;所述USA单元是统一染色架构的处理内核阵列,至少包含1个由16个染色处理器内核构成的SIMT染色处理单元簇,至少支持64个线程以SIMT的方式并行执行,在JSU单元的协同和调度下,并行的执行顶点染色和像素染色任务;所述TMU单元是实现纹理映射功能的硬件加速单元,包含由多个并行的纹理贴图单元组成的纹理贴图单元阵列;每个纹理贴图单元是一个功能级的流水线,根据来自USA单元的纹理访问地址,计算出显示存储器中的对应纹素地址,并将该纹素地址对应的纹素数据从显示存储器取出并返回给USA单元;所述SEU单元分别检测并记录顶点染色任务和像素染色任务进入USA的顺序,并按照该顺序将顶点染色任务的执行结果数据送入GEU单元,将像素染色任务的执行结果数据送入到ROU单元;所述ROU单元包括多个片段处理单元FOP,构成片段处理阵列,实现OpenGL所规定的片段操作,包括测试、混合、屏蔽、逻辑操作,以及针对缓冲区的清除操作和累积操作;所述ROU单元还包括像素Cache、像素数据压缩&解压单元、Z-buffer Cache、Z数据压缩&解压单元;所述像素Cache、Z-buffer Cache用于实现颜色数据和深度数据的片上缓冲,并为3D引擎模块的颜色和深度缓冲区访问提供颜色和深度数据,所述像素数据压缩&解压单元、Z数据压缩&解压单元用于减少显示存储器带宽的占用,降低存储器访问延迟;
所述PCIe总线接口后端DMA控制器由命令处理RISC内核进行参数配置,实现PCIe主设备与GPU芯片内部的几何引擎GEU、图像处理子集IPU的数据传输。
2.根据权利要求1所述的基于统一染色技术的GPU系统,其特征在于:所述存储控制与管理模块MMU用于显示存储器访问控制,其包括两路独立的第一AXI仲裁器和第二AXI仲裁器、独立的第一DDR3控制器和第二DDR3控制器;所述第一AXI仲裁器负责3D引擎模块在图形处理过程中需要存取的图形命令和图像数据的传输,同时接收来自像素Cache的最终图形绘制结果,并发送到对应的第一DDR3控制器中;所述第二AXI仲裁器负责接收来自显示控制模块的外部图像数据,并发送给对应的第二DDR3控制器;第一DDR3控制器连接在第一AXI仲裁器和第一路外部DDR3存储器芯片之间,用于实现第一AXI仲裁器对第一路外部DDR3存储器芯片的访问和控制;第二DDR3控制器连接在第二AXI仲裁器和第二路外部DDR3存储器芯片之间,用于实现第二AXI仲裁器对第二路外部DDR3存储器芯片的访问和控制。
3.根据权利要求2所述的基于统一染色技术的GPU系统,其特征在于:所述显示控制模块包括数字视频输入接口、至少一个显示控制单元和图像数据控制单元;所述数字视频输入接口用于接收两路外部视频信号,并将该两路视频信号发送给第二AXI仲裁器;所述图像数据控制单元用于从第一AXI仲裁器和第二AXI仲裁器中读取图像数据,根据用户配置分发给对应的显示控制单元;根据用户配置显示控制单元对来自图像数据控制单元的图像数据进行处理,并将处理结果输出外部显示设备。
4.根据权利要求3所述的基于统一染色技术的GPU系统,其特征在于:所述3D引擎模块中的SGU单元与主机接口模块中的命令处理器单元相连,所述3D引擎模块的ROU单元与存储控制与管理模块中的第一AXI仲裁器相连;所述存储控制与管理模块的第一AXI仲裁器和第二AXI仲裁器均与主机接口模块的命令处理器单元和PCIe接口后端DMA控制器相连。
5.根据权利要求1或2或3或4所述的基于统一染色技术的GPU系统,其特征在于:所述USA单元包括至少1个顶点参数存储单元VP、至少1个像素参数存储单元PP、至少1个译码仲裁单元和至少1个SIMT染色处理单元簇SSC;其中VP单元用于存储顶点染色过程所需的参数,同时负责属性堆栈的实现;PP单元用于存储像素染色过程所需的参数,同时负责属性堆栈的实现;译码仲裁单元用于USA内部同类资源和外部模块间访问的译码及仲裁;内部资源包括:LocalSRAM、ICache、ConstantCache、调试寄存器、LSU;SSC单元是USA的组成部分,是进行顶点、像素染色的功能部件,其上可运行顶点、像素染色程序;USA与JSU相连用来接收顶点和像素染色任务;USA与SEU相连用来输出顶点和像素染色任务执行结果;USA与SGU相连用来实现VP和PP状态参数的设置;USA与MMU相连用来实现帧缓冲区数据的读写访问,以及纹理和图形状态参数的读写访问;USA与主机接口相连用来实现主机对图形状态参数,以及对顶点和像素染色任务执行结果数据的访问;USA与纹理阵列相连用来实现纹理 数据的访问。
6.根据权利要求5所述的基于统一染色技术的GPU系统,其特征在于:所述系统还包括用于实现芯片内部时钟和复位控制的时钟复位控制模块。
CN201510930129.7A 2015-12-11 2015-12-11 一种基于统一染色技术的gpu系统 Active CN105630441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510930129.7A CN105630441B (zh) 2015-12-11 2015-12-11 一种基于统一染色技术的gpu系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510930129.7A CN105630441B (zh) 2015-12-11 2015-12-11 一种基于统一染色技术的gpu系统

Publications (2)

Publication Number Publication Date
CN105630441A CN105630441A (zh) 2016-06-01
CN105630441B true CN105630441B (zh) 2018-12-25

Family

ID=56045435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510930129.7A Active CN105630441B (zh) 2015-12-11 2015-12-11 一种基于统一染色技术的gpu系统

Country Status (1)

Country Link
CN (1) CN105630441B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648547A (zh) * 2016-12-12 2017-05-10 中国航空工业集团公司西安航空计算技术研究所 一种gpu图形状态参数的分布式统一管理方法
CN106651742B (zh) * 2016-12-12 2020-08-11 中国航空工业集团公司西安航空计算技术研究所 一种统一染色架构图形处理器单指令多线程染色簇系统
CN106708472A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种非阻塞图形命令处理方法
CN106683033B (zh) * 2016-12-12 2020-09-22 中国航空工业集团公司西安航空计算技术研究所 一种乱序OpenGL接口处理方法
CN106780289B (zh) * 2016-12-12 2020-06-30 中国航空工业集团公司西安航空计算技术研究所 基于渲染模式自适应的图形处理器统一染色阵列旁路结构
CN106683171B (zh) * 2016-12-12 2020-04-28 中国航空工业集团公司西安航空计算技术研究所 一种GPU多线程纹理映射SystemC建模结构
CN106683032B (zh) * 2016-12-12 2020-04-07 中国航空工业集团公司西安航空计算技术研究所 一种gpu染色阵列空闲单元查询电路
CN106776023B (zh) * 2016-12-12 2021-08-03 中国航空工业集团公司西安航空计算技术研究所 一种自适应gpu统一染色阵列任务负载均衡方法
CN106651744B (zh) * 2016-12-12 2020-01-14 中国航空工业集团公司西安航空计算技术研究所 一种低功耗gpu染色任务与统一染色阵列任务现场映射结构
CN106709859B (zh) * 2016-12-12 2020-04-07 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器光栅化单元的自适应低功耗时钟门控结构
CN107423019B (zh) * 2017-07-31 2020-11-10 山东超越数控电子股份有限公司 一种基于飞腾平台控制3d图形加速的实现方法
CN108022269B (zh) * 2017-11-24 2021-09-14 中国航空工业集团公司西安航空计算技术研究所 一种GPU压缩纹理存储Cache的建模系统
CN108122190B (zh) * 2017-12-06 2021-06-01 中国航空工业集团公司西安航空计算技术研究所 一种gpu统一染色阵列顶点染色任务属性数据组装方法
CN108109103A (zh) * 2017-12-06 2018-06-01 中国航空工业集团公司西安航空计算技术研究所 一种高性能gpu染色任务与统一染色阵列任务现场映射结构
CN108257076B (zh) * 2017-12-06 2021-10-15 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器统一染色阵列低功耗门控时钟
CN108460718B (zh) * 2018-03-06 2022-04-12 湖南翰博薇微电子科技有限公司 基于低功耗飞腾的三维图形显示系统优化方法及装置
CN108958921B (zh) * 2018-07-19 2023-06-20 南京军微半导体科技有限公司 Gpu中一种染色片段调度管理的硬件加速实现方法
CN109191362B (zh) * 2018-07-30 2023-07-18 南京军微半导体科技有限公司 多个rop的并行调度方法
CN109118572A (zh) * 2018-08-07 2019-01-01 芯视图(常州)微电子有限公司 Simt 顶点和像素染色基本程序生产方法
CN109785417B (zh) * 2018-11-29 2023-06-09 武汉凌久微电子有限公司 一种实现OpenGL累积操作的方法及装置
CN109598077A (zh) * 2018-12-11 2019-04-09 中国航空工业集团公司西安航空计算技术研究所 一种基于gpu芯片的图形管线装置及建模方法
CN109710229B (zh) * 2018-12-11 2022-03-15 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu芯片图形管线单元的架构验证方法及平台
CN109741235A (zh) * 2018-12-11 2019-05-10 中国航空工业集团公司西安航空计算技术研究所 一种基于gpu芯片的主机接口装置及建模方法
CN109669770B (zh) * 2018-12-12 2022-10-11 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器并行着色任务调度单元系统
CN109710398B (zh) * 2018-12-12 2023-01-13 中国航空工业集团公司西安航空计算技术研究所 一种基于uml的面向gpu顶点着色任务调度方法
CN109657360A (zh) * 2018-12-21 2019-04-19 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu芯片硬件架构的建模方法及视图系统
KR20220031717A (ko) * 2019-08-22 2022-03-11 구글 엘엘씨 동기식 프로세서를 위한 샤딩
CN110956573B (zh) * 2019-11-21 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种基于有限状态机的OpenGL图形命令预译码方法
CN110930494A (zh) * 2019-11-21 2020-03-27 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu芯片的渲染输出装置及建模方法
CN113129205A (zh) * 2019-12-31 2021-07-16 华为技术有限公司 一种电子设备及计算机系统
CN112581575B (zh) * 2020-12-05 2024-05-03 西安翔腾微电子科技有限公司 一种外视频做纹理系统
CN116917925A (zh) * 2021-02-19 2023-10-20 华为技术有限公司 图形处理器、图像处理方法和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123519A (ja) * 2006-11-10 2008-05-29 Sony Computer Entertainment Inc グラフィックス処理装置、グラフィックスライブラリモジュール、およびグラフィックス処理方法
CN104503950A (zh) * 2014-12-09 2015-04-08 中国航空工业集团公司第六三一研究所 一种面向OpenGL API的图形处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123519A (ja) * 2006-11-10 2008-05-29 Sony Computer Entertainment Inc グラフィックス処理装置、グラフィックスライブラリモジュール、およびグラフィックス処理方法
CN104503950A (zh) * 2014-12-09 2015-04-08 中国航空工业集团公司第六三一研究所 一种面向OpenGL API的图形处理器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种高效GPU 存储系统体系架构设计;卢俊等;《计算机技术与发展》;20150331;第25卷(第4期);第6-9页 *
支持双路显示的GPU 显示控制单元设计与实现;任向隆等;《小型微型计算机系统》;20150915;第36卷(第9期);第2135-2139页 *

Also Published As

Publication number Publication date
CN105630441A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105630441B (zh) 一种基于统一染色技术的gpu系统
CN109478310B (zh) 在计算环境中使用纹素着色器的多分辨率延迟着色
US10497173B2 (en) Apparatus and method for hierarchical adaptive tessellation
US11798123B2 (en) Mechanism to accelerate graphics workloads in a multi-core computing architecture
US20220254091A1 (en) Apparatus and method for optimized ray tracing
US20220114781A1 (en) Apparatus and method for using alpha values to improve ray tracing efficiency
CN104503950B (zh) 一种面向OpenGL API的图形处理器
US11194722B2 (en) Apparatus and method for improved cache utilization and efficiency on a many core processor
US10055883B2 (en) Frustum tests for sub-pixel shadows
US20170024924A1 (en) Distributed frame buffer and api for scalable parallel rendering
US20090189896A1 (en) Graphics Processor having Unified Shader Unit
US10191724B2 (en) Compiler-based instruction scoreboarding
CN109196550B (zh) 用于针对虚拟现实和多视图系统进行交织光栅化和像素着色的架构
CN111383160A (zh) 用于在上采样或帧内插之后校正图像区域的装置和方法
US11429534B2 (en) Addressing cache slices in a last level cache
US10026153B2 (en) Varying image quality rendering in a sort middle architecture
US10409571B1 (en) Apparatus and method for efficiently accessing memory when performing a horizontal data reduction
US20200005516A1 (en) Method and apparatus for simultaneously executing multiple contexts on a graphics engine
US9196014B2 (en) Buffer clearing apparatus and method for computer graphics
US10395423B2 (en) Apparatus and method for rendering adaptive mesh refinement (AMR) data
CN113052747A (zh) 用于基于量化的会聚方向的光线分类的装置和方法
US10037625B2 (en) Load-balanced tessellation distribution for parallel architectures
WO2017172032A1 (en) System and method of caching for pixel synchronization-based graphics techniques
US20180082468A1 (en) Hierarchical Z-Culling (HiZ) Optimized Shadow Mapping
US8749561B1 (en) Method and system for coordinated data execution using a primary graphics processor and a secondary graphics processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant