一种GPU图形状态参数的分布式统一管理方法与流程

文档序号:11154295阅读:540来源:国知局
一种GPU图形状态参数的分布式统一管理方法与制造工艺

本发明涉及计算机硬件技术领域,尤其涉及GPU图形状态参数的分布式统一管理方法。



背景技术:

随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生。从1999年Nvidia发布第一款GPU产品至今,GPU技术的发展主要经历了固定功能流水线阶段、分离染色器架构阶段、统一染色器架构阶段,其图形处理能力不断提升,应用领域也从最初的图形绘制逐步扩展到通用计算领域。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。

目前,我国尚无基于统一染色架构的GPU,各领域显示控制系统中大量采用国外进口的商用GPU芯片。尤其是在军用领域中,国外进口商用GPU芯片存在温度和环境适应性差、无法保证电路本身或配套软件没有“后门”、包含大量军用领域不需要的冗余功能单元,功耗指标无法满足要求、商用GPU芯片更新换代快,随时面临停产、断档,难以满足武器装备持续保障等缺陷,在安全性、可靠性、保障性等方面的存在重大隐患。而且,出于政治、军事、经济等原因,国外对我国实行技术“封锁”和产品“垄断”,难以获得GPU芯片的底层技术资料,如寄存器资料、详细内部微架构、核心软件源码等,导致GPU功能、性能无法充分发挥,且移植性较差;上述问题严重制约了我国显示系统的独立研制和自主发展。尤其是涉及GPU的众多图形状态参数的管理机制,是GPU图形处理流水线微架构的核心技术,突破GPU图形状态参数管理关键技术,研制高性能图形处理器芯片迫在眉睫。



技术实现要素:

本发明公开了一种GPU图形状态参数的分布式统一管理方法,能够在满足硬件低延迟并行使用多个图形状态参数的前提下,实现GPU硬件对所有OpenGL图形状态参数的高效访问,以及主机对所有OpenGL图形状态参数的调试访问。

本发明的技术解决方案是:

一种GPU图形状态参数的分布式统一管理方法,包括:

根据GPU图形处理流水线中各流水阶段的功能,将所有OpenGL图形状态参数分为至少8个类型,分别是:顶点全局属性参数(Global Vertex Parameters,GVP)、顶点染色参数(Vertex Parameters,VP)、像素染色参数(Pixel Parameters,PP)、纹理贴图参数(Texture Parameters,TP)、几何引擎参数(Geometry Parameters,GP)、图像处理参数(Image Parameters,IP)、片段参数(Fragment Parameters,FP)和其它功能参数(Other Parameters,OP);

所述至少8个类型的图形状态参数均以SRAM或寄存器的形式独立存储,并且每一种类型的图形状态参数存储器分布在使用它们的图形流水线对应的流水级功能单元中:顶点全局属性参数存在于任务调度单元(Job Schedule Unit,JSU)中、顶点染色参数和像素染色参数存在于统一染色阵列(Unified Shading Array,USA)中、纹理贴图参数存在于纹理贴图单元(Texture Mapping Unit,TMU)中、几何引擎参数存在于几何引擎单元(Geometry Engine Unit,GEU)中、图像处理参数存在于图像处理单元(Image Processing Unit,IPU)中、片段参数存在于片段处理单元(Rasterizing Operating Unit,ROU)中、其它功能参数存在于命令处理器单元(Command Processor Unit,CMD)中;

通过多个专用的窗口寄存器对所有OpenGL图形状态参数进行访问;窗口寄存器至少包括参数地址寄存器、参数访问片选寄存器、数据寄存器、字使能寄存器和窗口访问模式寄存器;其中,参数地址寄存器用来存储需要访问的图形状态参数的地址,以及本次访问的读写控制信号;参数访问片选寄存器用来存储对8个类型图形状态参数存储器的访问片选信号;数据寄存器用来存储要写入某个图形状态参数存储器的数据,或者从某个图形状态参数存储器中读出的图形状态参数,根据不同的图形状态参数访问数据通路宽度,包含一个或多个32b寄存器;字使能寄存器用来选择访问图形状态参数时,数据寄存器中的有效参数字;窗口访问模式寄存器用来在正常图形处理模式和调试模式间进行选择。

主机能够对窗口寄存器中的窗口访问模式寄存器进行配置,使窗口工作于正常图形处理模式或者调试模式;在正常图形处理模式下,只有命令处理器可以对所有的8种图形状态参数存储进行访问,在调试模式下,只有主机可以对所有的8种图形状态参数存储进行访问。

所有8种类型的图形状态参数统一编址,不同类型的图形状态参数位于不同的地址段中。

窗口寄存器中的参数地址寄存器、数据寄存器和字使能寄存器连接到所有8种类型图形状态参数存储所在的图形功能单元中;窗口寄存器中的参数访问片选寄存器至少包含8bit,每1bit对应一种图形状态参数存储的访问片选信号,并分别连接到对应的8种图形状态参数所在的图形功能单元中。

在正常图形处理模式下,命令处理器对图形状态参数的读写访问通过对多个窗口寄存器的访问完成。

