CN111026377A - 一种基于有限状态机的调用显示列表预译码方法 - Google Patents
一种基于有限状态机的调用显示列表预译码方法 Download PDFInfo
- Publication number
- CN111026377A CN111026377A CN201911147187.7A CN201911147187A CN111026377A CN 111026377 A CN111026377 A CN 111026377A CN 201911147187 A CN201911147187 A CN 201911147187A CN 111026377 A CN111026377 A CN 111026377A
- Authority
- CN
- China
- Prior art keywords
- list
- state
- execution
- nested
- calling
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/312—List processing, e.g. LISP programming language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Digital Computer Display Output (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于计算机图形领域,涉及一种基于有限状态机的调用显示列表预译码方法,包括以下工作过程:根据当前的列表标记及输入的列表命令,判断当前列表属于嵌套列表或普通单层列表;若属于普通单层列表,则发送列表读取的请求信息,流程结束;若属于嵌套列表,则判断属于外层被嵌套列表或内层嵌套的列表;内层嵌套的列表需要存储当前列表执行状态,并发送新的列表读取请求,流程结束;外层被嵌套列表需要读取未执行完成的列表执行状态,并重新发送被嵌套列表的读取请求,流程结束;本发明使用有限状态机的子状态机电路,控制OpenGL命令中的调用显示类表命令的执行流程,提升了硬件译码OpenGL命令的执行效率,简化了电路设计的复杂度。
Description
技术领域
本发明属于计算机图形学领域,具体涉及一种基于有限状态机的调用显示列表预译码方法。
背景技术
在计算机图形学领域中,将可能重复调用的命令序列以显示列表的形式存储,现有技术中不具有通过重复调用显示列表提升命令的传输效率的方法。
发明内容
本发明的目的是:
本发明主要是提供一种基于有限状态机的调用显示列表预译码电路,有利于提升图形处理器执行调用显示列表功能的效率,同时节省硬件资源、提升电路的时序性能。
本发明的解决方案是:
一种基于有限状态机的调用显示列表预译码方法,包括以下工作过程:
根据当前的列表标记及输入的列表命令,判断当前列表属于嵌套列表或普通单层列表;若属于普通单层列表,则发送列表读取的请求信息,流程结束;若属于嵌套列表,则判断属于外层被嵌套列表或内层嵌套的列表;内层嵌套的列表需要存储当前列表执行状态,并发送新的列表读取请求,流程结束;外层被嵌套列表需要读取未执行完成的列表执行状态,并重新发送被嵌套列表的读取请求,流程结束;
嵌套列表存储于堆栈中,所述堆栈用于保证外层列表获取列表执行状态的顺序性;
发送任意的列表读取请求前进行冲突检测,用于保证列表数据的一致性。
优选的,所述基于有限状态机的调用显示列表预译码方法通过有限状态机实现。
优选的,所述有限状态机包括调用列表子状态机开始状态1、嵌套列表状态2、普通单层列表状态3、外层嵌套列表状态4、内层嵌套列表状态5、列表执行出栈状态6、列表执行入栈状态7、列表信息获取状态8、列表执行冲突检测状态9、列表调用请求状态10、列表多通路响应状态11、和调用列表子状态机结束状态12。
优选的,当主状态机转入调用列表的工作流程之后,调用列表子状态机开始状态1执行,若当前已有显示列表正在被调用,则转入嵌套列表状态2,若当前没有显示列表正在被调用则转入普通单层列表状态3。
优选的,当前已有多个显示列表正在被调用,若属于内层调用显示列表的调用完成,则转入外层嵌套列表状态4;若属于新的内层显示列表,转入内层嵌套列表状态5。
优选的,普通单层列表状态3仅有一个显示列表开始调用时,若显示列表调用命令有效,转入列表信息获取状态8,列表信息获取状态8读取到新的显示列表执行信息,转入列表执行冲突检测状态9,列表执行冲突检测状态9检测当前列表存取通路是否存在读写冲突,若不存在冲突则转入列表调用请求状态10,列表调用请求状态10发送列表参数信息及请求,转入列表多通路响应状态11,列表多通路响应状态11调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入12调用列表子状态机结束。。
优选的,所述外层嵌套列表状态4中,表明内层被嵌套列表已经执行完毕,返回了外层嵌套列表中,转入列表执行出栈状态6,列表执行出栈状态6将存储在堆栈内的外层列表执行状态读出,转入列表调用请求10,列表调用请求状态10发送列表参数信息及请求,转入列表多通路响应状态11,列表多通路响应状态11调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入12调用列表子状态机结束。。
优选的,当前正处于列表调用状态时,内层嵌套列表状态5又接收新的调用列表请求,转入列表执行入栈状态7,列表执行入栈状态7将当前暂不执行的外层列表执行状态写入堆栈中,转入列表信息获取状态8,列表信息获取状态8读取到新的显示列表执行信息,转入列表执行冲突检测状态9,列表执行冲突检测状态9检测当前列表存取通路是否存在读写冲突,若不存在冲突则转入列表调用请求状态10,列表调用请求状态10发送列表参数信息及请求,转入列表多通路响应状态11,列表多通路响应状态11调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入调用列表子状态机结束状态12。
优选的,调用列表子状态机结束状态12调用显示列表的子状态机执行完成,当外部主状态机再次启动调用列表的工作流程时,转入1调用列表子状态机开始。
本发明能够带来的有益效果:
本发明主要是提供一种基于有限状态机的调用显示列表预译码电路,有利于提升图形处理器执行调用显示列表功能的效率,同时节省硬件资源、提升电路的时序性能。使用硬件子状态机电路实现对调用显示列表功能的复杂功能及多重嵌套的控制,提升了硬件译码OpenGL命令的执行效率,简化了电路设计的复杂度。
附图说明
图1为本发明的电路设计图。
其中:1、调用列表子状态机开始状态;2、嵌套列表状态;3、普通单层列表状态;4、外层嵌套列表状态;5、内层嵌套列表状态;6、列表执行出栈状态;7、列表执行入栈状态;8、列表信息获取状态;9、列表执行冲突检测状态;10、列表调用请求状态;10、列表多通路响应状态;12、和调用列表子状态机结束状态。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
在本发明的一个实施例中,如图1所示,一种基于有限状态机的调用显示列表预译码方法,其特征在于,包括以下工作过程:
根据当前的列表标记及输入的列表命令,判断当前列表属于嵌套列表或普通单层列表;若属于普通单层列表,则发送列表读取的请求信息,流程结束;若属于嵌套列表,则判断属于外层被嵌套列表或内层嵌套的列表;内层嵌套的列表需要存储当前列表执行状态,并发送新的列表读取请求,流程结束;外层被嵌套列表需要读取未执行完成的列表执行状态,并重新发送被嵌套列表的读取请求,流程结束;
嵌套列表存储于堆栈中,所述堆栈用于保证外层列表获取列表执行状态的顺序性;
发送任意的列表读取请求前进行冲突检测,用于保证列表数据的一致性。
所述基于有限状态机的调用显示列表预译码方法通过有限状态机实现。
在一个实施例中,所述有限状态机包括调用列表子状态机开始状态1、嵌套列表状态2、普通单层列表状态3、外层嵌套列表状态4、内层嵌套列表状态5、列表执行出栈状态6、列表执行入栈状态7、列表信息获取状态8、列表执行冲突检测状态9、列表调用请求状态10、列表多通路响应状态11、和调用列表子状态机结束状态12。
在一个实施例中,当主状态机转入调用列表的工作流程之后,调用列表子状态机开始状态1执行,若当前已有显示列表正在被调用,则转入嵌套列表状态2,若当前没有显示列表正在被调用则转入普通单层列表状态3。
在一个实施例中,当前已有多个显示列表正在被调用,若属于内层调用显示列表的调用完成,则转入外层嵌套列表状态4;若属于新的内层显示列表,转入内层嵌套列表状态5。
在一个实施例中,普通单层列表状态3仅有一个显示列表开始调用时,若显示列表调用命令有效,转入列表信息获取状态8,列表信息获取状态8读取到新的显示列表执行信息,转入列表执行冲突检测状态9,列表执行冲突检测状态9检测当前列表存取通路是否存在读写冲突,若不存在冲突则转入列表调用请求状态10,列表调用请求状态10发送列表参数信息及请求,转入列表多通路响应状态11,列表多通路响应状态11调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入12调用列表子状态机结束。。
在一个实施例中,所述外层嵌套列表状态4中,表明内层被嵌套列表已经执行完毕,返回了外层嵌套列表中,转入列表执行出栈状态6,列表执行出栈状态6将存储在堆栈内的外层列表执行状态读出,转入列表调用请求10,列表调用请求状态10发送列表参数信息及请求,转入列表多通路响应状态11,列表多通路响应状态11调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入12调用列表子状态机结束。。
在一个实施例中,当前正处于列表调用状态时,内层嵌套列表状态5又接收新的调用列表请求,转入列表执行入栈状态7,列表执行入栈状态7将当前暂不执行的外层列表执行状态写入堆栈中,转入列表信息获取状态8,列表信息获取状态8读取到新的显示列表执行信息,转入列表执行冲突检测状态9,列表执行冲突检测状态9检测当前列表存取通路是否存在读写冲突,若不存在冲突则转入列表调用请求状态10,列表调用请求状态10发送列表参数信息及请求,转入列表多通路响应状态11,列表多通路响应状态11调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入调用列表子状态机结束状态12。
在一个实施例中,调用列表子状态机结束状态12调用显示列表的子状态机执行完成,当外部主状态机再次启动调用列表的工作流程时,转入1调用列表子状态机开始。
本发明提供了一种基于有限状态机的调用显示列表预译码电路,有利于提升图形处理器执行调用显示列表功能的效率,同时节省硬件资源、提升电路的时序性能。
Claims (9)
1.一种基于有限状态机的调用显示列表预译码方法,其特征在于,包括以下工作过程:
根据当前的列表标记及输入的列表命令,判断当前列表属于嵌套列表或普通单层列表;若属于普通单层列表,则发送列表读取的请求信息,流程结束;若属于嵌套列表,则判断属于外层被嵌套列表或内层嵌套的列表;内层嵌套的列表需要存储当前列表执行状态,并发送新的列表读取请求,流程结束;外层被嵌套列表需要读取未执行完成的列表执行状态,并重新发送被嵌套列表的读取请求,流程结束;
嵌套列表存储于堆栈中,所述堆栈用于保证外层列表获取列表执行状态的顺序性;
发送任意的列表读取请求前进行冲突检测,用于保证列表数据的一致性。
2.根据权利要求1所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:所述基于有限状态机的调用显示列表预译码方法通过有限状态机实现。
3.根据权利要求2所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:所述有限状态机包括调用列表子状态机开始状态(1)、嵌套列表状态(2)、普通单层列表状态(3)、外层嵌套列表状态(4)、内层嵌套列表状态(5)、列表执行出栈状态(6)、列表执行入栈状态(7)、列表信息获取状态(8)、列表执行冲突检测状态(9)、列表调用请求状态(10)、列表多通路响应状态(11)、和调用列表子状态机结束状态(12)。
4.根据权利要求3所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:当主状态机转入调用列表的工作流程之后,调用列表子状态机开始状态(1)执行,若当前已有显示列表正在被调用,则转入嵌套列表状态(2),若当前没有显示列表正在被调用则转入普通单层列表状态(3)。
5.根据权利要求4所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:当前已有多个显示列表正在被调用,若属于内层调用显示列表的调用完成,则转入外层嵌套列表状态(4);若属于新的内层显示列表,转入内层嵌套列表状态(5)。
6.根据权利要求5所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:普通单层列表状态(3)仅有一个显示列表开始调用时,若显示列表调用命令有效,转入列表信息获取状态(8),列表信息获取状态(8)读取到新的显示列表执行信息,转入列表执行冲突检测状态(9),列表执行冲突检测状态(9)检测当前列表存取通路是否存在读写冲突,若不存在冲突则转入列表调用请求状态(10),列表调用请求状态(10)发送列表参数信息及请求,转入列表多通路响应状态(11),列表多通路响应状态(11)调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入(12)调用列表子状态机结束。
7.根据权利要求6所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:所述外层嵌套列表状态(4)中,表明内层被嵌套列表已经执行完毕,返回了外层嵌套列表中,转入列表执行出栈状态(6),列表执行出栈状态(6)将存储在堆栈内的外层列表执行状态读出,转入列表调用请求(10),列表调用请求状态(10)发送列表参数信息及请求,转入列表多通路响应状态(11),列表多通路响应状态(11)调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入(12)调用列表子状态机结束。
8.据权利要求5所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:当前正处于列表调用状态时,内层嵌套列表状态(5)又接收新的调用列表请求,转入列表执行入栈状态(7),列表执行入栈状态(7)将当前暂不执行的外层列表执行状态写入堆栈中,转入列表信息获取状态(8),列表信息获取状态(8)读取到新的显示列表执行信息,转入列表执行冲突检测状态(9),列表执行冲突检测状态(9)检测当前列表存取通路是否存在读写冲突,若不存在冲突则转入列表调用请求状态(10),列表调用请求状态(10)发送列表参数信息及请求,转入列表多通路响应状态(11),列表多通路响应状态(11)调用显示列表命令及其参数信息需要发送到不同的执行通路中,并需要等待并存储数据通路及控制通路反馈的响应信号,若多通路的响应信号均收到,转入调用列表子状态机结束状态(12)。
9.据权利要求5所述的一种基于有限状态机的调用显示列表预译码方法,其特征在于:调用列表子状态机结束状态(12)调用显示列表的子状态机执行完成,当外部主状态机再次启动调用列表的工作流程时,转入(1)调用列表子状态机开始。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147187.7A CN111026377B (zh) | 2019-11-21 | 2019-11-21 | 一种基于有限状态机的调用显示列表预译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147187.7A CN111026377B (zh) | 2019-11-21 | 2019-11-21 | 一种基于有限状态机的调用显示列表预译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026377A true CN111026377A (zh) | 2020-04-17 |
CN111026377B CN111026377B (zh) | 2023-03-14 |
Family
ID=70201881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911147187.7A Active CN111026377B (zh) | 2019-11-21 | 2019-11-21 | 一种基于有限状态机的调用显示列表预译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026377B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030146941A1 (en) * | 2002-02-05 | 2003-08-07 | Bailey Richard St.Clair | Systems and methods for creating and managing graphical user interface lists |
CN101110812A (zh) * | 2007-08-29 | 2008-01-23 | 中兴通讯股份有限公司 | 文本命令解析处理方法 |
CN101517531A (zh) * | 2006-09-15 | 2009-08-26 | 微软公司 | 模块化有限状态变换机的变换 |
CN103345464A (zh) * | 2008-09-30 | 2013-10-09 | 微软公司 | 模块化森林自动机 |
CN108055166A (zh) * | 2017-12-20 | 2018-05-18 | 中山大学 | 一种嵌套的应用层协议的状态机提取系统及其提取方法 |
CN109614087A (zh) * | 2018-11-14 | 2019-04-12 | 西安翔腾微电子科技有限公司 | 一种OpenGL多重嵌套显示列表调用方法 |
US20190228012A1 (en) * | 2018-01-23 | 2019-07-25 | University Of Virginia Patent Foundation | Methods, circuits, and articles of manufacture for frequent sub-tree mining using non-deterministic finite state machines |
-
2019
- 2019-11-21 CN CN201911147187.7A patent/CN111026377B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030146941A1 (en) * | 2002-02-05 | 2003-08-07 | Bailey Richard St.Clair | Systems and methods for creating and managing graphical user interface lists |
CN101517531A (zh) * | 2006-09-15 | 2009-08-26 | 微软公司 | 模块化有限状态变换机的变换 |
CN101110812A (zh) * | 2007-08-29 | 2008-01-23 | 中兴通讯股份有限公司 | 文本命令解析处理方法 |
CN103345464A (zh) * | 2008-09-30 | 2013-10-09 | 微软公司 | 模块化森林自动机 |
CN108055166A (zh) * | 2017-12-20 | 2018-05-18 | 中山大学 | 一种嵌套的应用层协议的状态机提取系统及其提取方法 |
US20190228012A1 (en) * | 2018-01-23 | 2019-07-25 | University Of Virginia Patent Foundation | Methods, circuits, and articles of manufacture for frequent sub-tree mining using non-deterministic finite state machines |
CN109614087A (zh) * | 2018-11-14 | 2019-04-12 | 西安翔腾微电子科技有限公司 | 一种OpenGL多重嵌套显示列表调用方法 |
Non-Patent Citations (2)
Title |
---|
任娜等: "基于有限状态机的人机交互界面软件设计方法", 《中国新技术新产品》 * |
普杰信 等: "一种可定制三维图形仿真引擎体系结构研究", 《河南科技大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111026377B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070074214A1 (en) | Event processing method in a computer system | |
US10481957B2 (en) | Processor and task processing method therefor, and storage medium | |
CN105045632A (zh) | 一种多核环境下实现免锁队列的方法和设备 | |
CN103823636A (zh) | Io调度方法及装置 | |
CN102855214B (zh) | 实现数据一致性的方法和一种多核系统 | |
US20240045593A1 (en) | Apparatus and method for accessing data, processing apparatus and computer system | |
CN115640052A (zh) | 用于图形处理器中多核多流水线并行执行优化方法 | |
CN111026768A (zh) | 一种可实现数据快速装载的数据同步方法和装置 | |
US20230267000A1 (en) | Processing apparatus and system for executing data processing on a plurality of pieces of channel information | |
JP2008522277A (ja) | 優先度の付けられたタスク間の効率的な切り換え | |
CN111026377B (zh) | 一种基于有限状态机的调用显示列表预译码方法 | |
CN102446087A (zh) | 指令预取方法与预取装置 | |
US20200183875A1 (en) | Usb transmission device and transmission method | |
CN113946445A (zh) | 一种基于asic的多线程模块及多线程控制方法 | |
CN111737103A (zh) | 一种包括调试单元的处理器和调试系统 | |
US20090254902A1 (en) | Method for improving access efficiency of small computer system interface storage device | |
CN110990169B (zh) | 一种利用共享内存进行进程间字节流通信的结构及方法 | |
WO2020108212A1 (zh) | 寄存器访问时序的管理方法、处理器、电子设备及计算机可读存储介质 | |
US11960895B2 (en) | Method and control device for returning of command response information, and electronic device | |
JP2007141155A (ja) | マルチコアプロセッサにおけるマルチコア制御方法 | |
CN108121566A (zh) | 一种图形指令解析设计方法 | |
CN202548823U (zh) | 非阻塞协处理器接口系统 | |
CN103246496A (zh) | 非阻塞协处理器接口方法和系统 | |
CN103019829A (zh) | 用签名实现的多核程序内存竞争记录及重演方法 | |
CN111399781A (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 |