CN105574808A - 一种流水线纹理贴图单元体系结构 - Google Patents
一种流水线纹理贴图单元体系结构 Download PDFInfo
- Publication number
- CN105574808A CN105574808A CN201510926549.8A CN201510926549A CN105574808A CN 105574808 A CN105574808 A CN 105574808A CN 201510926549 A CN201510926549 A CN 201510926549A CN 105574808 A CN105574808 A CN 105574808A
- Authority
- CN
- China
- Prior art keywords
- unit
- texture
- data
- texel
- task
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种流水线纹理贴图单元体系结构,该纹理贴图单元包含依次连接的level计算单元、任务分配单元、四路纹素地址计算单元、第一数据组装和任务分配寄存器、L1纹理cache、第二数据组装和任务分配寄存器、四路纹素数据提取和归一化单元、第三数据组装和任务分配寄存器、四路纹理比较单元、第四数据组装和任务分配寄存器、四路过滤单元和输出数据组装单元。本发明为GPU系统使用硬件加速方式提升纹理贴图性能提供参考和指导作用。
Description
技术领域
本发明属于图形处理器设计领域,涉及一种流水线纹理贴图单元的体系结构。
背景技术
图形处理器(GraphicProcessUnit,GPU)是现代计算机硬件的重要组成部分,是进行图形绘制、处理和显示的关键部件,普遍存在于工作站、个人电脑、笔记本、手机以及各类需进行图形显示的系统中。GPU负责产生2D和3D的图形、图像和视频,以支持基于窗口的操作系统、图形用户界面、视频游戏、可视化图像应用和视频播放等可视化计算。GPU图形处理能力随着纹理贴图技术的普遍应用而不断提升,GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
目前,我国GPU研制能力薄弱,各领域显示控制系统中大量采用国外进口的商用GPU芯片。尤其是在军用领域中,国外进口商用GPU芯片存在安全性、可靠性、保障性等方面的隐患,无法满足军用环境的需求;而且,出于政治、军事、经济等原因,国外对我国实行技术“封锁”和产品“垄断”,难以获得GPU芯片的底层技术资料,如寄存器资料、详细内部微架构、核心软件源码等,导致GPU功能、性能无法充分发挥,且移植性较差;上述问题严重制约了我国显示系统的独立研制和自主发展,研制具有自主知识产权的图形处理器芯片已迫在眉睫,而高性能、流水结构专用硬件结构的纹理贴图单元作为统一染色图形处理器的关键和核心,对其设计技术进行研究和突破已刻不容缓。
发明内容
本发明为解决背景技术中存在的上述技术问题,而提供一种可用于图形处理器的流水线结构纹理贴图单元,突破流水线结构纹理贴图单元设计的关键技术。
本发明的技术解决方案是:本发明为一种流水线纹理贴图单元体系结构,其特殊之处在于:该纹理贴图单元包含依次连接的level计算单元、任务分配单元、四路纹素地址计算单元、第一数据组装和任务分配寄存器、L1纹理cache、第二数据组装和任务分配寄存器、四路纹素数据提取和归一化单元、第三数据组装和任务分配寄存器、四路纹理比较单元、第四数据组装和任务分配寄存器、四路过滤单元和输出数据组装单元;所述纹理贴图单元通过level计算单元与外部分配纹理请求任务的USA模块耦合,用于获取纹理请求;通过输出数据组装单元与外部接收纹理请求处理结果的USA模块耦合,用于向USA输出纹理处理的最终值;通过任务分配单元、第一数据组装和任务分配寄存器、第二数据组装和任务分配寄存器与外部提供纹理图像参数的纹理参数存储单元耦合,用于获取本级流水线所需纹理参数;纹理贴图单元采用流水线设计技术和并行处理技术,其中:纹素地址计算单元、纹素数据提取和归一化单元、纹理比较单元、过滤单元具有对4个fragment同时执行相关操作的4套相同的计算逻辑;具有流水线握手逻辑;具有流水线数据和控制字缓存和传输通路。
上述level计算单元包括依次连接的纹理坐标预处理和scaler(缩放因子)计算单元、λ计算单元、min/max判定单元和Level计算和过滤模式选择单元;level计算单元以空间上相邻的4个片段(fragment)的纹理坐标、掩码(mask)、纹理参数作为输入,采用定点计算单元计算当前纹理请求的mipmap的leve。
上述纹素地址计算单元包括:L层纹理图像width,height和depth查询单元;wrap_mode对s、t,r的调整单元;过滤权重系数计算单元;L层纹素坐标(I,J,K)的计算单元;纹理存储访问请求组装单元;所述过滤权重系数计算单元和L层纹素坐标(I,J,K)的计算单元分别与L层纹理图像width,height和depth查询单元;wrap_mode对s、t,r的调整单元及纹理存储访问请求组装单元连接。
本发明具有以下优点:
1、本发明提供流水线结构纹理贴图单元体系结构,由多个功能级流水线阶段组成,实现纹理请求的流水化处理;纹理地址计算单元、纹素数据提取和归一化单元、纹理比较单元和过滤单元具有4路并行执行的计算部件,提供强大并行计算能力;纹理地址计算单元、纹素数据提取和归一化单元、纹理比较单元和过滤单元根据过滤模式和纹理数据格式能实现多种类型的纹理贴图效果。以上三方面的结构特征使得流水结构纹理贴图单元能够加速纹理贴图操作。
2、纹理贴图单元的基本功能包括:mipmap的level计算;纹素地址计算;纹理存储器访问;纹素数据归一化和格式转换;纹理比较;纹理过滤操作。
3、本发明突破了图形处理器设计中流水结构纹理贴图单元的设计,可用于国产图形处理器芯片的研制。
附图说明:
图1是本发明的结构整体框图,包含:一路level计算单元、任务分配单元、四路纹理地址计算单元、第一数据组装和任务分配寄存器1、一个L1纹理cache、第二数据组装和任务分配寄存器2、四路纹素数据归一化单元、第三数据组装和任务分配寄存器3、四路纹理比较单元、第四数据组装和任务分配寄存器4、四路过滤单元、输出数据组装单元。
图2是本发明的level计算单元的结构框图,包含纹理坐标预处理和scaler(缩放因子)计算单元、λ的计算单元、min/max判定单元,Level的计算和过滤模式选择单元。
图3是本发明的纹理地址计算单元的结构框图,包含:L层纹理图像width,height和depth查询单元;wrap_mode对s、t,r的调整单元;过滤操作权重系数计算单元;L层纹素坐标(I,J,K)的计算单元,纹理存储访问请求组装单元。
具体实施方式:
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
参见图1,本发明包括一路level计算单元、任务分配单元、四路纹理地址计算单元、数据组装和任务分配寄存器1、一个L1纹理cache、数据组装和任务分配寄存器2、四路纹素数据归一化单元、数据组装和任务分配寄存器3、四路纹理比较单元、数据组装和任务分配寄存器4、四路过滤单元、输出数据组装单元。
下面分别详细介绍各模块的具体结构及功能:
1、Level计算单元是流水结构纹理贴图单元的主要组成部分,是计算纹理图像mipmap的level,确定纹理过滤模式的硬件载体。参见图2,该模块由以下子模块构成:
1.1、纹理坐标预处理和scaler计算单元:完成1D/2D/3D纹理坐标的预处理,将本模块所接收到(0,1)之间的定点纹理坐标s,t,r分别乘于width,height,depth,得到S,T,R。之后,根据相邻的4个fragment的纹理坐标S,T,R的差值,计算1D/2D/3D纹理的缩放因子(scaler)。
1.2、λ的计算单元:以缩放因子scaler作为输入,使用log2计算单元得到λ。
1.3、min/max判定单元:依据opengl2.0的定义,以λ作为输入,判定当前纹理操作是缩小还是放大。
1.4、Level的计算和过滤模式选择单元:如果当前为缩小,则选择缩小过滤器,如果当前为放大,则选择放大过滤器。每种过滤模式的level计算使用opengl2.0的定义执行。
2、纹素地址计算单元:为当前quad的4个fragment同时计算所需的全部纹素采样的坐标。第一,计算指定level层的纹理坐标;第二,根据wrapmode对超出[0,1]范围的归一化纹理坐标的处理;第三,在指定过滤模式(filtermode)下,为每个fragment产生1/2/4个纹素坐标;第四,根据wrapmode对多个纹素坐标进行处理;第五,组装纹素坐标,形成纹理存储器请求。参见图3,纹素地址计算单元由多个独立的单元组成,包括:
2.1、L层纹理参数的获取单元:通过查询纹理参数存储器,获取第L层纹理的width,height和depth,将这些参数作为过滤操作权重系数计算单元和L层纹素坐标(I,J,K)计算单元的输入。
2.2、wrap模式对s,t,r的修正单元:当s,t,r坐标处于[0,1]范围之外,需要根据wrap_s,wrap_t,wrap_r所定义的warpmode的处理规则做相应的处理,得到u,v,w。
2.3、过滤操作权重系数计算单元:对u,v,w分别乘于width,height和depth,得到U,V,W。计算U,V,W的整数部分和小数部分,作为水平方向,垂直方向,深度方向的过滤系数。
2.4、L层纹素坐标(I,J,K)计算单元:根据不同过滤模式的定义,以u,v,w和width,height和depth为输入,为每个fragment计算1/2/4个纹素坐标(I,J,K)。
2.5、纹素存储器请求的组装:本单元将1个fragment的纹素坐标(I,J,K)、纹理的基地址和纹理数据格式等信息组装打包,形成纹理存储器请求,数据组装和任务分配单元1。
3、任务分配单元:将level计算单元计算的结果和当前纹理请求内的4个fragment的4组纹理坐标组装到一起,分发给下一级流水线。
4、第一数据组装和任务分配单元1:按照纹理存储器访问请求的数据格式将当前quad内4个fragment需要输出的数据收集到一起,也就是将每个fragment的1/2/4个纹素地址计算结果和前级流水线传递过来的控制信息组装到一起,发送给下一级流水线。
5、第二数据组装和任务分配单元2:按照纹素数据提取和归一化模块的输入格式将当前quad内4个fragment需要输出的数据收集到一起,也就是将每个fragment的1/2/4个纹素数据和前级流水线传递过来的控制信息组装到一起,发送给下一级流水线。
6、第三数据组装和任务分配单元3:按照纹理比较单元的输入数据格式,将当前quad内4个fragment需要输出的数据收集到一起,也就是将每个fragment的1/2/4个经过处理过的纹素数据,以及前级流水线传递过来的控制信息组装到一起,发送给下一级流水线。
7、第四数据组装和任务分配单元4:按照过滤单元的输入数据格式,当前quad内4个fragment需要输出的数据收集到一起,也就是将每个fragment的1/2/4个经过处理过的纹素数据和过滤系数组装到一起,发送给下一级流水线。
8、L1纹理cache:缓存最近被使用的纹理数据,当cache缺失,则从L2Cache和DDR获取纹素数据,每次能接收1个quad的纹理存储器访问请求,以非阻塞的方式处理多个quad的纹理存储器访问请求,向下一级流水线返回1个quad的4个fragment的若干个纹素数据。
9、纹素数据提取和归一化单元:当前quad内4个fragment实现并行处理,并且对每个fragment的1/2/4个纹素数据同时执行纹素数据提取和归一化操作。按照纹理内部格式,提取颜色分量,对每个颜色分量执行归一化操作,执行颜色格式转化。
10、纹理比较单元:根据纹理的控制信息决定是否执行纹理比较操作,如果需要执行纹理比较操作,则对4个fragment的n个纹素数据同时执行纹理比较操作,得到一个经过修改的纹素数据。
11、过滤单元:对4个fragment同时执行过滤操作。以过滤系数、n个纹素数据和过滤模式为输入,执行过滤操作。
12、输出数据组装单元:按照统一染色阵列单元(USA单元)的输入数据格式,将4个fragment的纹理过滤操作结果组装到一起输出到USA单元。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (3)
1.一种流水线纹理贴图单元体系结构,其特征在于:该纹理贴图单元包含依次连接的level计算单元、任务分配单元、四路纹素地址计算单元、第一数据组装和任务分配寄存器、L1纹理cache、第二数据组装和任务分配寄存器、四路纹素数据提取和归一化单元、第三数据组装和任务分配寄存器、四路纹理比较单元、第四数据组装和任务分配寄存器、四路过滤单元和输出数据组装单元;所述纹理贴图单元通过level计算单元与外部分配纹理请求任务的USA模块耦合,用于获取纹理请求;通过输出数据组装单元与外部接收纹理请求处理结果的USA模块耦合,用于向USA输出纹理处理的最终值;通过任务分配单元、第一数据组装和任务分配寄存器、第二数据组装和任务分配寄存器与外部提供纹理图像参数的纹理参数存储单元耦合,用于获取本级流水线所需纹理参数。
2.根据权利要求1所述的流水线纹理贴图单元体系结构,其特征在于:所述level计算单元包括依次连接的纹理坐标预处理和scaler(缩放因子)计算单元、λ计算单元、min/max判定单元和Level计算和过滤模式选择单元。
3.根据权利要求2所述的流水线纹理贴图单元体系结构,其特征在于:所述纹素地址计算单元包括:L层纹理图像width,height和depth查询单元;wrap_mode对s、t,r的调整单元;过滤权重系数计算单元;L层纹素坐标(I,J,K)的计算单元;纹理存储访问请求组装单元;所述过滤权重系数计算单元和L层纹素坐标(I,J,K)的计算单元分别与L层纹理图像width,height和depth查询单元;wrap_mode对s、t,r的调整单元及纹理存储访问请求组装单元连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510926549.8A CN105574808B (zh) | 2015-12-11 | 2015-12-11 | 一种流水线纹理贴图单元系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510926549.8A CN105574808B (zh) | 2015-12-11 | 2015-12-11 | 一种流水线纹理贴图单元系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105574808A true CN105574808A (zh) | 2016-05-11 |
CN105574808B CN105574808B (zh) | 2018-10-26 |
Family
ID=55884905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510926549.8A Active CN105574808B (zh) | 2015-12-11 | 2015-12-11 | 一种流水线纹理贴图单元系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105574808B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648547A (zh) * | 2016-12-12 | 2017-05-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu图形状态参数的分布式统一管理方法 |
CN109598077A (zh) * | 2018-12-11 | 2019-04-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于gpu芯片的图形管线装置及建模方法 |
CN109615685A (zh) * | 2018-11-14 | 2019-04-12 | 西安翔腾微电子科技有限公司 | 基于uml面向gpu纹理贴图的硬件视图模型及纹理执行方法 |
CN110942417A (zh) * | 2019-11-18 | 2020-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu纹素取值方法 |
CN111028130A (zh) * | 2019-11-18 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件纹素取值方法的tlm微结构 |
WO2022116012A1 (zh) * | 2020-12-01 | 2022-06-09 | 华为技术有限公司 | 一种纹理处理的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774725A (zh) * | 2003-04-15 | 2006-05-17 | 皇家飞利浦电子股份有限公司 | 计算机图形处理器及生成计算机图形图像的方法 |
US20080303841A1 (en) * | 2007-06-07 | 2008-12-11 | Newhall Jr William P | Extrapolation of nonresident mipmap data using resident mipmap data |
CN104503950A (zh) * | 2014-12-09 | 2015-04-08 | 中国航空工业集团公司第六三一研究所 | 一种面向OpenGL API的图形处理器 |
-
2015
- 2015-12-11 CN CN201510926549.8A patent/CN105574808B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774725A (zh) * | 2003-04-15 | 2006-05-17 | 皇家飞利浦电子股份有限公司 | 计算机图形处理器及生成计算机图形图像的方法 |
US20080303841A1 (en) * | 2007-06-07 | 2008-12-11 | Newhall Jr William P | Extrapolation of nonresident mipmap data using resident mipmap data |
CN104503950A (zh) * | 2014-12-09 | 2015-04-08 | 中国航空工业集团公司第六三一研究所 | 一种面向OpenGL API的图形处理器 |
Non-Patent Citations (1)
Title |
---|
许强 等: "一种适用于嵌入式图形处理器的多端口纹理Cache的设计", 《微电子学与计算机》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648547A (zh) * | 2016-12-12 | 2017-05-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu图形状态参数的分布式统一管理方法 |
CN109615685A (zh) * | 2018-11-14 | 2019-04-12 | 西安翔腾微电子科技有限公司 | 基于uml面向gpu纹理贴图的硬件视图模型及纹理执行方法 |
CN109615685B (zh) * | 2018-11-14 | 2023-04-28 | 西安翔腾微电子科技有限公司 | 基于uml面向gpu纹理贴图的硬件视图模型的纹理执行装置及方法 |
CN109598077A (zh) * | 2018-12-11 | 2019-04-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于gpu芯片的图形管线装置及建模方法 |
CN110942417A (zh) * | 2019-11-18 | 2020-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu纹素取值方法 |
CN111028130A (zh) * | 2019-11-18 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件纹素取值方法的tlm微结构 |
CN111028130B (zh) * | 2019-11-18 | 2022-12-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件纹素取值方法的tlm微结构 |
CN110942417B (zh) * | 2019-11-18 | 2023-06-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu纹素取值方法 |
WO2022116012A1 (zh) * | 2020-12-01 | 2022-06-09 | 华为技术有限公司 | 一种纹理处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105574808B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574808A (zh) | 一种流水线纹理贴图单元体系结构 | |
US10733691B2 (en) | Fragment shaders perform vertex shader computations | |
US10102603B2 (en) | Scheme for compressing vertex shader output parameters | |
US9779536B2 (en) | Graphics processing | |
US20200387350A1 (en) | Dot product calculators and methods of operating the same | |
US8035646B2 (en) | Systems and methods for downloading algorithmic elements to a coprocessor and corresponding techniques | |
CN107315779A (zh) | 日志分析方法和系统 | |
KR102048885B1 (ko) | 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법 | |
CN106683171A (zh) | 一种GPU多线程纹理映射SystemC建模结构 | |
CN101017566A (zh) | 用于几何图形处理的系统与方法 | |
JP2017534976A (ja) | 内積ベースの固定関数論理を使用したレイ−ボックス交差テスト | |
CN104503950A (zh) | 一种面向OpenGL API的图形处理器 | |
US9449419B2 (en) | Post tessellation edge cache | |
CN109598077A (zh) | 一种基于gpu芯片的图形管线装置及建模方法 | |
US9852539B2 (en) | Single pass surface splatting | |
CN102929621B (zh) | 重迭物件的绘制方法及装置 | |
CA2855429A1 (en) | Techniques for spatially sorting graphics information | |
CN103593822B (zh) | 对数据图像进行磨砂特效处理的方法和装置 | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
CN114359454A (zh) | 一种图形绘制设备、方法及装置 | |
CN108182656B (zh) | 一种图像处理方法及终端 | |
CN108062793B (zh) | 基于高程的物体顶部处理方法、装置、设备和存储介质 | |
US20150042656A1 (en) | Apparatus and method for processing image | |
US9449420B2 (en) | Reducing the domain shader/tessellator invocations | |
Bandi et al. | Fast computation of spatial selections and joins using graphics hardware |
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 |