在调试模式下,主机通过寄存器访问通路对图形状态参数的读写访问同样也是通过对多个窗口寄存器的访问完成,访问方式与权利要求4中的访问方式相同。

本发明的技术效果是:

1、本发明提供的GPU图形状态参数的分布式统一管理机制按照图形流水线中不同流水阶段中的图形处理功能单元对OpenGL图形状态参数的使用方式和使用需求,对所有OpenGL图形状态参数进行了分类映射,将所有OpenGL图形状态参数分为8个类型的图形状态参数,分别是:顶点全局属性参数、顶点染色参数、像素染色参数、纹理贴图参数、几何引擎参数、图像处理参数、片段参数和其它功能参数。相对于所有图形状态参数未分类的方式来说,上述分类方式可以使每一类图形参数存储的容量显著减少,有效降低电路设计复杂度,以及读写访问延迟;

2、本发明中所述8类图形状态参数均以SRAM、寄存器或其它形式存储在片上实现,并分布式存在于使用它们的功能单元中,或与其关联实现。例如,顶点全局属性参数存在于任务调度单元中、顶点染色参数和像素染色参数存在于统一染色阵列中、纹理贴图参数存在于纹理贴图单元中、几何引擎参数存在于几何引擎单元中、图像处理参数存在于图像处理单元中、片段参数存在于片段处理单元中、其它功能参数存在于命令处理器单元中。相对于所有图形状态参数集中式实现的方式来说,上述图形状态参数的片上分布式实现方式可以使得某种类型的图形状态参数与其对应的功能单元在片上近距离实现,从而使得芯片在布线时难度降低,并使功能单元获得较低的参数访问延迟;

3、本发明中所述窗口访问机制可以通过窗口控制逻辑内部有限的几个专用寄存器,就能实现对数量众多的OpenGL图形状态参数进行访问的目的。典型的OpenGL图形状态参数数量达到1800个32b字以上,直接将如此数量众多的状态参数暴露给GPU中命令处理器和主机处理器会占用大量命令处理器地址空间和主机总线地址空间,而采用窗口访问机制可以将命令处理器访问图形状态参数时需要占用的存储器地址空间降低到不超过10个32b字,大幅降低命令处理器和主机需要访问的存储空间范围;

4、本发明中所述窗口访问机制中窗口控制逻辑可以根据主机的配置选择由GPU命令处理器对所有图形状态参数进行访问,此时工作在正常绘图模式下;或者由主机对所有图形状态参数进行访问,此时工作在调试模式下。如果不采用窗口访问机制,在两种不同的工作模式下,所有8种类型的图形状态参数存储单元不得不为每一种工作模式配置一套访问接口,至少是一套控制逻辑。而采用窗口访问机制时,无论出于哪种工作模式下,窗口控制逻辑为所有8种类型的图形状态参数存储单元提供了统一的访问界面,即读写访问接口只有一套,大幅降低了连线数量,简化了硬件设计复杂度。

附图说明

图1是本发明基于窗口机制的GPU图形状态参数分布式统一管理结构框图;

图2是基于图形处理流水线的GPU图形状态参数分类方式图。

具体实施方式

下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其它实施例,都属于本发明的保护范围。

一种GPU图形状态参数的分布式统一管理机制,包含面向图形处理流水线的OpenGL图形状态参数的分类方式、不同类型图形状态参数的片上分布方式、基于窗口的OpenGL图形状态参数的访问机制;

所述面向图形处理流水线的OpenGL图形状态参数的分类方式是根据GPU图形处理流水线中各流水阶段的功能,将所有OpenGL图形状态参数分为至少8个类型,分别是:顶点全局属性参数(Global Vertex Parameters,GVP)、顶点染色参数(Vertex Parameters,VP)、像素染色参数(Pixel Parameters,PP)、纹理贴图参数(Texture Parameters,TP)、几何引擎参数(Geometry Parameters,GP)、图像处理参数(Image Parameters,IP)、片段参数(Fragment Parameters,FP)和其它功能参数(Other Parameters,OP);

所述不同类型图形状态参数的片上分布方式是:所有8个类型的图形状态参数均以SRAM或寄存器的形式独立存储,并且每一种类型的图形状态参数存储器分布在使用它们的图形流水线对应的流水级功能单元中;

所述顶点全局属性参数存在于任务调度单元(Job Schedule Unit,JSU)中,或者与其关联存在;

所述顶点染色参数和像素染色参数存在于统一染色阵列(Unified Shading Array,USA)中,或者与其关联存在;

所述纹理贴图参数存在于纹理贴图单元(Texture Mapping Unit,TMU)中,或者与其关联存在;

所述几何引擎参数存在于几何引擎单元(Geometry Engine Unit,GEU)中,或者与其关联存在;

所述图像处理参数存在于图像处理单元(Image Processing Unit,IPU)中,或者与其关联存在;

所述片段参数存在于片段处理单元(Rasterizing Operating Unit,ROU)中,或者与其关联存在;

所述其它功能参数存在于命令处理器单元(Command Processor Unit,CMD)中,或者与其关联存在;

