CN109191362B - 多个rop的并行调度方法 - Google Patents

多个rop的并行调度方法 Download PDF

Info

Publication number
CN109191362B
CN109191362B CN201810852905.XA CN201810852905A CN109191362B CN 109191362 B CN109191362 B CN 109191362B CN 201810852905 A CN201810852905 A CN 201810852905A CN 109191362 B CN109191362 B CN 109191362B
Authority
CN
China
Prior art keywords
rop
data
rops
test
pixel data
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.)
Active
Application number
CN201810852905.XA
Other languages
English (en)
Other versions
CN109191362A (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.)
Nanjing Junwei Semiconductor Technology Co ltd
Original Assignee
Nanjing Junwei Semiconductor Technology 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 Nanjing Junwei Semiconductor Technology Co ltd filed Critical Nanjing Junwei Semiconductor Technology Co ltd
Priority to CN201810852905.XA priority Critical patent/CN109191362B/zh
Publication of CN109191362A publication Critical patent/CN109191362A/zh
Application granted granted Critical
Publication of CN109191362B publication Critical patent/CN109191362B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种多个ROP的并行调度以及ROP的流水设计。ROP包括命令解析、缓冲区清除、片段测试、混合、逻辑操作、屏蔽缓冲区等操作。经ROP处理后的像素、深度、模板等数据写入到指定的帧缓存中,由于需要频繁操作帧缓冲区中的数据,ROP与帧缓冲区之间有对应的Cache;在该设计中采用统一染色器,染色后的顶点数据与像素数据送给ROP,ROP内部进行仲裁,将顶点数据Bypass传给顶点Cache,像素数据送给ROP进行处理。而需要执行的OpenGL命令是由前端命令处理单元FEP下发,GPU图形图像管线中各个模块状态信息也是由FEP统一管理。FEP通过查询状态信息来决定是否给相应的模块下发命令。本发明结构简单,模块划分明确,处理速度快,根据设计要求支持任意多个ROP单元的扩展。

Description

