CN108510430A - 基于分块渲染的gpu中一种资源共享的实现方法 - Google Patents

基于分块渲染的gpu中一种资源共享的实现方法 Download PDF

Info

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
Application number
CN201810258119.7A
Other languages
English (en)
Other versions
CN108510430B (zh
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.)
CHANGSHA JINGJIA MICROELECTRONIC Co Ltd
Original Assignee
CHANGSHA JINGJIA MICROELECTRONIC Co Ltd
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 CHANGSHA JINGJIA MICROELECTRONIC Co Ltd filed Critical CHANGSHA JINGJIA MICROELECTRONIC Co Ltd
Priority to CN201810258119.7A priority Critical patent/CN108510430B/zh
Priority claimed from CN201810258119.7A external-priority patent/CN108510430B/zh
Publication of CN108510430A publication Critical patent/CN108510430A/zh
Application granted granted Critical
Publication of CN108510430B publication Critical patent/CN108510430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing 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在执行绘图处理时,需要存储所有的颜色、深度、纹理和模板数据在系统存储器中,在深度测试(消隐)阶段需要读取深度缓冲中的内容,与像素深度值进行比较之后再写入深度缓冲区,同样的情况也出现在像素融合阶段,而纹理贴图阶段也需要从系统存储器中读取纹理数据,这些读改写和只读操作对系统存储器的带宽要求非常高,对于复杂场景的渲染而言,存储器的带宽是影响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)的操作。
CN201810258119.7A 2018-03-27 基于分块渲染的gpu中一种资源共享的实现方法 Active CN108510430B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
王志方: "嵌入式GPU中图元光栅化的设计与实现", 《中国优秀硕士全文数据库》 *

Cited By (3)

* Cited by examiner, † Cited by third party
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