CN110930493A - 一种gpu纹素并行获取方法 - Google Patents
一种gpu纹素并行获取方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000005070 sampling Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000001914 filtration Methods 0.000 claims description 30
- 238000013500 data storage Methods 0.000 claims description 22
- 238000004043 dyeing Methods 0.000 claims description 19
- 238000013461 design Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000004040 coloring Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000012634 fragment Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture 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纹素并行获取方法。
背景技术
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)的过滤后的纹素并进行纹理着色处理。
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)
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层次结构 |
-
2019
- 2019-11-21 CN CN201911147122.2A patent/CN110930493A/zh active Pending
Patent Citations (5)
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 |