多个ROP的并行调度方法
技术领域
本发明涉及的是图形运算技术领域,具体涉及一种多个ROP的并行调度方法。
背景技术
与GPU(Graphics Processing Unit)相关的发明专利主要集中在统一染色技术的GPU体系架构描述上,对实现OpenGL所规定的片段操作ROP做有简单介绍,但没有ROP的具体硬件设计与加速实现的方法。
在整个GPU图形图像处理管线中,每个ROP处理的像素信息是根据屏幕扫描行来区分,ROP阵列间不会存在像素数据处理冲突的问题。但由于需要并行调度ROP单元,利用率需要提高,所以增加了在并行调度过程中硬件电路设计的复杂度。
综上所述,本发明设计了一种多个ROP的并行调度方法。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种多个ROP的并行调度以及ROP的流水设计,单个ROP的像素处理过程是流水线pipeline处理机制。多个ROP是并行处理,并且每个ROP处理单独一个扫描行,ROP间不存在像素数据之间的冲突,不需要处理Cache访问一致性的问题,并且支持任意可扩展性。
为了实现上述目的,本发明是通过如下的技术方案来实现:多个ROP的并行调度以及ROP的流水结构,包括指令解析、屏幕清除、片段测试以及片段操作和Cache控制,经ROP处理后的像素、深度、模板等数据写入到指定的帧缓冲中。多个ROP的并行调度控制方法,包括四个功能完全独立的CCU,CCU根据ROP的工作状态也就是空闲状态决定是否下发数据,ROP处于空闲状态CCU即可下发数据,并且要确保同一行的像素数据下发给同一个ROP进行处理。如果当前行像素数据处理完成即可接收另一行的像素数据。这样任意ROP之间像素信息不会发生冲突,当整个电路正常工作时,可同时并行处理8行像素信息。一个CCU对应两个ROP模块,数据通过前置的数据选通模块筛选是像素数据和顶点数据。
单个ROP内部采用流水线的设计方式来实现,流水线按照命令解析、清除帧缓冲区、片段测试(裁剪测试、Alpha测试、模板测试、深度测试)、混合、逻辑操作、mask缓冲区的顺序执行。当不开启任何测试接收到不是清除缓冲区命令的情况下CCU将像素下发给ROP后,ROP按照规定好的流水线处理方式顺序执行,除了混合需要分两次混合之外其他操作一拍就可以完成,处理一个片段需要9拍可完成。当8个ROP满负荷工作时,平均一拍能够处理8/9个像素信息。如需进行某种测试(可同时开启任意几种测试)也是按照流水线的顺序执行,当其中一个测试失败后会立即跳出流水线,准备接收新的像素数据。最快的情况下2拍可处理一个像素,平均一拍可处理4个像素信息。在目前整个系统中,该部分的实现方案能够满足性能要求,并且结构容易扩展。
本发明处理OpenGLx标准图形管线片段操作部分的功能,采用流水结构设计,功能模块划分独立。当开启片段某种操作时,能够保证在一个时钟节拍后输出当前结果,一旦出现某个测试失败,会跳出当前操作,接收新的像素,这样可大大提高数据吞吐率。本发明结构简单,模块划分明确,处理速度快,根据设计要求支持任意多个ROP单元的扩展。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明的ROP数据与指令交互图;
图2为本发明的ROP流水线结构设计图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参照图1-图2,本具体实施方式采用以下技术方案:多个ROP的并行调度以及ROP的流水设计,其中ROP是专门用于完成GPU图形处理器的片段操作部分,是片段写入到帧缓存之前所要进行的最后的操作,用来选择要写入到帧缓存的片段,以及根据条件来修改帧缓存中的数据信息。ROP操作此次电路设计不进行累积操作,累积操作由软件部分完成。经ROP处理后的像素、深度、模板等数据写入到指定的帧缓冲区中。
为了提高数据吞吐量,对并行处理架构来说,单个ROP单元是不足以处理大量的片段数据的,所以多个ROP之间的并行调度同样是本具体实施方式所述之重点部分。多个ROP之间的并行调度是由4个CCU调度,各个CCU的功能完全独立。CCU根据ROP的工作状态也就是空闲状态决定是否下发数据,ROP处于空闲状态CCU即可下发数据,并且要确保同一行的像素数据下发给同一个ROP进行处理。如果当前行像素数据处理完成即可接收另一行的像素数据。这样任意ROP之间像素信息不会发生冲突,当整个电路正常工作时,可同时并行处理8行像素信息。CCU下发数据的方式如图1所示,一个CCU对应两个ROP模块,数据通过前置的数据选通模块筛选是像素数据和顶点数据。
对于单个ROP来讲,ROP内部采用流水线的设计方式来实现,如附图2所示,ROP操作主要包括片段测试、混合、逻辑操作、以及帧缓存清除和屏蔽等,具体功能描述如下:
清除帧缓冲区,包括颜色缓冲区、深度缓冲区、模板缓冲区等;清除操作的执行方式是根据屏蔽信息和基地址,写特定的数据到对应的Cache。
对源片段进行测试,根据测试结果选择写入帧缓存的片段,并修改相应缓冲区的值;
把源片段的R、G、B和alpha值与帧缓存中已经存在的目标像素颜色信息进行混合,产生透明效果;
屏蔽缓冲区,只对相应帧缓冲区的指定位进行写入。
单个ROP按照图2流水线的方式进行处理,将处理后的像素、深度、模板数据写到指定Cache中,像素数据根据约定的ARGB方式将像素写入到像素Cache,深度与模板共用Z_Cache,其中模板数据为高8位,深度数据为低24位。经过前面各级流水线处理,到达ROP的深度数据在[0-1]范围内,通过SystemC建模多次仿真24bit数据可满足电路设计的精度要求。
除了对以上功能进行处理之外,每个ROP还需要计算写入到帧缓存的地址,由于OpenGL指令的坐标系左下角为坐标原点,而显示部分屏幕的扫描的坐标原点为左上角,需要对坐标进行转换,转换公式为(行分辨率-1-pixel_y)*列分辨率+pixel_x,转换成便于硬件电路实现公式为(行分辨率-1)*列分辨率–pixel_y*列分辨率+pixel_x。OpenGL支持多个颜色缓冲区,可以指定将处理后的像素写到任意颜色缓冲区中,该设计最多支持到8个颜色缓冲区。
本具体实施方式涉及OpenGL标准图形管线中片段处理单元ROP以及多个ROP单元的统一调度:对于单个ROP单元,ROP内部采用流水线处理方式,多个ROP单元能够并行工作。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (1)

