一种图形处理器图像处理单元体系结构的制作方法

文档序号:14121447阅读:192来源:国知局
本发明属于图形处理器设计领域,涉及一种图形处理器图像处理单元体系结构。
背景技术
::图形处理器(gpu)是进行图形绘制、图像及视频处理和显示的关键部件,普遍存在于各类需对窗口系统、图形界面、游戏场景、图像应用和视频播放等进行加速的系统之中。图像处理单元是gpu中负责像素、纹理和位图数据加载、读取,并在加载和读取过程中进行颜色变换、处理的重要部件,负责为gpu提供图像管线和图像处理子集功能的支持和实现。目前,我国gpu研制能力薄弱,各领域图形加速大量采用国外进口商用芯片。出于国家安全、商业利益等原因,商用gpu的底层资料(如内部微架构、核心设计等)向来不曾公开,导致在使用时商用gpu的功能、性能无法充分发挥,可移植性较差;此外,在军用领域,国外商用gpu在安全性、可靠性、保障性等方面存在隐患,难以满足军事应用的自主保障需求。上述问题严重制约了我国各种图形加速系统的独立研制和自主发展,研制具有自主知识产权的gpu芯片迫在眉睫,而图像处理单元作为gpu中进行像素、纹理等加载和读取,同时进行变换、处理的关键部件,其实现结构内尚未见有公开报导,对其设计技术进行研究和突破已刻不容缓。技术实现要素:本发明的目的是:提供一种可用于图形处理器的图像处理单元体系结构。本发明的技术解决方案是:一种图形处理器图像处理单元体系结构,包含图像管线前段单元101、图像处理子集单元102、图像管线后段单元103、格式转换b单元108、压缩解压单元107、译码控制单元111;所述图像管线前段单元101完成opengl协议所规定的图像管线功能中存储操作、像素映射,以及部分格式转换操作;所述图像处理子集单元102完成opengl协议所规定的图像处理子集功能中颜色表映射(包括颜色表、卷积后颜色表、颜色矩阵后颜色表)、卷积处理、颜色矩阵处理、柱状图统计、最大最小值统计功能;所述图像管线后段单元103完成opengl协议所规定的图像管线功能中像素缩放操作,以及像素数据由行顺序到块(tile)顺序的转换;所述格式转换b单元108完成数据在处理格式和存储格式之间的转换;所述压缩解压单元107完成纹理数据的压缩和解压功能;译码控制单元111对sgu输入的功能码进行译码,产生图形处理单元中各模块的作用使能;所述图像管线前段单元101具有与外部dma单元的接口130,用于图像处理单元和外部模块之间像素数据的传输;所述译码控制单元111具有与外部sgu单元的接口136,用于从外部接收所处理opengl函数的功能码;所述压缩解压单元107具有与外部ddr单元的接口131,用于图像处理单元和ddr单元之间的数据传输;所述图像管线后段单元103具有与外部jsu单元的接口133,用于向jsu单元传输处理过的像素数据及控制信息;所述图像管线前段单元101具有到图像管线后段单元103的连接137,用于向图像管线后段单元103传输位图数据;所述图像管线前段单元101具有到图像处理子集单元102的连接139,用于向图像处理子集单元102传输像素数据;所述图像管线前段单元101具有与图像处理子集单元102的连接140,用于在图像管线前段单元101和图像处理子集单元102之间传输颜色表、卷积核、柱状图、最小最大值等数据;所述图像处理子集单元102具有到图像管线前段单元101的连接138,用于向图像管线前段单元101传输像素数据;所述图像处理子集单元102具有到图像管线后段单元103的连接141,用于向图像管线后段单元103传输像素数据;所述格式转换b单元108具有与压缩解压单元107的连接147,用于格式转换b单元108与压缩解压单元107之间的数据传输。所述译码控制单元111具有到图像处理单元内的各子单元之间的连接,用于根据opengl命令的功能码为各子单元的工作提供所需控制信号;所述仲裁单元105具有与图像管线前段单元101的连接142,用于为仲裁单元105和图像管线前段单元101之间的数据传输提供数据通路;所述仲裁单元105具有与图像处理子集单元102的连接143,用于为仲裁单元105和图像处理子集单元102之间的数据传输提供数据通路;所述仲裁单元105具有与格式转换b单元108的连接146,用于为仲裁单元105和格式转换b单元108之间的数据传输提供数据通路。所述图形处理器图像处理单元体系结构的工作流程为:外部sgu单元对ip参数存储110中的参数进行设置;外部sgu单元向译码控制单元111发送需图像处理单元处理的opengl命令的功能码;外部单元设置外部的dma控制器,启动dma传输;译码控制单元111对接收到的opengl命令的功能码进行译码,控制图像处理单元内部的单元按照该命令的数据通路进行处理;对一条命令的处理过程为,从外部dma单元或外部ddr单元或外部p/zcache单元读取待处理数据,然后图像管线前段单元101、图像处理子集单元102、图像管线后段单元103、sub替换单元104、仲裁单元105、mipmap产生单元106、压缩解压单元107、格式转换b单元108等依据译码控制单元111的控制信息,对流经本模块的数据进行相应的处理,处理后的数据发往数据通路的下一级,数据通路上的最后一级将最终数据写入外部dma单元或外部ddr单元或外部jsu单元,该条命令处理完毕;一条命令处理完毕后,图像处理单元处于空闲状态,等待接收下一条命令。进一步的,所述的一种图形处理器图像处理单元体系结构,还包括一个sub替换单元104、一个仲裁单元105、一个mipmap产生单元106、一个主机可见寄存器单元109、一个ip参数存储单元110;所述sub替换单元104完成非压缩纹理和压缩纹理的子纹理替换功能;所述仲裁单元105完成图像管线前段单元101、图像处理子集单元102和sub替换单元104与格式转换b单元108进行数据传输的仲裁操作;所述mipmap产生单元106负责生成纹理图像的各级mipmap图像;所述主机可见寄存器单元109实现主机可读写的寄存器,用于实现主机对图像处理单元的控制及状态获取;所述ip参数存储单元110用于存储图像处理单元处理opengl命令所需要的众多配置参数;所述主机可见寄存器单元109具有与外部hiu单元的连接134,用于外部hiu单元对主机可见寄存器单元109中寄存器的读写;所述ip参数存储单元110具有与外部sgu单元的连接135,用于外部sgu单元对ip参数存储单元110中的参数寄存器进行读写;所述格式转换b单元108具有与外部p/zcache单元的连接132,用于和外部p/zcache单元之间的数据传输;所述主机可见寄存器单元109具有与图像处理单元内的各子单元之间的连接,用于设置各子单元的参数以及获取子单元的状态;所述ip参数存储单元110具有到图像处理单元内的各子单元之间的连接,用于为各子单元的正常工作提供所需参数;所述仲裁单元105具有与sub替换单元104的连接144,用于为仲裁单元105和sub替换单元104之间的数据传输提供数据通路;所述sub替换单元104具有与图像管线后段单元103的连接145,用于从图像管线后段单元103接收纹理数据;所述mipmap产生单元106具有与压缩解压单元107的连接148,用于mipmap产生单元106与压缩解压单元107之间纹理数据的传输。进一步的,所述的图像管线前段单元,包含fifo单元201、存储操作单元202、格式转换a单元203、读写控制单元204、传输映射单元205;所述fifo单元201完成数据的缓冲功能;所述存储操作单元202完成图像管线功能中存储操作(pixelstore)的部分功能(完成字节序、位序、位图的子图像功能);所述格式转换a单元203完成数据在主机格式和处理格式之间的转换;所述读写控制单元204依据译码控制单元的控制信号,完成对图像处理单元外的ddr单元及图像处理单元内部片上sram的读写访问;所述传输映射单元205完成像素传输操作所设置的缩放和偏移操作,以及像素映射操作;所述fifo单元201与所述存储操作单元202之间具有连接230,用于fifo单元201与存储操作单元202之间的数据传输;所述存储操作单元202与所述格式转换a单元203之间具有连接231,用于存储操作单元202和格式转换a单元203之间的数据传输;所述格式转换a单元203具有到所述传输映射单元205的连接232,用于向传输映射单元205发送像素数据;所述格式转换a单元203与所述读写控制单元204之间具有连接233,用于格式转换a单元203与读写控制单元204之间的像素数据传输;所述读写控制单元204具有到所述传输映射单元205的连接234,用于向传输映射单元203发送像素数据;所述传输映射单元205与所述读写控制单元204之间具有连接236,用于读写控制单元204读写传输映射单元205中的像素映射表。进一步的,所述图像管线后段单元由像素缩放翻转单元207组成;像素缩放翻转单元207在外部译码控制单元111的控制下完成像素数据的放大、缩小和反射。进一步的,所述图像处理子集单元包含颜色表单元301、卷积单元302、卷积后颜色表单元303、颜色矩阵单元304、颜色矩阵后颜色表单元305、柱状图单元306、最小最大值单元307;所述颜色表单元301、所述卷积后颜色表单元303、所述颜色矩阵后颜色表单元305分别对应于3个不同阶段的颜色表,功能均为,根据像素的颜色值,完成颜色表的查找,并完成像素颜色值的替换;所述卷积单元302依据设置的卷积模式、卷积核、卷积核的内部格式信息,完成像素数据的卷积运算,并完成像素传输操作所设置的卷积后的缩放和偏移;所述卷积单元302内部包含存储,用于存放卷积核信息;所述颜色矩阵单元304依据外部ip参数存储单元110中存储的颜色矩阵,对像素数据进行变换,并完成像素传输操作所设置的颜色矩阵后的缩放和偏移;所述柱状图单元306根据外部ip参数存储单元110中柱状图的配置,对像素实施柱状图的统计功能;所述最小最大值单元307根据外部ip参数存储单元110中最小最大值的配置,实现像素值最小最大值的统计功能;所述最小最大值单元307内部包含寄存器,用于记录最小最大值信息;所述颜色表单元301具有到所述卷积单元302的连接345,用于向卷积单元302发送像素数据;所述卷积单元302具有到所述卷积后颜色表单元303的连接346,用于向卷积后颜色表单元303发送像素数据;所述卷积后颜色表单元303具有到所述颜色矩阵单元304的连接347,用于向颜色矩阵单元304发送像素数据;所述颜色矩阵单元304具有到所述颜色矩阵后颜色表单元305的连接348,用于颜色矩阵后颜色表单元305发送像素数据;所述颜色矩阵后颜色表单元305具有到所述柱状图单元306的连接349,用于向柱状图单元306发送像素数据;所述柱状图单元306具有到所述最小最大值单元307的连接350,用于向最小最大值单元307发送像素数据;所述颜色表单元301与外部读写控制单元204之间具有连接352,用于读写控制单元204设置和读取颜色表单元301中的颜色表信息;所述卷积单元302与外部仲裁单元105之间具有连接355,用于卷积单元302读取和写入和外部ddr中的像素数据;所述卷积后颜色表单元303与外部读写控制单元204之间具有连接357,用于读写控制单元204设置和读取卷积后颜色表单元303中的颜色表信息;所述颜色矩阵后颜色表单元305与外部读写控制单元204之间具有连接359,用于读写控制单元204设置和读取颜色矩阵后颜色表单元305中的颜色表信息;所述柱状图单元306具有到外部读写控制单元204的连接361,用于读写控制单元204读取柱状图单元306中的柱状图信息;所述最小最大值单元307具有到外部读写控制单元204的连接362,用于读写控制单元204读取最小最大值单元307中的最小最大值信息。本发明的有益效果是:一、本发明提供的一种图像处理单元的体系结构,可完成像素、纹理和位图等主要数据的加载和获取,还支持颜色表、卷积核等辅助数据加载和获取,且在数据的加载和获取操作过程中,支持opengl标准所规定的:a)图像管线的功能,包括:存储操作、像素传输操作、像素映射操作、像素缩放操作;b)图像处理子集的功能,包括:颜色表操作、卷积操作、颜色表变换操作、柱状图统计操作、最小最大值统计操作。二、本发明提供的一种图像处理单元的体系结构,可用于自主图形处理器芯片的研制。附图说明图1是本发明图形处理器图像处理单元体系结构的总体框图,其中:hiu-主机接口单元;sgu-状态参数与图形处理管理单元;jsu-任务调度单元;p/zcache-pixel/zcache;ip-图像处理参数。图2是图像管线的总体框图,包括图像管线前段和图像管线后段。图3是图像处理子集的总体框图。图4是图形处理器图像处理单元体系结构的一个实施例框图,其中:rou-光栅操作单元;ocu-输出控制单元;usa-统一染色阵列。具体实施方式下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。参见图1,其是本发明图形处理器图像处理单元体系结构的总体框图。图2是图像管线的总体框图,包括图像管线前段和图像管线后段。图3是图像处理子集的总体框图。本发明图形处理器图像处理单元体系结构的一种具体实施方式的内部结构如图4所示,主要由图像管线单元、图像处理子集单元、主机可见寄存器单元、ip参数存储单元、译码控制单元、仲裁单元、格式转换b单元、压缩解压单元、sub替换单元、mipmap产生单元组成。其中:a)图像管线单元完成图像管线的相关功能。图像管线单元由fifo单元、存储操作单元、格式转换a单元、读写控制单元、传输映射单元、像素缩放翻转单元组成。其中:——fifo单元用于对数据进行缓存;——存储操作单元进行存储模式的转换,功能参考glpixelstore;——格式转换a单元用于对数据的格式进行转换;——读写控制单元用于在译码控制单元的控制下对ddr和片上sram的数据进行读写;——传输映射操作单元根据设置的传输模式和映射表对颜色成分进行操作,功能参考glpixeltransfer、glpixelmap;——像素缩放翻转单元对图像进行放大、缩小或翻转操作,功能参考glpixelzoom。b)图像处理子集单元完成图像处理子集的相关功能。图像处理子集单元由颜色表单元、卷积单元、卷积后颜色表单元、颜色矩阵单元、颜色矩阵后颜色表单元、柱状图单元和最小最大值单元组成。其中:——颜色表单元用于实现颜色查找表。颜色查找表用于替换像素的颜色,以实现对比增强、过滤和图像均衡等效果,功能参考glcolortable;——卷积单元用于实现卷积、缩放和偏移功能。卷积是一种像素过滤器,用像素本身以及邻近像素的加权平均值来替换这个像素,卷积可应用于图像的模糊、锐化、查找边缘以及调整对比度等,功能参考glconvolutionfilter*;缩放和偏移是对像素的颜色分量进行缩放和偏移操作,对应于参数gl_color_table_scale和gl_color_table_bias,功能参考glcolortableparameter。——卷积后颜色表单元用于实现卷积后的颜色查找表,其功能与颜色表单元类似;——颜色矩阵单元用于实现颜色矩阵、缩放和偏移功能。颜色矩阵用于对像素值进行颜色空间转换和线性变换,功能参考glloadmatrix、glmatrixmode;缩放和偏移与卷积单元中的缩放和偏移功能类似;——颜色矩阵后颜色表单元,功能与颜色查找表类似;——柱状图单元实现柱状图功能,用于对图像颜色分布信息进行统计收集,功能参考glhistogram;——最小最大值单元用于统计一个像素矩形中最大颜色分量和最小颜色分量,功能参考glminmax。c)主机可见寄存器单元实现主机可见的寄存器及其读写控制;d)ip参数存储单元用于存储图像处理单元所需的参数;e)译码控制单元对来自图形功能管理单元的图形功能码进行译码,控制、协调图像处理单元各单元的执行;f)仲裁单元对图像处理子集中多个访问存储器的请求进行仲裁,选出一路进行存储器的访问;g)格式转换b单元负责ipu处理格式、类型与ddr的内部格式之间的数据格式转换,以及数据地址、数据长度的变换;h)压缩解压单元负责根据需要对纹理数据进行压缩、解压操作;i)sub替换单元负责纹理sub图像的替换,涉及的函数有gltexsubimage、glcopytexsubimage、glcompressedtexsubimage;j)mipmap产生单元负责纹理图像mipmap的产生。最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1