CN108510430A - 基于分块渲染的gpu中一种资源共享的实现方法 - Google Patents
基于分块渲染的gpu中一种资源共享的实现方法 Download PDFInfo
- Publication number
- CN108510430A CN108510430A CN201810258119.7A CN201810258119A CN108510430A CN 108510430 A CN108510430 A CN 108510430A CN 201810258119 A CN201810258119 A CN 201810258119A CN 108510430 A CN108510430 A CN 108510430A
- Authority
- CN
- China
- Prior art keywords
- piecemeal
- shared resource
- frame
- resource pond
- ram
- 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
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000009466 transformation Effects 0.000 claims abstract description 5
- 238000000889 atomisation Methods 0.000 claims abstract description 4
- 238000005286 illumination Methods 0.000 claims abstract description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 3
- 238000005520 cutting process Methods 0.000 abstract 1
- 238000009877 rendering Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明公开了基于分块渲染的GPU中一种资源共享的实现方法,该实现方法将基于分块渲染的GPU分成PART A、PART B和共享资源池三个部分,PART A包含几何变换、光照、雾化、裁剪和图元分块模块,PART B包含多条光栅化和片段处理流水线,共享资源池包含了PART A和PART B所有的运算器和RAM;基于分块渲染的GPU设计基本思想是先对各个图元进行分块,将分块数据写入存储器,全部图元分块完成后再执行光栅化操作,由于分块及之前操作与光栅化操作分时执行,因此采用本发明方法可以实现运算器和RAM资源的共享,减小实现的GPU的面积。
Description
技术领域
本发明主要涉及到GPU芯片设计领域,特指基于分块渲染的GPU实现领域。
背景技术
从目前国际主流的GPU产品来看,主要存在两种类型的架构:立即渲染和分块渲染,立即渲染是传统GPU采用最多的一种架构,每一个待绘制的图元都需要立即经过所有的绘图流水线,GPU在执行绘图处理时,需要存储所有的颜色、深度、纹理和模板数据在系统存储器中,在深度测试(消隐)阶段需要读取深度缓冲中的内容,与像素深度值进行比较之后再写入深度缓冲区,同样的情况也出现在像素融合阶段,而纹理贴图阶段也需要从系统存储器中读取纹理数据,这些读改写和只读操作对系统存储器的带宽要求非常高,对于复杂场景的渲染而言,存储器的带宽是影响GPU性能的最主要因素,同时由于频繁的访问系统存储器,将会极大地增加功耗。
在分块渲染架构中,光栅化是在每一个块上执行的,这是与传统的立即渲染结构的主要区别,为了实现这一目的,所有待绘制的图元经过几何变换和裁剪之后都需要按其所在的块暂存在系统存储器里,一旦一帧的图元都存储完毕,就可以按照块的顺序逐块进行渲染,而传统的针对颜色缓冲区、深度缓冲区和模板缓冲区的读改写操作都可以在一个小的片上存储器上进行而无需重复的访问系统存储器,当一块内的所有图元渲染完成之后,可以将该块的片上存储器的内容一次性的写入存储器(一般只需要写回颜色缓冲区的内容),这种架构可以大大减小访存次数,在提高绘制效率的同时也降低了功耗。
由上面的分块渲染架构可以看出,在渲染每一帧图像时,都需要先将图元分块并存入存储器,所有的图元都完成这个操作之后才开始绘制,在分块及之前的处理过程中,光栅化和渲染部分的流水线是空闲的;同样,在光栅化和渲染部分流水线工作时,分块及之前的处理空闲的,这样导致运算资源和RAM资源得不到充分利用。
发明内容
本发明要解决的问题就在于:针对现有技术存在的缺陷,本发明提供了一种基于分块渲染的GPU中资源共享的实现方法,利用图元分块及之前操作和光栅化操作分时执行的特点,将GPU整个处理分成PART A和PART B两个部分,将两部分运算器和RAM统一放到一个资源共享池中,其中PART A和PART B相同的部分只保留一份,通过增加帧开始和帧结束信号控制共享资源的分配,实现了资源的共享。
发明内容:
本发明公开了基于分块渲染的GPU中一种资源共享的实现方法,其特征为:将基于分块渲染的GPU分成以下部分:
(1)PART A部分:该部分包含了几何变换、光照、雾化、图元装配、裁剪和图元分块模块,这些模块使用运算器和RAM均来自共享资源池,若为运算类操作,则模块将操作数发送给共享资源池,由共享资源池返回结果,若为访问RAM操作,则模块将读地址或写使能、写地址、写数据发送给共享资源池,由共享资源池返回读数据或将数据写入RAM;
(2)PART B部分:该部分包含多条光栅化和片段处理流水线,除了保留一条流水线使用流水线内部运算器和RAM外,其余流水线使用的运算器和RAM均来自于共享资源池,保留一条不共享是为了保证当出现分块数据存满指定存储器空间时,需要先将该块绘制出去,而此时当前帧的图元还没有完成分块操作;
(3)共享资源池:该部分包含了PART A全部和PART B除不允许共享的一条流水线外的所有运算器和RAM,以及一个访问控制模块,将PART A和PART B允许共享的运算器重复的部分保留一份,不重复部分不受访问控制模块控制;其中的访问控制模块负责处理PART A和PART B的访问请求,其控制方法为:
1)对绘制的每一帧图形增加帧开始和帧结束的配置信息,当前帧的第一条命令即为帧开始配置,当前帧的最后一条命令为帧结束配置;
2)当共享资源池接收到帧开始命令时,将访问权分给PART A,内部的所有资源归PARTA使用;当共享资源池接收到帧结束命令时,将访问权分给PART B,内部所有资源归PART B使用;
3)当前帧绘制完毕,下一帧开始时重复1)~2)的操作;
与现有技术相比,本发明的优点就在于:1、节省逻辑资源,进而节省芯片面积:本发明提出资源共享方法可以将分块前和分块后两个部分都会用到的运算器和RAM资源减掉一份;2、实现简便:仅增加了帧开始和帧结束的信号控制共享资源的分配。
附图说明
图1是本发明提出的基于分块渲染的GPU中一种资源共享的实现方法结构示意图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,基于分块渲染的GPU中一种资源共享的实现方法,将基于分块渲染的GPU设计成PART A、PART B和共享资源池三个部分,基于分块渲染的GPU设计基本思想是先对各个图元进行分块,将分块数据写入存储器,全部图元分块完成后再执行光栅化操作,由于分块及之前操作与光栅化操作分时执行,因此可以实现运算和RAM资源的共享,本发明的实现方法是将基于分块渲染的GPU分成以下部分:
(1)PART A部分:该部分包含了几何变换、光照、雾化、图元装配、裁剪和图元分块模块,这些模块使用运算器和RAM均来自共享资源池,若为运算类操作,则模块将操作数发送给共享资源池,由共享资源池返回结果,若为访问RAM操作,则模块将读地址或写使能、写地址、写数据发送给共享资源池,由共享资源池返回读数据或将数据写入RAM;
(2)PART B部分:该部分包含多条光栅化和片段处理流水线,除了保留一条流水线使用流水线内部运算器和RAM外,其余流水线使用的运算器和RAM均来自于共享资源池,保留一条不共享是为了保证当出现分块数据存满指定存储器空间时,需要先将该块绘制出去,而此时当前帧的图元还没有完成分块操作;
(3)共享资源池:该部分包含了PART A全部和PART B除不允许共享的一条流水线外的所有运算器和RAM,以及一个访问控制模块,将PART A和PART B允许共享的运算器重复的部分保留一份,不重复部分不受访问控制模块控制;其中的访问控制模块负责处理PART A和PART B的访问请求,其控制方法为:
1)对绘制的每一帧图形增加帧开始和帧结束的配置信息,当前帧的第一条命令即为帧开始配置,当前帧的最后一条命令为帧结束配置;
2)当共享资源池接收到帧开始命令时,将访问权分给PART A,内部的所有资源归PARTA使用;当共享资源池接收到帧结束命令时,将访问权分给PART B,内部所有资源归PART B使用;
3)当前帧绘制完毕,下一帧开始时重复1)~2)的操作。
Claims (1)
1.基于分块渲染的GPU中一种资源共享的实现方法,其特征为:将基于分块渲染的GPU分成以下部分:
(1)PART A部分:该部分包含了几何变换、光照、雾化、图元装配、裁剪和图元分块模块,这些模块使用运算器和RAM均来自共享资源池,若为运算类操作,则模块将操作数发送给共享资源池,由共享资源池返回结果,若为访问RAM操作,则模块将读地址或写使能、写地址、写数据发送给共享资源池,由共享资源池返回读数据或将数据写入RAM;
(2)PART B部分:该部分包含多条光栅化和片段处理流水线,除了保留一条流水线使用流水线内部运算器和RAM外,其余流水线使用的运算器和RAM均来自于共享资源池,保留一条流水线不共享是为了保证当出现分块数据存满指定存储器空间时,需要先将该块绘制出去,而此时当前帧的图元还没有完成分块操作;
(3)共享资源池:该部分包含了PART A全部和PART B除不允许共享的一条流水线外的所有运算器和RAM,以及一个访问控制模块,将PART A和PART B允许共享的运算器重复的部分保留一份,不重复部分不受访问控制模块控制;其中的访问控制模块负责处理PART A和PART B对共享资源池的访问请求,其控制方法为:
1)对绘制的每一帧图形增加帧开始和帧结束的配置信息,当前帧的第一条命令即为帧开始配置命令,当前帧的最后一条命令为帧结束配置命令;
2)当共享资源池接收到帧开始命令时,将访问权分给PART A,内部的所有资源归PARTA使用;当共享资源池接收到帧结束命令时,将访问权分给PART B,内部所有资源归PART B使用;
3)当前帧绘制完毕,下一帧开始时重复1)~2)的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810258119.7A CN108510430B (zh) | 2018-03-27 | 基于分块渲染的gpu中一种资源共享的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810258119.7A CN108510430B (zh) | 2018-03-27 | 基于分块渲染的gpu中一种资源共享的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108510430A true CN108510430A (zh) | 2018-09-07 |
CN108510430B CN108510430B (zh) | 2024-07-12 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223369A (zh) * | 2019-06-06 | 2019-09-10 | 西安博图希电子科技有限公司 | Tbr架构的帧缓存写回方法、装置及计算机存储介质 |
CN110442389A (zh) * | 2019-08-07 | 2019-11-12 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096935A (zh) * | 2011-03-17 | 2011-06-15 | 长沙景嘉微电子有限公司 | 基于分块渲染的gpu中反走样线段的生成 |
US20120293515A1 (en) * | 2011-05-18 | 2012-11-22 | Clarberg Franz P | Rendering Tessellated Geometry With Motion and Defocus Blur |
CN102819820A (zh) * | 2012-08-14 | 2012-12-12 | 长沙景嘉微电子股份有限公司 | 基于分块渲染的gpu中多管线渲染的实现方法 |
US20130215115A1 (en) * | 2010-06-30 | 2013-08-22 | Barry Lynn Jenkins | Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data |
CN104183005A (zh) * | 2013-05-24 | 2014-12-03 | 三星电子株式会社 | 图形处理单元和基于图块的渲染方法 |
US20150187117A1 (en) * | 2013-12-27 | 2015-07-02 | Qualcomm Incorporated | Optimized multi-pass rendering on tiled base architectures |
CN106204519A (zh) * | 2014-07-03 | 2016-12-07 | 联发科技股份有限公司 | 一种控制早期深度处理和后期深度处理的装置和方法 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130215115A1 (en) * | 2010-06-30 | 2013-08-22 | Barry Lynn Jenkins | Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data |
CN102096935A (zh) * | 2011-03-17 | 2011-06-15 | 长沙景嘉微电子有限公司 | 基于分块渲染的gpu中反走样线段的生成 |
US20120293515A1 (en) * | 2011-05-18 | 2012-11-22 | Clarberg Franz P | Rendering Tessellated Geometry With Motion and Defocus Blur |
CN102819820A (zh) * | 2012-08-14 | 2012-12-12 | 长沙景嘉微电子股份有限公司 | 基于分块渲染的gpu中多管线渲染的实现方法 |
CN104183005A (zh) * | 2013-05-24 | 2014-12-03 | 三星电子株式会社 | 图形处理单元和基于图块的渲染方法 |
US20150187117A1 (en) * | 2013-12-27 | 2015-07-02 | Qualcomm Incorporated | Optimized multi-pass rendering on tiled base architectures |
CN106204519A (zh) * | 2014-07-03 | 2016-12-07 | 联发科技股份有限公司 | 一种控制早期深度处理和后期深度处理的装置和方法 |
Non-Patent Citations (1)
Title |
---|
王志方: "嵌入式GPU中图元光栅化的设计与实现", 《中国优秀硕士全文数据库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223369A (zh) * | 2019-06-06 | 2019-09-10 | 西安博图希电子科技有限公司 | Tbr架构的帧缓存写回方法、装置及计算机存储介质 |
CN110442389A (zh) * | 2019-08-07 | 2019-11-12 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
CN110442389B (zh) * | 2019-08-07 | 2024-01-09 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9514563B2 (en) | Graphics processing systems | |
US10402934B2 (en) | System for optimizing graphics operations | |
CN101371247B (zh) | 用于图形处理器的并行阵列结构 | |
US7231632B2 (en) | System for reducing the number of programs necessary to render an image | |
US9767595B2 (en) | Graphics processing systems | |
EP2596491B1 (en) | Displaying compressed supertile images | |
EP1921584A2 (en) | Graphics processing apparatus, graphics library module, and graphics processing method | |
US9087410B2 (en) | Rendering graphics data using visibility information | |
EP1921583A2 (en) | Graphics processing apparatus | |
US20110074810A1 (en) | System for Emulating Graphics Operations | |
US20050231502A1 (en) | High-level program interface for graphics operations | |
US8130223B1 (en) | System and method for structuring an A-buffer to support multi-sample anti-aliasing | |
US20140327684A1 (en) | Graphics processing systems | |
CN110415161A (zh) | 图形处理方法、装置、设备及存储介质 | |
CN110223216B (zh) | 一种基于并行plb的数据处理方法、装置及计算机存储介质 | |
CN103003839A (zh) | 反锯齿样本的拆分存储 | |
JPH06175646A (ja) | グラフィックス・システム用フレーム・バッファおよびラスタ・プロセッサならびにピクセル変数のバッファリング方法 | |
AU2013273768A1 (en) | Parallel rendering of region-based graphics representations | |
CN105550978A (zh) | 一种面向统一染色架构的gpu3d引擎片上存储层次结构 | |
US8040349B1 (en) | System and method for structuring an A-buffer | |
US8026912B1 (en) | System and method for structuring an A-buffer | |
US8355580B2 (en) | Method and system for generating boundary in the process of rasterizing vector graphic as well as method for producing the system | |
JPH08249502A (ja) | 補助バッファ情報を用いる改良型グラフィクス・ピッキング方法及び装置 | |
CN101216932A (zh) | 图形处理装置、单元与执行三角形配置、属性配置的方法 | |
CN102982503B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180907 |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
CI02 | Correction of invention patent application |
Correction item: deemed withdrawal of application for invention after its publication Correct: Revocation of an invention patent application after publication shall be deemed as revocation False: After the publication of an invention patent application, it shall be deemed withdrawn Number: 50-02 Volume: 39 |
|
GR01 | Patent grant |