1.多个ROP的并行调度方法,其特征在于,包括如下步骤:
将ROP操作处理后的像素、深度、模板数据写入到指定的帧缓冲区中,其中所述ROP的操作包括命令解析、缓冲区清除、片段测试、混合、逻辑操作、屏蔽缓冲区;
对每个ROP内部片段测试按照裁剪测试、Alpha测试、模板测试、深度测试的顺序来执行,默认情况不开启任何测试,片段按照流水线的顺序依次处理,一旦某种测试失败将跳出流水线,接收新的片段重新进行处理;
所述多个ROP的并行调度方法还包括四个功能完全独立的簇控制单元CCU,CCU根据ROP的工作状态是否空闲状态决定是否下发数据,ROP处于空闲状态CCU即可下发数据,并且要确保同一行的像素数据下发给同一个ROP进行处理;若当前行像素数据处理完成即可接收新一行的像素数据,任意ROP间像素信息不会发生冲突,当整个电路正常工作时,能够同时并行处理8行像素信息;ROP的调度由CCU决定,一个CCU中的两个GCU处理同一行像素,同一行像素会发给同一个ROP;即一个CCU中的两个GCU对应同一个ROP单元;每个ROP处理的片段不存在数据相关性,8个ROP可同时并行处理8行像素数据;
所述多个ROP的并行调度方法还包括单个ROP流水线处理方法,所述单个ROP流水线处理方法为,
将数据通过前置的数据选通模块筛选像素数据或顶点数据,若为顶点数据则Bypass到顶点Cache,若为像素数据则下发到ROP进行处理;
将处理后的像素、深度、模板数据送给指定的Cache,像素数据根据约定的ARGB方式写入到像素Cache,深度与模板共用同一个Cache与同一个缓冲区,其中模板数据为高8位,深度数据为低24位;
经过前面各级流水线处理,到达ROP的深度数据在[0-1]范围内,通过SystemC建模多次仿真24bit深度数据可满足电路设计的精度要求;
最后将每个ROP计算写入到帧缓存的地址,OpenGL支持多个颜色缓冲区,可指定将处理后的像素写到任意颜色缓冲区中,最多支持8个颜色缓冲区。
CN201810852905.XA 2018-07-30 2018-07-30 多个rop的并行调度方法 Active CN109191362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810852905.XA CN109191362B (zh) 2018-07-30 2018-07-30 多个rop的并行调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810852905.XA CN109191362B (zh) 2018-07-30 2018-07-30 多个rop的并行调度方法

Publications (2)

Publication Number Publication Date
CN109191362A CN109191362A (zh) 2019-01-11
CN109191362B true CN109191362B (zh) 2023-07-18

Family

ID=64937877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810852905.XA Active CN109191362B (zh) 2018-07-30 2018-07-30 多个rop的并行调度方法

Country Status (1)

Country Link
CN (1) CN109191362B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111179151B (zh) * 2020-04-13 2020-07-10 南京芯瞳半导体技术有限公司 一种提高图形渲染效率的方法、装置及计算机存储介质
CN113419913A (zh) * 2021-06-29 2021-09-21 华夏芯(北京)通用处理器技术有限公司 图形片段的后处理方法及装置
CN117237182B (zh) * 2023-11-16 2024-02-13 武汉凌久微电子有限公司 一种基于批量片段处理的rop单元组处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155845A (ja) * 1998-05-29 2000-06-06 Mitsubishi Electronics America Inc 記憶装置、デ―タフォ―マッタ、デ―タにアクセスする方法、デ―タの領域をクリアする方法、デ―タを圧縮する方法、デ―タをフォ―マット化する方法、グラフィックスシステムおよびグラフィックスシステムを動作させる方法
US6222550B1 (en) * 1998-12-17 2001-04-24 Neomagic Corp. Multiple triangle pixel-pipelines with span-range pixel interlock for processing separate non-overlapping triangles for superscalar 3D graphics engine
CN102819820A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 基于分块渲染的gpu中多管线渲染的实现方法
CN104503950A (zh) * 2014-12-09 2015-04-08 中国航空工业集团公司第六三一研究所 一种面向OpenGL API的图形处理器
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构
CN107958437A (zh) * 2017-11-24 2018-04-24 中国航空工业集团公司西安航空计算技术研究所 一种多gpu大分辨率多屏图形分块并行渲染方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155845A (ja) * 1998-05-29 2000-06-06 Mitsubishi Electronics America Inc 記憶装置、デ―タフォ―マッタ、デ―タにアクセスする方法、デ―タの領域をクリアする方法、デ―タを圧縮する方法、デ―タをフォ―マット化する方法、グラフィックスシステムおよびグラフィックスシステムを動作させる方法
US6222550B1 (en) * 1998-12-17 2001-04-24 Neomagic Corp. Multiple triangle pixel-pipelines with span-range pixel interlock for processing separate non-overlapping triangles for superscalar 3D graphics engine
CN102819820A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 基于分块渲染的gpu中多管线渲染的实现方法
CN104503950A (zh) * 2014-12-09 2015-04-08 中国航空工业集团公司第六三一研究所 一种面向OpenGL API的图形处理器
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构
CN107958437A (zh) * 2017-11-24 2018-04-24 中国航空工业集团公司西安航空计算技术研究所 一种多gpu大分辨率多屏图形分块并行渲染方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
图形处理器片段处理单元的设计与实现;田泽等;《计算机应用》;20141215;第357-360页 *

