CN110930493A - 一种gpu纹素并行获取方法 - Google Patents

一种gpu纹素并行获取方法 Download PDF

Info

Publication number
CN110930493A
CN110930493A CN201911147122.2A CN201911147122A CN110930493A CN 110930493 A CN110930493 A CN 110930493A CN 201911147122 A CN201911147122 A CN 201911147122A CN 110930493 A CN110930493 A CN 110930493A
Authority
CN
China
Prior art keywords
texture
unit
texel
cache
gpu
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.)
Pending
Application number
CN201911147122.2A
Other languages
English (en)
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 CN201911147122.2A priority Critical patent/CN110930493A/zh
Publication of CN110930493A publication Critical patent/CN110930493A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

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

Abstract

本发明涉及计算机硬件技术领域,具体涉及GPU的纹理采样,尤其涉及一种GPU纹素并行获取方法,将纹理过滤单元中的采样单元功能设置于DDR控制器内部,由DDR控制器内部实现纹素过滤,并将过滤后的纹素通过纹理Cache单元返回给统一染色阵列单元,在Cache缺失时触发进行纹理过滤电路工作。该方法可以减少纹理访问的存储带宽需求,增加纹理Cache的利用率,只有Cache缺失时才触发进行纹理采样电路工作,降低了系统功耗。

Description