所述基于窗口的OpenGL图形状态参数的访问机制的是通过多个专用的窗口寄存器对所有OpenGL图形状态参数进行访问的方法;

所述窗口寄存器至少包括参数地址寄存器、参数访问片选寄存器、数据寄存器、字使能寄存器和窗口访问模式寄存器;

所述参数地址寄存器用来存储需要访问的图形状态参数的地址,以及本次访问的读写控制信号;

所述参数访问片选寄存器用来存储对8个类型图形状态参数存储器的访问片选信号;

所述数据寄存器用来存储要写入某个图形状态参数存储器的数据,或者从某个图形状态参数存储器中读出的图形状态参数,根据不同的图形状态参数访问数据通路宽度,可能包含一个或多个32b寄存器;

所述字使能寄存器用来选择访问图形状态参数时,数据寄存器中的有效参数字;

所述窗口访问模式寄存器用来在正常图形处理模式和调试模式间进行选择;

所述GPU图形状态参数的分布式统一管理机制,其特殊之处在于:主机可以对窗口寄存器中的窗口访问模式寄存器进行配置,使窗口工作于正常图形处理模式或者调试模式。在正常图形处理模式下,只有命令处理器可以对所有的8种图形状态参数存储进行访问,在调试模式下,只有主机可以对所有的8种图形状态参数存储进行访问;

所述GPU图形状态参数的分布式统一管理机制,其特殊之处在于:所有8种类型的图形状态参数统一编址,不同类型的图形状态参数位于不同的地址段中;

所述窗口寄存器中的参数地址寄存器、数据寄存器和字使能寄存器连接到所有8种类型图形状态参数存储所在的图形功能单元中;

所述窗口寄存器中的参数访问片选寄存器至少包含8bit,每1bit对应一种图形状态参数存储的访问片选信号,并分别连接到对应的8种图形状态参数所在的图形功能单元中;

所述正常图形处理模式下,命令处理器对图形状态参数的读写访问通过对多个窗口寄存器的访问完成。

所述调试模式下,主机通过寄存器访问通路对图形状态参数的读写访问同样也是通过对多个窗口寄存器的访问完成。

实施例

如图1所示,PCIe模块是主机与GPU的总线接口单元,负责在主机与GPU之间传递数据;命令处理器模块负责接口来自主机的OpenGL函数命令,并将相应的图形状态参数设置到8种图形状态参数存储单元中;GSU是状态参数管理单元,包括图形状态参数访问窗口控制逻辑,以及对多个图形处理功能单元工作状态的处理逻辑。

如图2中基于图形处理流水线各阶段图形功能的OpenGL图形状态参数分类映射方式,形成了8种图形状态参数在片上的分布式方式,如图1所示。任务调度单元负责完成顶点和像素染色任务的调度;顶点全局属性参数存在于任务调度单元(JSU)中,或者与其关联存在;USA负责完成顶点和像素染色任务的处理;顶点染色参数和像素染色参数存在于统一染色阵列(USA)中,或者与其关联存在;纹理贴图单元完成纹素数据获取过程的加速;纹理贴图参数存在于纹理贴图单元(TMU)中,或者与其关联存在;几何引擎负责完成顶点位置的变换、图元的装配和剪裁,以及图元的光栅化;几何引擎参数存在于几何引擎单元(GEU)中,或者与其关联存在;图像处理单元完成帧缓冲区中图像,以及纹理图像的处理;图像处理参数存在于图像处理单元(IPU)中,或者与其关联存在;片段处理单元完成像素写入帧缓冲区前的最后处理;片段参数存在于片段处理单元(ROU)中,或者与其关联存在;命令处理器单元完成顶点数组和显示列表调用,以及所有图形状态参数的配置功能;其它功能参数存在于命令处理器单元(CMD)中,或者与其关联存在。

主机通过PCIe模块中的寄存器通道,可以配置窗口控制逻辑中的窗口访问模式寄存器,从而选择工作在正常工作模式或是调试工作模式。

在正常工作模式下,GPU中命令处理器单元通过窗口控制逻辑对所有图形状态参数进行访问,典型的访问流程如下:不同实现方案的访问流程可能存在差异,但并不使相应实现方案的本质脱离本发明方案的精神和范围。第一步,命令处理器写参数地址寄存器,指定要访问参数的起始地址,以及本次访问的读写控制信号;第二步,窗口逻辑会根据地址寄存器内容自动设置参数访问片选寄存器;第三步,命令处理器写字使能寄存器,用来在图形状态参数访问通路超过1个32b字的时候选择具体要访问哪一个或几个字;第四步,如果是写操作,将需要写的一个或多个图形状态参数数据字写入数据寄存器中,窗口控制逻辑会根据地址寄存器、字使能寄存器中的内容将一个或多个32b数据寄存器中的内容写入到对应的参数存储器中。如果是读操作,窗口控制逻辑将根据多个图形处理功能单元工作状态,以及地址寄存器将从对应的参数存储器中读回一个或多个32b参数数据,并写入到数据寄存器中,命令处理器根据需要使用。

在调试模式下,主机通过寄存器访问通路对图形状态参数的读写访问同样也是通过对多个窗口寄存器的访问完成。

最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1