CN108520489B - Gpu中一种实现命令解析和顶点获取并行的装置和方法 - Google Patents

Gpu中一种实现命令解析和顶点获取并行的装置和方法 Download PDF

Info

Publication number
CN108520489B
CN108520489B CN201810328262.9A CN201810328262A CN108520489B CN 108520489 B CN108520489 B CN 108520489B CN 201810328262 A CN201810328262 A CN 201810328262A CN 108520489 B CN108520489 B CN 108520489B
Authority
CN
China
Prior art keywords
vertex
command
fifo
module
commands
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
CN201810328262.9A
Other languages
English (en)
Other versions
CN108520489A (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 Jingmei Integrated Circuit Design Co ltd
Original Assignee
Changsha Jingmei Integrated Circuit Design 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 Jingmei Integrated Circuit Design Co ltd filed Critical Changsha Jingmei Integrated Circuit Design Co ltd
Priority to CN201810328262.9A priority Critical patent/CN108520489B/zh
Publication of CN108520489A publication Critical patent/CN108520489A/zh
Application granted granted Critical
Publication of CN108520489B publication Critical patent/CN108520489B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

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

Abstract

本发明公开了GPU中一种实现命令解析和顶点获取并行的装置和方法,该装置包括:接收命令缓冲区,命令预解析模块,两个内部缓冲区FIFO,命令解析模块,顶点仲裁、读取模块和顶点缓冲区FIFO几个部分,实现方法是:通过将绘制命令设计成参数配置、顶点配置和绘制命令三种,接收到命令字后进行预解析,将参数配置命令和绘制命令交由命令解析模块处理,顶点配置命令交由顶点获取模块处理,绘制命令解析完毕直接从顶点缓冲区FIFO得到顶点数据输出至顶点处理单元,实现了命令处理和顶点获取的并行。

Description

GPU中一种实现命令解析和顶点获取并行的装置和方法
技术领域
本发明主要涉及到GPU设计领域,特指GPU中命令解析和顶点获取处理领域。
背景技术
GPU的第一个处理步骤就是接收绘制命令,一般的处理方式是预先定义好命令格式,接收到绘制命令后按照预先定义的格式进行命令解析,解析出命令中的参数、绘制图元类型和顶点属性的配置信息,然后按照顶点配置从存储器读取顶点数据,将顶点数据发送到顶点处理单元进行后续处理。
这种处理方式是一种串行方式,解析出哪种命令执行哪种命令操作,由于访存操作往往是GPU的瓶颈,大部分时间花在读取顶点的过程中,效率比较低。
发明内容
本发明要解决的问题就在于:提供了一种命令处理和顶点获取并行的操作方式,通过将绘制命令设计成参数配置、顶点配置和绘制命令三种,接收到命令字后进行预解析,将参数配置命令和绘制命令交由命令解析模块处理,顶点配置命令交由顶点获取模块处理,绘制命令解析完毕直接从顶点获取模块得到顶点数据输出至顶点处理单元,从而实现了命令处理和顶点获取的并行。
发明内容:
本发明公开了GPU中一种实现命令解析和顶点获取并行的装置,包含以下模块:
(1)接收命令模块:该模块为一个缓冲区FIFO,用于接收CPU通过总线发送的GPU命令;
(2)命令预解析模块:该模块完成命令的分类,将GPU命令分成参数配置命令、顶点配置命令和图形绘制命令三种;
(3)缓冲区FIFO模块:两个缓冲区FIFO,其中FIFO A用于缓存参数配置命令和图形绘制命令,FIFO B用于缓存顶点配置命令;
(4)顶点仲裁、读取模块:用于将顶点配置命令中提取的信息转化成各顶点属性的读取命令,向存储器发出读取请求,其中的请求仲裁也由本模块完成;
(5)命令解析模块:负责解析FIFO A中的命令,其中解析绘图命令需要得到顶点数据,这些数据需要从顶点缓冲区FIFO中读取;
(6)顶点缓冲区模块:用于接收顶点仲裁、读取模块得到的顶点数据,向命令解析模块提供顶点数据;
本发明还公开了GPU中一种实现命令解析和顶点获取并行的方法,将GPU的绘图命令设计成三种类型:参数配置命令、顶点配置命令和图形绘制命令,设每个顶点的坐标和属性为P0、P1、P2、……Pn,其中n>=3且为自然数,坐标和属性均为单精度浮点数,为了使命令解析操作和顶点获取操作并行执行,本发明按照以下步骤执行:
步骤1:接收CPU发出的GPU命令;
步骤2:接收到命令之后首先进行预解析,按照命令类型标志进行分类,将参数配置命令和绘制命令存储在一个FIFO A,将顶点配置命令保存在一个FIFO B;
步骤3:命令解析模块读取FIFO A,得到参数配置命令和绘制命令,这些由命令解析模块执行,参数配置的结果直接发送给对应功能模块,绘制命令解析得到顶点属性各分量的数量信息,然后按照各分量的个数直接从FIFO中获取相应的顶点数据发送给下一级模块处理;同时,顶点获取模块读取FIFO B,根据顶点配置命令得到各个顶点属性分量的地址、数目、跨度信息,访存模块按P0、P1、P2、……Pn的顺序发出各个分量对存储器的访问,由请求仲裁模块负责发出访存请求和返回数据的处理,处理完成的返回数据保存在顶点FIFO中;利用顶点FIFO实现顶点仲裁、读取写顶点FIFO,命令解析读顶点FIFO的并行操作;
对于本发明实现方法的进一步限定,所述步骤3中的请求仲裁模块,其仲裁方式为:设当前顶点配置命令有m个顶点,m为自然数,P0、P1、P2、……Pn属性配置的地址分别为AddrP0、AddrP1、AddrP2、……AddrPn,每个属性的跨度信息分别为BurstP0、BurstP1、BurstP2、……BurstPn,分为以下两个同步执行过程:
1)依次将P0、P1、P2、……Pn属性的访存地址和跨度信息
Figure BDA0001625981830000021
写入请求FIFO,其中i∈[1,n],本次所有请求写出后,顶点数目m变为m-1,若此时顶点数目不为0则将各属性地址AddrPi变为AddrPi+BurstPi,再次依次写请求FIFO,如此重复操作,直到顶点数目为0则该组配置命令处理完毕,读FIFOB获取下一组配置命令执行该过程;
2)请求FIFO非空时,由请求仲裁模块读取请求FIFO,根据读取的FIFO数据向存储器发出读请求,返回的数据写入顶点FIFO。
本发明的优点就在于:该实现方法将命令处理和顶点获取操作并行执行,提高了效率。
附图说明
图1是定义的一种命令格式;
图2是本发明GPU中一种命令处理和顶点获取并行的实现结构图;
图3是顶点各属性访问的仲裁实现。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,将GPU的绘图命令设计成三种类型,参数配置命令(命令字中类别码为00)、顶点配置命令(命令字中类别码为10)和图形绘制命令(命令字中类别码为01),设每个顶点的属性为P0、P1、P2、……Pn,其中n>=3且为自然数,顶点坐标和属性均为单精度浮点数;
如图2所示为命令解析和顶点获取并行实现的结构图:包含以下模块:
(1)接收命令模块:该模块为一个缓冲区FIFO,用于接收CPU通过总线发送的GPU命令;
(2)命令预解析模块:该模块完成命令的分类,将GPU命令分成参数配置命令、顶点配置命令和图形绘制命令三种;
(3)缓冲区FIFO模块:两个缓冲区FIFO,其中FIFO A用于缓存参数配置命令和图形绘制命令,FIFO B用于缓存顶点配置命令;
(4)顶点仲裁、读取模块:用于将顶点配置命令中提取的信息转化成各顶点属性的读取命令,向存储器发出读取请求,其中的请求仲裁也由本模块完成;
(5)命令解析模块:负责解析FIFO A中的命令,其中解析绘图命令需要得到顶点数据,这些数据需要从顶点缓冲区FIFO中读取;
(6)顶点缓冲区模块:用于接收顶点仲裁、读取模块得到的顶点数据,向命令解析模块提供顶点数据;
具体的实施方式为:按照以下步骤执行:
步骤1:接收CPU发出的GPU命令;
步骤2:接收到命令之后首先进行预解析,按照命令类型标志进行分类,将参数配置命令和绘制命令存储在一个FIFOA,将顶点配置命令保存在一个FIFO B;
步骤3:命令解析模块读取FIFO A,得到参数配置命令和绘制命令,这些由命令解析模块执行,参数配置的结果直接发送给对应功能模块,绘制命令解析得到顶点属性各分量的数量信息,然后按照各分量的个数直接从FIFO中获取相应的顶点数据发送给下一级模块处理;同时,顶点获取模块读取FIFO B,根据顶点配置命令得到各个顶点属性分量的地址、数目、跨度信息,访存模块按P0、P1、P2、……Pn的顺序发出各个分量对存储器的访问,由请求仲裁模块负责发出访存请求和返回数据的处理,采用如图3所示的仲裁方法,处理完成的返回数据保存在顶点FIFO中;
如图3所示为顶点仲裁、读取模块的结构,设当前配置命令有m个顶点,m为自然数,P0、P1、P2、……Pn属性配置的地址分别为AddrP0、AddrP1、AddrP2、……AddrPn,每个属性的跨度信息分别为BurstP0、BurstP1、BurstP2、……BurstPn,分为以下两个同步过程:
1)依次将P0、P1、P2、……Pn属性的访存地址和跨度信息
Figure BDA0001625981830000041
写入请求FIFO,其中i∈[1,n],本次所有请求写出后,顶点数目m变为m-1,若此时顶点数目不为0则将各属性地址AddrPi变为AddrPi+BurstPi,再次依次写请求FIFO,如此重复操作,直到顶点数目为0则该组配置命令处理完毕,读FIFO B获取下一组配置命令执行该过程;
2)请求FIFO非空时,由请求仲裁模块读取请求FIFO,根据读取的FIFO数据向存储器发出读请求,返回的数据写入顶点FIFO。

Claims (3)

1.GPU中一种实现命令解析和顶点获取并行的装置,其特征为:包含以下模块:
接收命令模块:该模块为一个缓冲区FIFO,用于接收CPU通过总线发送的GPU命令;
命令预解析模块:该模块完成命令的分类,将GPU命令分成参数配置命令、顶点配置命令和图形绘制命令三种;
缓冲区FIFO模块:两个缓冲区FIFO,其中FIFO A用于缓存参数配置命令和图形绘制命令,FIFO B用于缓存顶点配置命令;
顶点仲裁、读取模块:用于将顶点配置命令中提取的信息转化成各顶点属性的读取命令,向存储器发出读取请求,其中的请求仲裁也由本模块完成;
命令解析模块:负责解析FIFO A中的命令,其中解析绘图命令需要得到顶点数据,这些数据需要从顶点缓冲区FIFO中读取;
顶点缓冲区模块:用于接收顶点仲裁、读取模块得到的顶点数据,向命令解析模块提供顶点数据。
2.GPU中一种实现命令解析和顶点获取并行的方法,其特征为:将GPU的绘图命令设计成三种类型:参数配置命令、顶点配置命令和图形绘制命令,设每个顶点的坐标和属性为P0、P1、P2、……Pn,其中n>=3且为自然数,坐标和属性均为单精度浮点数,为了使命令解析操作和顶点获取操作并行执行,按照以下步骤执行:
步骤1:接收CPU发出的GPU命令;
步骤2:接收到命令之后首先进行预解析,按照命令类型标志进行分类,将参数配置命令和绘制命令存储在一个FIFO A,将顶点配置命令保存在一个FIFO B;
步骤3:命令解析模块读取FIFO A,得到参数配置命令和绘制命令,这些由命令解析模块执行,参数配置的结果直接发送给对应功能模块,绘制命令解析得到顶点属性各分量的数量信息,然后按照各分量的个数直接从FIFO中获取相应的顶点数据发送给下一级模块处理;同时,顶点获取模块读取FIFO B,根据顶点配置命令得到各个顶点属性分量的地址、数目、跨度信息,访存模块按P0、P1、P2、……Pn的顺序发出各个分量对存储器的访问,由请求仲裁模块负责发出访存请求和返回数据的处理,处理完成的返回数据保存在顶点FIFO中;利用顶点FIFO实现顶点仲裁、读取写顶点FIFO,命令解析读顶点FIFO的并行操作。
3.根据权利要求2所述的GPU中一种实现命令解析和顶点获取并行的方法,其特征为:所述的步骤3中的请求仲裁模块,其实现的仲裁方式为:设当前顶点配置命令有m个顶点,m为自然数,P0、P1、P2、……Pn属性配置的地址分别为AddrP0、AddrP1、AddrP2、……AddrPn,每个属性的跨度信息分别为BurstP0、BurstP1、BurstP2、……BurstPn,分为以下两个同步执行过程:
1)依次将P0、P1、P2、……Pn属性的访存地址和跨度信息
Figure FDA0003880073010000021
写入请求FIFO,其中i∈[1,n],本次所有请求写出后,顶点数目m变为m-1,若此时顶点数目不为0则将各属性地址AddrPi变为AddrPi+BurstPi,再次依次写请求FIFO,如此重复操作,直到顶点数目为0则该组配置命令处理完毕,读FIFO B获取下一组配置命令执行该过程;
2)请求FIFO非空时,由请求仲裁模块读取请求FIFO,根据读取的FIFO数据向存储器发出读请求,返回的数据写入顶点FIFO。
CN201810328262.9A 2018-04-12 2018-04-12 Gpu中一种实现命令解析和顶点获取并行的装置和方法 Active CN108520489B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810328262.9A CN108520489B (zh) 2018-04-12 2018-04-12 Gpu中一种实现命令解析和顶点获取并行的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810328262.9A CN108520489B (zh) 2018-04-12 2018-04-12 Gpu中一种实现命令解析和顶点获取并行的装置和方法

Publications (2)

Publication Number Publication Date
CN108520489A CN108520489A (zh) 2018-09-11
CN108520489B true CN108520489B (zh) 2022-12-06

Family

ID=63432435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810328262.9A Active CN108520489B (zh) 2018-04-12 2018-04-12 Gpu中一种实现命令解析和顶点获取并行的装置和方法

Country Status (1)

Country Link
CN (1) CN108520489B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669769B (zh) * 2018-12-12 2022-11-22 中国航空工业集团公司西安航空计算技术研究所 一种基于SystemC面向GPU顶点着色任务调度方法
CN111062856B (zh) * 2019-11-18 2023-10-20 中国航空工业集团公司西安航空计算技术研究所 一种优化的OpenGL图形属性排布方法
CN111028133B (zh) * 2019-11-21 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种基于SystemVerilog的图形命令预译码装置
CN111026646B (zh) * 2019-11-21 2023-06-30 中国航空工业集团公司西安航空计算技术研究所 一种基于SystemVerilog的图形命令预译码方法
CN111476706A (zh) * 2020-06-02 2020-07-31 长沙景嘉微电子股份有限公司 顶点并行处理方法、装置及计算机存储介质、电子设备
CN111913816A (zh) * 2020-07-14 2020-11-10 长沙景嘉微电子股份有限公司 Gpgpu中簇的实现方法、装置、终端及介质
CN116185497B (zh) * 2023-01-06 2024-05-07 格兰菲智能科技有限公司 命令解析方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240700A (ja) * 1997-02-28 1998-09-11 Hitachi Ltd グラフィックス並列処理装置
US5821949A (en) * 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
CN102819819A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 Gpu中一种快速读取顶点的实现方法
CN103617790A (zh) * 2013-12-19 2014-03-05 大连辽无二电器有限公司 基于fpga的图形控制器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5821949A (en) * 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
JPH10240700A (ja) * 1997-02-28 1998-09-11 Hitachi Ltd グラフィックス並列処理装置
CN102819819A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 Gpu中一种快速读取顶点的实现方法
CN103617790A (zh) * 2013-12-19 2014-03-05 大连辽无二电器有限公司 基于fpga的图形控制器

Also Published As

Publication number Publication date
CN108520489A (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
CN108520489B (zh) Gpu中一种实现命令解析和顶点获取并行的装置和方法
CN108388527B (zh) 直接存储器存取引擎及其方法
CN112860256B (zh) 一种Linux内核设备树的可视化配置系统和方法
CN112100090A (zh) 数据访问请求处理方法、装置、介质及内存映射控制器
CN103605497A (zh) 一种二值图像连通域标记快速识别方法
CN108716916B (zh) 一种基于超级块的分布式并行星点质心提取方法及fpga实现装置
CN115237599B (zh) 一种渲染任务处理方法和装置
CN103678359B (zh) 一种集成电路波形图像快速显示方法
CN110515872B (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN111078384A (zh) 核心数据迁移的方法、装置、计算机设备及存储介质
CN115904240A (zh) 数据处理方法、装置、电子设备和存储介质
CN112612427B (zh) 一种车辆停靠点数据处理方法、装置、存储介质及终端
CN111199086A (zh) 三维几何离散化处理系统
CN116958375A (zh) 图形处理器、系统、装置、设备及方法
CN112035056B (zh) 一种基于多计算单元的并行ram访问设备及访问方法
CN114356494A (zh) 一种神经网络模拟器的数据处理方法、装置和终端
CN114049640A (zh) 一种票据文本检测方法、装置、电子设备及存储介质
CN113821555A (zh) 一种智慧监管黑匣子的非结构化资料汇集处理方法
CN111814675A (zh) 基于fpga支持动态分辨率的卷积神经网络特征图组装系统
CN112270704A (zh) 一种基于数据链表结构的星点质心提取方法
CN116185497B (zh) 命令解析方法、装置、计算机设备和存储介质
CN111047503A (zh) 一种顶点数组类命令的属性存储与组装优化电路
CN111667562B (zh) 基于图片素材的动效界面生成方法和装置
CN116263981B (zh) 图形处理器、系统、装置、设备及方法
CN116795442B (zh) 一种寄存器配置方法、dma控制器及图形处理系统

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
GR01 Patent grant
GR01 Patent grant