一种GPU纹素并行获取方法
技术领域
本发明涉及计算机硬件技术领域,具体涉及GPU的纹理采样,尤其涉及一种GPU纹素并行获取方法。
背景技术
3D图形绘制的纹理映射功能存在大量需要被贴图的片段,每个片段的纹理过滤时会发出多个纹理存储器访问请求,纹理存储器需要为纹理过滤单元提供“高带宽、低延迟”的纹理数据,而3D图形绘制中大量的纹理数据需要存储在片外的DDR存储器上,一般采用纹理Cache和纹理压缩等方式降低纹素数据的带宽占用。
传统的纹理贴图过程是首先由纹理采样单元计算纹素地址,并将纹素地址发送给纹理Cache单元,然后由纹理Cache单元负责从DDR控制器中获取并返回多个纹素后送给纹理过滤单元,最后由纹素过滤单元按照采样模式进行纹素过滤后送给统一染色阵列单元进行染色。传统的纹理贴图过程从Cache系统获取的是纹素的原始值,这对Cache系统带来了极大的带宽压力;以双线性过滤为例,每个贴图像素点需要获取4个纹素值,由这4个纹素值进行过滤后生成该像素点使用的纹素值。这样Cache系统和DDR需要必须提供4倍于像素点的带宽。而实际最终送给统一着色阵列进行着色的仍然只有1个像素值,在一些资源有限但对性能要求很高的嵌入式应用中,这种存储带宽的问题会导致系统性能极大下降。
发明内容
为了解决上述缺陷,本发明描述了一种GPU纹素并行获取方法及电路,减少纹理访问的存储带宽需求,增加纹理Cache的利用率,降低了系统功耗。
本发明的具体技术方案为:
本发明提出一种GPU纹素并行获取方法,该方法为:将纹理过滤单元中的采样单元功能设置于DDR控制器内部,由DDR控制器内部实现纹素过滤,并将过滤后的纹素通过纹理Cache单元返回给统一染色阵列单元,在Cache缺失时触发进行纹理过滤电路工作。
为了减少纹理访问的存储带宽需求,增加纹理Cache的利用率并降低系统功耗,所述方法通过GPU纹素并行获取电路实现,所述GPU纹素并行获取电路包括纹理采样单元、纹理Cache单元、纹理数据存储DDR及其控制器单元和统一染色阵列单元;所述纹理采样单元、纹理Cache单元和统一染色阵列单元依次连接,所述纹理数据存储DDR及其控制器单元连接至纹理Cache单元;
所述纹理采样单元用于纹理参数获取和纹理地址计算;
所述纹理Cache单元用于从DDR中获取纹素数据;
所述纹理数据存储DDR及其控制器单元用于存储纹素数据,并实现纹素内部过滤;
所述统一染色阵列单元用于纹素贴图操作。
进一步限定,所述纹理采样单元用于执行纹理参数和纹素地址计算,并将计算后的纹素地址发送给纹理Cache单元;
为了提高总体带宽和吞吐率、减少延迟、增强并发性并使其适用于多纹理流水线的处理,所述纹理Cache单元用于接收纹理采样单元送来的纹素地址,获取纹素数据并返回给统一染色阵列单元;纹理Cache单元内部集成一级Cache和二级Cache,一级Cache根据纹理需求划分为多个子Cache;一级Cache采用多Bank、多端口、非阻塞和流水线设计,同时为多个并发的纹理流水线提供多组纹理数据;二级Cache采用流水线设计,内部采用压缩存储。
进一步限定:所述纹理数据存储DDR及其控制器单元内置有纹理比较单元和纹素过滤单元;
所述纹理数据存储DDR及其控制器单元用于完成DDR存储器的访问控制并将过滤后的纹素通过Cache系统返回给纹理采样单元。
进一步限定:所述统一染色阵列单元用于接收来自纹理Cache单元的过滤后的纹素并进行纹理着色处理。
发明优点
所述GPU纹素并行获取方法及电路,将纹素过滤单元设计在DDR控制器内部,这样由DDR控制器输出的纹素数量保持与像素点一致,减少了总线上纹素数据的传输带宽。纹理Cache单元存储过滤后的纹素,使得其有效容量得到增加。如果纹理Cache命中,那么不进行DDR访问,也不进行纹素过滤,减少了纹素过滤单元的带宽压力,降低了系统功耗。
附图说明
图1是本发明中一种GPU纹素并行获取方法的实现电路结构图;
其中:1、纹理采样单元;2、纹理Cache单元;3、纹理数据存储DDR及其控制器单元;4、统一染色阵列单元。
具体实施方式
下面结合说明书附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的一个实施例中提出一种GPU纹素并行获取方法,该方法为:将纹理过滤单元中的采样单元功能设置于DDR控制器内部,由DDR控制器内部实现纹素过滤,并将过滤后的纹素通过纹理Cache单元返回给统一染色阵列单元,在Cache缺失时触发进行纹理过滤电路工作。
在一个实施例中,如图1所示,为了减少纹理访问的存储带宽需求,增加纹理Cache的利用率并降低系统功耗,一种GPU纹素并行获取方法通过GPU纹素并行获取电路实现,GPU纹素并行获取电路包括纹理采样单元1、纹理Cache单元2、纹理数据存储DDR及其控制器单元3和统一染色阵列单元4;纹理采样单元1、纹理Cache单元2和统一染色阵列单元4依次连接,纹理数据存储DDR及其控制器单元3连接至纹理Cache单元2;
纹理采样单元1用于纹理参数获取和纹理地址计算;
纹理Cache单元2用于从DDR中获取纹素数据;
纹理数据存储DDR及其控制器单元3用于存储纹素数据,并实现纹素内部过滤;
统一染色阵列单元4用于纹素贴图操作。
在一个实施例中,纹理采样单元1用于执行纹理参数和纹素地址计算,并将计算后的纹素地址发送给纹理Cache单元2;
在一个实施例中,为了提高总体带宽和吞吐率、减少延迟、增强并发性并使其适用于多纹理流水线的处理,纹理Cache单元2用于接收纹理采样单元1送来的纹素地址,获取纹素数据并返回给统一染色阵列单元4;纹理Cache单元内部集成一级Cache和二级Cache,一级Cache根据纹理需求划分为多个子Cache;一级Cache采用多Bank、多端口、非阻塞和流水线设计,同时为多个并发的纹理流水线提供多组纹理数据;二级Cache采用流水线设计,内部采用压缩存储。
在一个实施例中,纹理数据存储DDR及其控制器单元3内置有纹理比较单元和纹素过滤单元;
纹理数据存储DDR及其控制器单元3用于完成DDR存储器的访问控制并将过滤后的纹素通过Cache系统返回给纹理采样单元。
在一个实施例中,统一染色阵列单元4用于接收来自纹理Cache单元2的过滤后的纹素并进行纹理着色处理。
下面以双线性过滤为例对本发明进行整体说明。
如图1所示,一种GPU纹素并型获取方法及电路,以双线性过滤为例,纹理贴图开启时,纹理采样单元1首先按原查询纹理参数获取到当前纹理贴图所需使用的参数,贴图的过滤模式,并将过滤模式通知纹理数据存储DDR及其控制器单元3;然后纹理采样单元1发送纹素访问请求到纹理Cache单元2,如果命中则Cache为每个纹素访问请求返回一个过滤后的纹素到统一染色阵列单元4;如果Cache发生缺失,则由纹理数据存储DDR及其控制器单元3从DDR中读取过滤前的纹素双线性过滤为每个像素4个纹素值,然后在纹理数据存储DDR及其控制器单元3内部根据之前纹理采样单元1配置的过滤模式进行过滤,将过滤后的纹素值送给纹理Cache单元2,最后由纹理Cache单元2将纹素发送到统一染色阵列单元4。
本发明在纹理数据存储DDR及其控制器单元3内部实现纹素的过滤,并在Cache中保存过滤后的点;纹理采样阵列访问Cache时如果命中则直接使用过滤后的纹素,如果缺失,则由Cache启动纹理数据存储DDR及其控制器单元3访问,并获取4个纹素,在纹理数据存储DDR及其控制器单元3内部进行纹素合并后存储到纹理Cache中。Cache中存储了过滤后的纹素,可以极大降低系统的带宽需求,提高Cache的命中率。只有Cache缺失时才触发进行纹理过滤电路工作,降低了系统功耗。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种GPU纹素并行获取方法,其特征在于:将纹理过滤单元中的采样单元功能设置于DDR控制器内部,由DDR控制器内部实现纹素过滤,并将过滤后的纹素通过纹理Cache单元返回给统一染色阵列单元,在Cache缺失时触发进行纹理过滤电路工作。
2.根据权利要求1所述的一种GPU纹素并行获取方法,其特征在于:所述方法通过GPU纹素并行获取电路实现,所述GPU纹素并行获取电路包括纹理采样单元(1)、纹理Cache单元(2)、纹理数据存储DDR及其控制器单元(3)和统一染色阵列单元(4);所述纹理采样单元(1)、纹理Cache单元(2)和统一染色阵列单元(4)依次连接,所述纹理数据存储DDR及其控制器单元(3)连接至纹理Cache单元(2);
所述纹理采样单元(1)用于纹理参数获取和纹理地址计算;
所述纹理Cache单元(2)用于从DDR中获取纹素数据;
所述纹理数据存储DDR及其控制器单元(3)用于存储纹素数据,并实现纹素内部过滤;
所述统一染色阵列单元(4)用于纹素贴图操作。
3.根据权利要求2所述的一种GPU纹素并行获取方法,其特征在于:所述纹理采样单元(1)用于执行纹理参数和纹素地址计算,并将计算后的纹素地址发送给纹理Cache单元(2)。
4.根据权利要求2所述的一种GPU纹素并行获取方法,其特征在于:
所述纹理Cache单元(2)用于接收纹理采样单元(1)送来的纹素地址,获取纹素数据并返回给统一染色阵列单元(4);纹理Cache单元内部集成一级Cache和二级Cache,一级Cache根据纹理需求划分为多个子Cache;一级Cache采用多Bank、多端口、非阻塞和流水线设计,同时为多个并发的纹理流水线提供多组纹理数据;二级Cache采用流水线设计,内部采用压缩存储。
5.根据权利要求2所述的一种GPU纹素并行获取方法,其特征在于:
所述纹理数据存储DDR及其控制器单元(3)内置有纹理比较单元和纹素过滤单元;
所述纹理数据存储DDR及其控制器单元(3)用于完成DDR存储器的访问控制并将过滤后的纹素通过Cache系统返回给纹理采样单元。
6.根据权利要求2所述的一种GPU纹素并行获取方法,其特征在于:所述统一染色阵列单元(4)用于接收来自纹理Cache单元(2)的过滤后的纹素并进行纹理着色处理。
CN201911147122.2A 2019-11-21 2019-11-21 一种gpu纹素并行获取方法 Pending CN110930493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911147122.2A CN110930493A (zh) 2019-11-21 2019-11-21 一种gpu纹素并行获取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911147122.2A CN110930493A (zh) 2019-11-21 2019-11-21 一种gpu纹素并行获取方法

Publications (1)

Publication Number Publication Date
CN110930493A true CN110930493A (zh) 2020-03-27

Family

ID=69851452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911147122.2A Pending CN110930493A (zh) 2019-11-21 2019-11-21 一种gpu纹素并行获取方法

Country Status (1)

Country Link
CN (1) CN110930493A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987567A (en) * 1996-09-30 1999-11-16 Apple Computer, Inc. System and method for caching texture map information
US20090147017A1 (en) * 2007-12-06 2009-06-11 Via Technologies, Inc. Shader Processing Systems and Methods
WO2009145918A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Scalable and unified compute system
US20160078666A1 (en) * 2014-09-16 2016-03-17 Samsung Electronics Co., Ltd. Method and apparatus for processing texture
CN105550979A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种高数据通量纹理Cache层次结构

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987567A (en) * 1996-09-30 1999-11-16 Apple Computer, Inc. System and method for caching texture map information
US20090147017A1 (en) * 2007-12-06 2009-06-11 Via Technologies, Inc. Shader Processing Systems and Methods
WO2009145918A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Scalable and unified compute system
US20160078666A1 (en) * 2014-09-16 2016-03-17 Samsung Electronics Co., Ltd. Method and apparatus for processing texture
CN105550979A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种高数据通量纹理Cache层次结构

Similar Documents

Publication Publication Date Title
US20210158068A1 (en) Operation Circuit of Convolutional Neural Network
US11349639B2 (en) Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms
CN103544269B (zh) 目录的存储方法、查询方法及节点控制器
US7880745B2 (en) Systems and methods for border color handling in a graphics processing unit
CN112506823B (zh) 一种fpga数据读写方法、装置、设备及可读存储介质
CN111858396B (zh) 一种存储器自适应地址映射方法及系统
US20170004069A1 (en) Dynamic memory expansion by data compression
Fukuda et al. Caching memcached at reconfigurable network interface
CN114860785A (zh) 缓存数据处理系统、方法、计算机设备和存储介质
EP1721298A2 (en) Embedded system with 3d graphics core and local pixel buffer
CN107153617A (zh) 用于利用缓冲器高效访问纹理数据的高速缓存体系结构
CN103760525A (zh) 一种补齐式原地矩阵转置方法
CN111310115B (zh) 数据处理方法、装置及芯片、电子设备、存储介质
CN116501249A (zh) 一种减少gpu内存重复数据读写的方法及相关设备
US10726607B1 (en) Data processing systems
CN109359729A (zh) 一种在fpga上实现缓存数据的系统及方法
CN116227599A (zh) 一种推理模型的优化方法、装置、电子设备及存储介质
CN104808950B (zh) 对嵌入式存储器元件的模式依赖性访问
CN105550979A (zh) 一种高数据通量纹理Cache层次结构
US9261946B2 (en) Energy optimized cache memory architecture exploiting spatial locality
CN110930493A (zh) 一种gpu纹素并行获取方法
CN112734897A (zh) 一种图元光栅化触发的图形处理器深度数据预取方法
CN117215491A (zh) 一种快速数据访问方法、快速数据访问装置及光模块
Geethakumari et al. Streamzip: Compressed sliding-windows for stream aggregation
CN105069084A (zh) 一种面向海量数据高效取差集的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200327