CN111047503B - 一种顶点数组类命令的属性存储与组装优化电路 - Google Patents
一种顶点数组类命令的属性存储与组装优化电路 Download PDFInfo
- Publication number
- CN111047503B CN111047503B CN201911147156.1A CN201911147156A CN111047503B CN 111047503 B CN111047503 B CN 111047503B CN 201911147156 A CN201911147156 A CN 201911147156A CN 111047503 B CN111047503 B CN 111047503B
- Authority
- CN
- China
- Prior art keywords
- attribute
- assembly
- data
- index
- control module
- 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
Links
Images
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明属于计算机图形学领域,具体涉及一种顶点数组类命令的属性存储与组装优化电路,包括:DDR、索引cache、属性cache1~7、索引FIFO、属性FIFO1~7、组装控制模块和数据组装模块;所述DDR同时连接索引cache和属性cache1~7,索引cache连接索引FIFO,属性cache1~7连接属性FIFO1~7,组装控制模块连接索引FIFO和数据组装模块,数据组装模块连接属性FIFO1~7;所述组装控制模块接收外部输入的组装请求,由数据组装模块最终向外部输出组装的命令。本发明能够利于提升图形处理器的图形绘制效率,同时节省硬件资源、提升电路的时序性能。
Description
技术领域
本发明属于计算机图形学领域,具体涉及一种顶点数组类命令的属性存储与组装优化电路。
背景技术
图形处理器内,在接收顶点数组类命令时,需要实现将顶点数组中各分离属的属性数组数据,组装成约定格式、约定顺序的一组图形命令,再下发到3D引擎内执行图形绘制流程的功能。
现有技术不存在对顶点数组类命令的属性存储与组装的实现方式,此问题急须解决。
发明内容
本发明的目的是:
通过优化的硬件电路实现顶点数组的组装功能能够提升图形处理器的图形绘制效率,同时节省硬件资源、提升电路的时序性能。
本发明主要是提供一种优化的的顶点数组命令的存储与组装电路,有利于提升图形处理器的图形绘制效率,同时节省硬件资源、提升电路的时序性能。
本发明的具体解决方案为:
在本发明的一个实施例中本发明提出了一种顶点数组类命令的属性存储与组装优化电路,本电路包括:DDR线程调度1线程调度、索引cache线程调度2线程调度、属性cache1~7线程调度3线程调度、索引FIFO线程调度4线程调度、属性FIFO1~7线程调度5线程调度、组装控制模块线程调度6线程调度和数据组装模块线程调度7线程调度;所述DDR线程调度1线程调度同时连接索引cache线程调度2线程调度和属性cache1~7线程调度3线程调度,索引cache线程调度2线程调度连接索引FIFO线程调度4线程调度,属性cache1~7线程调度3线程调度连接属性FIFO1~7线程调度5线程调度,组装控制模块线程调度6线程调度连接索引FIFO线程调度4线程调度和数据组装模块线程调度7线程调度,数据组装模块线程调度7线程调度连接属性FIFO1~7线程调度5线程调度;
所述组装控制模块线程调度6线程调度接收外部输入的组装请求,由数据组装模块线程调度7线程调度最终向外部输出组装的命令。
在一个实施例中,所述DDR线程调度1线程调度内部划分特定存储区域,该存储区域用于存储顶点数组组装所需的索引cache线程调度2线程调度和属性cache1~7线程调度3线程调度的访问数据。
进一步限定,所述索引cache线程调度2线程调度用于缓存从DDR线程调度1线程调度中获取的连续索引数据,减少组装电路向DDR线程调度1线程调度的读访问次数。
进一步限定,所述属性cache1~7线程调度3线程调度用于缓存从DDR线程调度1线程调度中获取的连续属性数据,减少组装电路向DDR的读访问次数。
进一步限定,所述索引FIFO线程调度4线程调度用于接收组装控制模块线程调度6线程调度的读数据请求,存储从索引cache线程调度2线程调度中读取的连续、有效的索引数据,提升组装控制模块线程调度6线程调度的执行效率。
进一步限定,所述的属性FIFO1~7线程调度5线程调度,用于接收组装控制模块线程调度6线程调度的读数据请求,存储从属性cache1~7线程调度3线程调度读取的有效的属性cache1~7线程调度3线程调度的数据,提升组装控制模块线程调度6线程调度的执行效率。
进一步限定,所述组装控制模块线程调度6线程调度用于控制DDR线程调度1线程调度、索引cache线程调度2线程调度、属性cache1~7线程调度3线程调度、索引FIFO线程调度4线程调度、属性FIFO1~7线程调度5线程调度、组装控制模块线程调度6线程调度和数据组装模块线程调度7线程调度的整个工作流程,控制手段包括:索引数据获取、属性地址计算、属性使能检测、数组组装分类和属性1~7数据的组装顺序仲裁。
进一步限定,所述的数据组装模块线程调度7线程调度用于按照组装控制模块线程调度6线程调度的组装控制和从属性FIFO1~7线程调度5线程调度获取的数据进行组装并输出组装的命令。
本发明能够带来的有益效果:
本发明主要是提供一种优化的的顶点数组命令的存储与组装电路,能够利于提升图形处理器的图形绘制效率,同时节省硬件资源、提升电路的时序性能。
附图说明
图1为本发明的电路布局图,图2为具体实施方式中组装控制模块的工作流程。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
在本发明的一个实施例中,如图1所示的一种顶点数组类命令的属性存储与组装优化电路,包括:DDR1、索引cache2、属性cache1~73、索引FIFO4、属性FIFO1~75、组装控制模块6和数据组装模块7;所述DDR1同时连接索引cache2和属性cache1~73,索引cache2连接索引FIFO4,属性cache1~73连接属性FIFO1~75,组装控制模块6连接索引FIFO4和数据组装模块7,数据组装模块7连接属性FIFO1~75;
所述组装控制模块6接收外部输入的组装请求,由数据组装模块7最终向外部输出组装的命令。
在一个实施例中,所述DDR1内部划分特定存储区域,该存储区域用于存储顶点数组组装所需的索引cache2和属性cache1~73的访问数据。
在一个实施例中,所述索引cache2用于缓存从DDR1中获取的连续索引数据,减少组装电路向DDR1的读访问次数。
在一个实施例中,所述属性cache1~73用于缓存从DDR1中获取的连续属性数据,减少组装电路向DDR的读访问次数。
在一个实施例中,所述索引FIFO4用于接收组装控制模块6的读数据请求,存储从索引cache2中读取的连续、有效的索引数据,提升组装控制模块6的执行效率。
在一个实施例中,所述的属性FIFO1~75,用于接收组装控制模块6的读数据请求,存储从属性cache1~73读取的有效的属性cache1~73的数据,提升组装控制模块6的执行效率。
在一个实施例中,所述组装控制模块6用于控制DDR1、索引cache2、属性cache1~73、索引FIFO4、属性FIFO1~75、组装控制模块6和数据组装模块7的整个工作流程,控制手段包括:索引数据获取、属性地址计算、属性使能检测、数组组装分类和属性1~7数据的组装顺序仲裁。
在一个实施例中,所述的数据组装模块7用于按照组装控制模块6的组装控制和从属性FIFO1~75获取的数据进行组装并输出组装的命令。
现结合在电路中的具体连接对本发明作出详细说明。
组装控制模块的工作流程如图2所示,包含顶点数组组装开始8、获取索引数据9、属性地址计算10、属性使能检测11、属性数据获取与存储12、无坐标属性组装类13、坐标属性组装类14、坐标属性快速组装类15、除坐标类其他属性调度16、获取除坐标类其他属性数据17、组装并发送其他属性的组装完成数据18、获取坐标类属性数据19、组装并发送坐标属性的组装完成数据20、顶点数组组装完成21。
如图1或图2所示,获取索引数据9通过索引FIFO4和索引cache2实现数据获取,属性数据获取与存储12、获取除坐标类其他属性数据17、获取坐标类属性数据19通过属性FIFO1~75和属性cache1~73实现数据获取,组装并发送其他属性的组装完成数据18、组装并发送坐标属性的组装完成数据20通过数据组装模块7实现。
顶点数组组装8开始,其特征在于,当接收到组装请求输入后,顶点数组组装开始,转入获取索引数据9。
9获取索引数据,组装控制模块发出读请求和读地址,通过索引FIFO和索引cache获取索引数据后,转入属性地址计算10;
属性地址计算10,将获取的索引数据与其他配置信息进行运算后,得到属性1~7的读请求地址,转入属性使能检测11;
属性使能检测11,其特征在于,检测需要组装属性1~7的某一个或者某一些,然后转入属性数据获取与存储12;
12属性数据获取与存储,其特征在于,向经过属性使能检测11的有效属性发出各自的读请求和读地址,通过属性1~7FIFO和属性1~7cache获取属性1~7的有效数据后,若当前需要的无坐标属性,则转入无坐标属性组装类13;若当前需要的有坐标属性和其他属性,则转入坐标属性组装类14;若若当前需要的仅为坐标属性,则转入坐标属性快速组装类15。
无坐标属性组装类13,经过属性使能检测11,组装序列中不包含坐标属性,则转入除坐标类其他属性调度16。
坐标属性组装类14,经过属性使能检测11,组装序列中包含坐标属性和其他属性,则转入除坐标类其他属性调度16。
坐标属性快速组装类15,经过属性使能检测11,组装序列中仅包含坐标属性,则转入获取坐标类属性数据17。
除坐标类其他属性调度16,依据个属性FIFO的状态以及属性使能检测11结果,对待组装的各属性有效FIFO数据的组装任务进行轮询调度管理,一次调度完成后则转入组装并发送其他属性的组装完成数据18。
获取除坐标类其他属性数据17,每次读取调度仲裁上的某一个其他属性的FIFO的一组数据后,转入组装并发送其他属性的组装完成数据18。
组装并发送其他属性的组装完成数据18,按照约定格式将其他属性的组装完成数据输出,若存在其他属性均尚未调度完成,则转入16除坐标类其他属性调度;若所有其他属性均调度完成,且属于无坐标属性组装类13,则转入顶点数组组装完成21;若所有其他属性均调度完成,且属于坐标属性组装类14,则转入获取坐标类属性数据19。
获取坐标类属性数据19,每次读取坐标属性的FIFO的一组数据后,转入组装并发送坐标属性的组装完成数据13。
组装并发送坐标属性的组装完成数据20,按照约定格式将坐标属性的组装完成数据输出,转入顶点数组组装完成14。
顶点数组组装完成21,当转入当前状态后,一次顶点数组命令的存储与组装流程完成,当接收到新的顶点数组组装命令请求时,转入8顶点数组组装开始。
Claims (3)
1.一种顶点数组类命令的属性存储与组装优化电路,其特征在于,本电路包括:DDR(1)、索引cache(2)、属性cache1~7(3)、索引FIFO(4)、属性FIFO1~7(5)、组装控制模块(6)和数据组装模块(7);所述DDR(1)同时连接索引cache(2)和属性cache1~7(3),索引cache(2)连接索引FIFO(4),属性cache1~7(3)连接属性FIFO1~7(5),组装控制模块(6)连接索引FIFO(4)和数据组装模块(7),数据组装模块(7)连接属性FIFO1~7(5);
所述组装控制模块(6)接收外部输入的组装请求,由数据组装模块(7)最终向外部输出组装的命令;
所述DDR(1)内部划分特定存储区域,该存储区域用于存储顶点数组组装所需的索引cache(2)和属性cache1~7(3)的访问数据;
所述索引cache(2)用于缓存从DDR(1)中获取的连续索引数据,减少组装电路向DDR(1)的读访问次数;
所述属性cache1~7(3)用于缓存从DDR(1)中获取的连续属性数据,减少组装电路向DDR的读访问次数;
所述索引FIFO(4)用于接收组装控制模块(6)的读数据请求,存储从索引cache(2)中读取的连续、有效的索引数据,提升组装控制模块(6)的执行效率;
所述的属性FIFO1~7(5),用于接收组装控制模块(6)的读数据请求,存储从属性cache1~7(3)读取的有效的属性cache1~7(3)的数据,提升组装控制模块(6)的执行效率。
2.根据权利要求1所述的一种顶点数组类命令的属性存储与组装优化电路,其特征在于:所述组装控制模块(6)用于控制DDR(1)、索引cache(2)、属性cache1~7(3)、索引FIFO(4)、属性FIFO1~7(5)、组装控制模块(6)和数据组装模块(7)的整个工作流程,控制手段包括:索引数据获取、属性地址计算、属性使能检测、数组组装分类和属性1~7数据的组装顺序仲裁。
3.根据权利要求2所述的一种顶点数组类命令的属性存储与组装优化电路,其特征在于:所述的数据组装模块(7)用于按照组装控制模块(6)的组装控制和从属性FIFO1~7(5)获取的数据进行组装并输出组装的命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147156.1A CN111047503B (zh) | 2019-11-21 | 2019-11-21 | 一种顶点数组类命令的属性存储与组装优化电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147156.1A CN111047503B (zh) | 2019-11-21 | 2019-11-21 | 一种顶点数组类命令的属性存储与组装优化电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111047503A CN111047503A (zh) | 2020-04-21 |
CN111047503B true CN111047503B (zh) | 2023-06-13 |
Family
ID=70232977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911147156.1A Active CN111047503B (zh) | 2019-11-21 | 2019-11-21 | 一种顶点数组类命令的属性存储与组装优化电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111047503B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002169724A (ja) * | 2000-12-01 | 2002-06-14 | Oki Electric Ind Co Ltd | キャッシュメモリにおける部分無効化装置 |
US6717577B1 (en) * | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
WO2008053597A1 (fr) * | 2006-11-01 | 2008-05-08 | Digital Media Professionals Inc. | Dispositif pour accélérer le traitement d'un cache de vertex de primitives étendues |
CN108257075A (zh) * | 2017-12-06 | 2018-07-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种顶点数组命令的解引用与组装方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150379682A1 (en) * | 2014-06-27 | 2015-12-31 | Samsung Electronics Co., Ltd. | Vertex attribute data compression with random access using hardware |
-
2019
- 2019-11-21 CN CN201911147156.1A patent/CN111047503B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717577B1 (en) * | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
JP2002169724A (ja) * | 2000-12-01 | 2002-06-14 | Oki Electric Ind Co Ltd | キャッシュメモリにおける部分無効化装置 |
WO2008053597A1 (fr) * | 2006-11-01 | 2008-05-08 | Digital Media Professionals Inc. | Dispositif pour accélérer le traitement d'un cache de vertex de primitives étendues |
CN108257075A (zh) * | 2017-12-06 | 2018-07-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种顶点数组命令的解引用与组装方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111047503A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422707B2 (en) | Scheduling memory requests for a ganged memory device | |
CN113051199A (zh) | 数据传输方法及装置 | |
CN115953286A (zh) | 一种图形处理器预取单元及指令与顶点的预取方法 | |
CN112882986B (zh) | 一种带有超节点以及超节点控制器的众核处理器的应用方法 | |
CN116893991B (zh) | 一种axi协议下的存储模块转换接口及其转换方法 | |
CN111047503B (zh) | 一种顶点数组类命令的属性存储与组装优化电路 | |
US20060143313A1 (en) | Method for accessing a storage device | |
CN115698937A (zh) | 用于深度学习任务调度的硬件电路 | |
CN115883022B (zh) | Dma传输控制方法、装置、电子设备及可读存储介质 | |
US20240061779A1 (en) | Hardware accelerator for hypergraph processing and operating method thereof | |
US20060218313A1 (en) | DMA circuit and computer system | |
CN115174673B (zh) | 具备低延迟处理器的数据处理装置、数据处理方法及设备 | |
CN116257191A (zh) | 存储器的控制器、组件、电子设备及命令调度方法 | |
WO2021139733A1 (zh) | 一种对内存进行分配的方法、设备及计算机可读存储介质 | |
CN107807888B (zh) | 一种用于soc架构的数据预取系统及其方法 | |
CN112565474B (zh) | 面向分布式共享spm的批量数据传输方法 | |
US9804985B2 (en) | Hardware abstract data structure, data processing method and system | |
CN113094328B (zh) | 一种用于合成孔径雷达实时成像的多通道并行计算系统 | |
US11094368B2 (en) | Memory, memory chip and memory data access method | |
CN113297111B (zh) | 人工智能芯片及其操作方法 | |
WO2023142114A1 (zh) | 数据处理方法、装置以及电子设备 | |
CN117908959A (zh) | 用于执行原子操作的方法及其相关产品 | |
CN115941633A (zh) | 一种控制系统的通信方法 | |
CN118295943A (zh) | 读响应保序方法、系统、存储介质及电子设备 | |
CN117667212A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |