一种图形处理器统一染色器阵列体系结构的制作方法

文档序号:9751633阅读:706来源:国知局
一种图形处理器统一染色器阵列体系结构的制作方法
【技术领域】
[0001]本发明属于图形处理器设计领域,涉及一种图形处理器统一染色器阵列体系结构。
【背景技术】
[0002]图形处理器(Graphic Process Unit,GPU)是现代计算机硬件的重要组成部分,是进行图形绘制、处理和显示的关键部件,其普遍存在于工作站、个人电脑、笔记本、手机以及各类需进行图形显示的系统中。GPU负责产生2D和3D的图形、图像和视频,以支持基于窗口的操作系统、图形用户界面、视频游戏、可视化图像应用和视频播放等可视化计算。GPU技术的发展主要经历了固定功能流水线阶段、分离染色器架构阶段和统一染色器架构阶段,其图形处理能力不断提升,应用领域也从最初的图形绘制逐步扩展到通用计算领域。GPU自身具有的流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
[0003]目前,我国GHJ研制能力薄弱,各领域显示控制系统中大量采用国外进口的商用GPU芯片。尤其是在军用领域中,国外进口的商用GPU芯片存在安全性、可靠性、保障性等方面的隐患,无法满足军用环境的需求;而且,出于政治、军事、经济等原因,国外对我国实行技术“封锁”和产品“垄断”,难以获得GPU芯片的底层技术资料,如寄存器资料、详细内部微架构、核心软件源码等,导致GPU功能、性能无法充分发挥,且移植性较差;上述问题严重制约了我国显示系统的独立研制和自主发展,研制具有自主知识产权的统一染色图形处理器芯片已迫在眉睫,而统一染色器阵列作为统一染色图形处理器的关键和核心,对其因设计技术进行研究和突破已刻不容缓。

【发明内容】

[0004]本发明为解决【背景技术】中存在的上述技术问题,而提供一种突破统一染色阵列设计的关键技术的可用于图形处理器的统一染色器阵列体系架构。
[0005]本发明的技术解决方案是:本发明为一种图形处理器统一染色器阵列体系结构,其特殊之处在于:该结构为USA单元,所述USA单元包括若干用于对顶点和像素任务进行统一染色处理的SSC单元;用于对USA单元中存储资源的访问进行译码和仲裁的DAU单元;用于顶点染色过程中存储相关常量的VP单元和用于像素染色过程中存储相关常量的PP单元;所述DAU单元与SSC单元相连,用于SSC和USA外部进行数据的输入输出和控制信号的交互;所述VP单元与DAU单元相连,用于存储SGU配置的常量参数,并为SSC顶点染色提供常量数据;所述PP单元与DAU单元相连,用于存储SGU配置的常量参数,并为SSC像素染色提供常量数据。
[0006]上述SSC单元采用单指令多线程技术,使用单条32位标量指令控制多个SPU的执行,包括:若干用于执行染色程序的SPU单元;用于对SSC进行控制和调度的CU单元;用于加速指令存取速度的1$单元;用于加速常量存取的C$单元;用于对内部存储器访问进行译码和仲裁控制的RAC单元;用于对指令进行取指译码的FDU单元;用于在LSRAM单元和RF单元之间进行数据交换的LSU单元和用于在SPU单元间共享数据的SSRAM单元;所述1$单元与FDU单元连接,用于向FDU提供染色指令;所述C$单元与LSU单元连接,用于提供染色过程中使用的常量;所述LSRAM单元、SSRAM单元、C$单元和LSU单元均与RAC单元相连;所述SPU单元与!7DU单元、LSU单元、RAC单元相连。
[0007]上述SPU单元包括四个用于执行常规运算的SC单元;一个用于执行特殊功能函数的SFU单元;一个用于程序分支处理的BRU单元;五套用于数据存储的RF单元,分别与4个SC单元和I个SFU单元对应;五套用于数据存储的LSRAM单元,分别与4个SC单元和I个SFU单元对应。
[0008]上述RF单元为寄存器文件;所述LSRAM单元为局部存储器。
[0009]上述USA单元通过DAU单元与外部用于为USA分配顶点和像素染色任务的JSU单元耦合;所述USA单元通过DAU单元与外部用于将USA的染色结果输出到后续图形流水线的OCU单元耦合;所述USA单元通过DAU单元与外部用于对图形处理器状态和图形功能管理的SGU单元親合;所述USA单元通过DAU单元与外部用于对图形显示存储进行访问的MMU单元親合;所述USA单元通过DAU单元与外部用于与主机进行交互的HIU单元親合;所述USA单元通过DAU单元与外部用于纹素计算的TUA单元耦合。
[0010]本发明具有以下优点:
[0011 ] 1、本发明提供的统一染色器阵列体系结构,内部可集成众多染色器核,提供强大的统一染色能力,能够实现顶点和像素的统一染色,且染色程序可编程。
[0012]2、顶点染色可完成的功能如下:顶点、纹理坐标、光栅位置、法向量、光源位置和聚光灯方向向量的旋转、平移和缩放操作;顶点的光照计算,最多支持8盏灯,同时支持单面和双面光照;模型视图矩阵和纹理矩阵的基本操作;法向量标准化计算。
[0013]3、像素染色可完成的功能如下:纹理组合器、雾处理操作。
[0014]4、本发明突破了图形处理器设计中统一染色阵列设计,可用于国产统一染色图形处理器芯片的研制。
【附图说明】
:
[0015]图1是本发明的结构整体框图,其中:USA-统一染色器阵列;SSC-S頂T染色单元簇;DAU-译码仲裁单元;RAC-RAM访问控制;SPU-染色处理单元;VP-顶点参数单元;PP-像素参数单元;JSU-任务调度单元;OCU-输出控制单元;SGU-状态参数与图形功能单元;MMU-存储管理单元;HIU-主机接口单元;TUA-纹理单元阵列。
[0016]图2是本发明的SSC单元的结构框图,其中:CU_控制单元;1$-指令高速缓存;C$-常量高速缓存;rou-取指译码单元;SSRAM-共享存储器;LSU-加载存储单元;SFU-特殊功能单元;SC-染色器核;BRU-分支处理单元;RF-寄存器文件;LSRAM-本地存储器。
[0017]图3是本发明的SPU单元的详细框图,其中:WBU-写回单元;IRF-定点寄存器文件;FRF-浮点寄存器文件。
[0018]图4是本发明的rou单元的详细框图。
[0019]图5是本发明的SC单元的详细框图,其中:FLE-浮点执行单元;FIE-定点执行单元。
[0020]图6是本发明DAU单元的结构框图。【具体实施方式】:
[0021]下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
[0022]参见图1,本发明包含了5个用于对顶点和像素任务进行统一染色处理的SSC单元;包含了用于对USA单元中存储资源的访问进行译码和仲裁的DAU单元;包含了用于顶点染色过程中存储相关常量的VP单元;包含了用于像素染色过程中存储相关常量的PP单元。
[0023]下面分别详细介绍各模块的具体结构及功能:
[0024]1、SSC单元为USA单元的主要组成部分,是进行顶点、像素染色的主要功能部件是warp执行的硬件载体。Warp是由待处理数据、对数据进行加工的程序,以及加工后产生的结果数据组成的集合。多个warp可在同一 SSC硬件上互不干扰地分时执行,不同warp需要有不同的现场记录相关信息,即warp需要由相应的硬件支持。SSC单元上:warp待处理数据由需要进行相同处理(顶点染色或像素染色)的16个顶点或像素组成;对数据进行加工的程序包括两大类,即顶点染色程序和像素染色程序;加工后产生的结果数据包括顶点染色的输出和像素染色的输出。I个SSC支持8warp,每warp的单条32位指令执行4个周期,每周期可控制16个SC/4个SFU并行对不同数据进行处理,即可同时处理16个顶点/像素任务,4个周期共64线程,此处即单指令多线程技术。
[0025]参见图2,SSC单元由以下子模块构成:
[0026]1.1、SPU单元:SPU单元为SSC单元的主要组成部分,是进行染色处理的核心执行部件,主要完成顶点染色、像素染色任务的运算以及相关数据的存储。
[0027]参见图3,SPU单元由以下子模块构成:
[0028]1.1.1、4个SC单元:SC单元负责定点和浮点常规运算的执行,是进行染色运算的基础执行结构,其由FIE单元、FLE单元和WBU单元组成,参见图5,其中:
[0029]FLE单元负责浮点常规运算的执行,其由FMAC、FFU、n)IV、FADD单元组成;
[0030]FMAC单元完成浮点乘法、浮点乘累加运算(FMUL、FMAC),两者复用实现;
[0031 ] FFU单元负责完成简单的浮点操作包括FINT、FM0V和FABS指令;
[0032]roiv单元完成浮点除法运算;
[0033]FADD单元负责完成浮点加减法运算(FADD、FSUB),此外,还负责浮点比较设置类指令(FSETLT、FSETGT、FSETLE、FSETGE、FSETEQ、FSETNE)、浮点定点转换指令(FSTO1、FITOS)和条件传送类指令(FM0VLT、FM0VGT、FM0VLE、FM0VGE、FM0VEQ、FM0VNE)的执行;
[0034]FIE单元负责定点常规运算的执行,其由MAC、ALU1、ALU2、DIV单元组成;
[0035]MAC单元完成定点乘法、定点乘累加运算(MUUMAC),两者复用实现;
[0036]々1^单元完成加减法运算(400^00(:、31^、31^0、条件比较设置类指令(10¥、31(^、SMOVS、STM、MOVLT、MOVGT、MOVLE、MOVGE、MOVEQ、MOVNE、SLT、SGT、SLE、SGE、SEQ、SNE)、逻辑及移位运算类指令(AND、ANDN、0R、0RN、X0R、XN0R、SLL、SLA、SRL、SRA)的执行;
[0037]DIV单
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1