Also Published As

Publication number Publication date
CN109191362A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109191362B (zh) 多个rop的并行调度方法
US8144167B2 (en) Monitoring graphics processing
US9495722B2 (en) Developer controlled layout
US10977037B2 (en) Techniques for comprehensively synchronizing execution threads
TWI437507B (zh) 具有多線程執行單元之繪圖處理裝置及其記憶體存取方法
US20130120410A1 (en) Multi-pass method of generating an image frame of a 3d scene using an object-division based parallel graphics rendering process
US8782611B1 (en) Visual inspection and debugging of threads in parallel computing systems
EP1921584A2 (en) Graphics processing apparatus, graphics library module, and graphics processing method
CN106709860B (zh) 一种gpu统一染色处理阵列的调试结构
US8941669B1 (en) Split push buffer rendering for scalability
US8368704B2 (en) Graphic processor and information processing device
JP2018533137A (ja) ピクセルタイルレベルグラニュラリティをもつグラフィックス処理ユニットプリエンプション
JP2500858B2 (ja) 拡張ラスタ演算回路を有する表示システム
WO1995024032A1 (en) Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern
US6864895B1 (en) Pseudo-linear frame buffer mapping system and method
US20080147993A1 (en) Information Processing Unit, System and Method, and Processor
CN102906723A (zh) 平行同步影像处理系统
US10559055B2 (en) Graphics processing systems
JP2006202211A (ja) 画像描画装置および画像描画方法
JPH0877366A (ja) 画像処理プロセッサ及びそれを用いたデータ処理システム
US9019284B2 (en) Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
US20210294579A1 (en) Graphics pipeline optimizations
CN112581575B (zh) 一种外视频做纹理系统
US20180357743A1 (en) Graphics processing
CN100527162C (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
TA01 Transfer of patent application right

Effective date of registration: 20200608

Address after: 2515, runheng building, CaiTian Road, Fushan community, Futian street, Futian District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Investment rongmai Network Technology Co.,Ltd.

Address before: 213000 No. 181 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province, Science Fusion Development Co., Ltd. 9391

Applicant before: XINSHITU (CHANGZHOU) MICROELECTRONIC Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200709

Address after: 21300 no.g008, 21300 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province

Applicant after: Zhihui microelectronics technology (Changzhou) Co.,Ltd.

Address before: 2515, runheng building, CaiTian Road, Fushan community, Futian street, Futian District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Investment rongmai Network Technology Co.,Ltd.

CB02 Change of applicant information

Address after: 114, Floor 1, Innovation Center, No. 2, Qiande Road, Jiangning District, Nanjing, Jiangsu, 210000

Applicant after: Zhihua microelectronics technology (Nanjing) Co.,Ltd.

Address before: 213 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province

Applicant before: Zhihui microelectronics technology (Changzhou) Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20230317

Address after: Room 502, Building 1, No. 3, Lianyu Road, Jiangning District, Nanjing, Jiangsu Province, 210000

Applicant after: Nanjing Junwei Semiconductor Technology Co.,Ltd.

Address before: 114, Floor 1, Innovation Center, No. 2, Qiande Road, Jiangning District, Nanjing, Jiangsu, 210000

Applicant before: Zhihua microelectronics technology (Nanjing) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant