CN109669769B - 一种基于SystemC面向GPU顶点着色任务调度方法 - Google Patents
一种基于SystemC面向GPU顶点着色任务调度方法 Download PDFInfo
- Publication number
- CN109669769B CN109669769B CN201811518682.XA CN201811518682A CN109669769B CN 109669769 B CN109669769 B CN 109669769B CN 201811518682 A CN201811518682 A CN 201811518682A CN 109669769 B CN109669769 B CN 109669769B
- Authority
- CN
- China
- Prior art keywords
- module
- vertex
- transaction
- task
- 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
Links
Images
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
-
- 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
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)
Abstract
本发明涉及计算机硬件建模技术领域,提供的一种基于SystemC面向GPU顶点着色任务调度方法,包括:步骤1:初始化功能,若图形绘制FIFO中有数据,则通过事务级接口输出到图形绘制模块(2),跳转到步骤2;否则若图形功能码使能变量glFunCodeEnable为使能,则通过事务级接口输出到功能码处理模块(3),跳转到步骤3;否则若调试模式DebugMode为使能状态,则通过事务级接口输出到调试模块(4),跳转到步骤4;否则循环执行步骤1;步骤2:执行图形绘制命令在简单模式和复杂模式下的处理和调度;步骤3:执行图形功能码的处理和调度;步骤4:执行调试模式下的数据处理和调度。
Description
技术领域
本发明涉及计算机硬件建模技术领域,尤其涉及一种基于SystemC面向GPU顶点着色任务调度方法。
背景技术
随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生。从1999年Nvidia发布第一款GPU产品至今,GPU技术的发展主要经历了固定功能流水线阶段、分离染色器架构阶段、统一染色器架构阶段,其图形处理能力不断提升,应用领域也从最初的图形绘制逐步扩展到通用计算领域。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
GPU芯片研制硬件逻辑规模巨大,复杂程度越来越高,需要在更高的抽象层次上对设计进行描述,以便能进行更高速度的仿真、软/硬件协同仿真和体系架构的探索。当设计被表达为系统级模型时,选用不同的算法对设计进行多次尝试是很容易做到的,换用不同的结构进行试验也能很快的完成;倘若使用寄存器传输级或门级模型来表达设计,规模通常相当大,若要试探不同的设计结构或者做一些改动,即使不是太困难,也相当费时费力。
SystemC作为一种语言推动其开发和标准化的关键因素是可以进行系统级设计,并且可以描述硬件的架构和软件的算法,支持验证和IP的交流。在系统级上使用SystemC作为软件和硬件的分割权衡比其他语言容易的多,并且进行仿真比使用多种语言进行仿真要快速的多。因此采用基于SystemC来设计和描述单元的微结构能够建立一个完全标准的仿真环境,在高抽象层次上直接建模。
发明内容
基于背景技术中存在的问题,本发明提供的一种基于SystemC面向GPU顶点着色任务调度方法,能够解决RTL仿真GPU顶点着色任务调度单元数据精确比对的问题,能够提前RTL对GPU顶点着色任务调度单元的硬件微结构在TLM模型上进行功能验证的问题。
本发明的技术解决方案是:
一种基于SystemC面向GPU顶点着色任务调度方法,包括:步骤1:初始化功能,若图形绘制FIFO中有数据,则通过事务级接口输出到图形绘制模块2,跳转到步骤2;否则若图形功能码使能变量glFunCodeEnable为使能,则通过事务级接口输出到功能码处理模块3,跳转到步骤3;否则若调试模式DebugMode为使能状态,则通过事务级接口输出到调试模块4,跳转到步骤4;否则循环执行步骤1;
步骤2:执行图形绘制命令在简单模式和复杂模式下的处理和调度;
步骤3:执行图形功能码的处理和调度;
步骤4:执行调试模式下的数据处理和调度。
步骤1包括:
图形绘制FIFO:接收来自状态参数管理模块6的图形绘制数据;
图形功能码使能变量glFunCodeEnable:来自状态参数管理模块6的标志功能码使能的状态;
调试模式DebugMode:来自寄存器模块5的调试模式使能状态。
步骤2包括:
步骤21:读图形绘制FIFO,解析读出的图形绘制数据,具体包括任务信息和属性数据;跳转到步骤22;
步骤22:将解析出的图形绘制属性数据通过事务级接口写入寄存器模块5;跳转到步骤23;
步骤23:读取寄存器模块5的寄存器组,执行判断简单/复杂模式的操作,若为简单模式则跳转到步骤24;若为复杂模式则跳转到步骤25;
步骤24:执行简单模式下的绘制命令的处理和调度:通过事物级接口读取寄存器模块5,读出顶点位置、顶点颜色和顶点边界标记这三个属性数据,再将这三个属性值组装到一起,形成257bit的数据数据传递到输出控制模块7;
步骤25:执行复杂模式下的绘制命令的处理和调度:通过事物级接口读取寄存器模块5,读出顶点属性信息:包括位置、颜色、边界标记、第二颜色、6组纹理坐标、雾坐标、法向量、10组光照属性;以及这些属性对应的开关状态;根据各属性的开关状态组装顶点属性信息;将顶点属性信息通过事务级接口发送到统一染色阵列模块8;然后将顶点任务信息通过事务级接口发送到输出控制模块7。
步骤3具体执行步骤如下:
步骤31:通过事物级接口读取寄存器模块5,读出顶点属性信息:包括位置、颜色、边界标记、第二颜色、6组纹理坐标、雾坐标、法向量、10组光照属性;跳转到步骤32;
步骤32:忽略所有属性的开关条件,无条件组装所有属性数据;跳转到步骤33;
步骤33:组装任务信息,标记任务类型为功能码类型;跳转到步骤34;
步骤34:将顶点属性信息通过事务级接口发送到统一染色阵列模块8;跳转到步骤35;
步骤35:将顶点任务信息通过事务级接口发送到输出控制模块7。
步骤4包括:
通过事务级接口连接到初始化模块1、寄存器模块5和统一染色阵列模块8;通过获取寄存器模块5中的染色任务类型,执行在染色任务类型为顶点时获取调试信息并通过事务级接口配置统一染色阵列模块8。
染色任务类型包括:顶点类型和片元类型。
调试信息包括染色任务类型、染色任务掩码。
本发明的技术效果是:
1、本发明提供的基于SystemC面向GPU顶点着色任务调度方法,内部集成初始化模块1、图形绘制模块2、功能码处理模块3、调试模块4、寄存器模块5单元,能够实现GPU顶点着色任务组装和调度。
2、图形绘制模块2实现了图形绘制数据的组装和调度功能。满足了在简单模式和复杂模式下不同的调度流程。
3、功能码处理模块实现了功能码数据的组装和调度功能。
4、本发明解决了GPU顶点着色块任务调度模RTL仿真结果模型比对的问题,解决了基于GPU顶点着色任务调度方法单元功能验证的问题,并且加快了仿真的速度。
附图说明
图1是顶点着色任务调度方法框图。
具体实施方式
一种基于SystemC面向GPU顶点着色任务调度方法,包括:
步骤1:初始化功能,若图形绘制FIFO中有数据,则通过事务级接口输出到图形绘制模块2,跳转到步骤2;否则若图形功能码使能变量glFunCodeEnable为使能,则通过事务级接口输出到功能码处理模块3,跳转到步骤3;否则若调试模式DebugMode为使能状态,则通过事务级接口输出到调试模块4,跳转到步骤4;否则循环执行步骤1;
步骤2:执行图形绘制命令在简单模式和复杂模式下的处理和调度;
步骤3:执行图形功能码的处理和调度;
步骤4:执行调试模式下的数据处理和调度。
所述的步骤1,其特征在于:
图形绘制FIFO:接收来自状态参数管理模块6的图形绘制数据;
图形功能码使能变量glFunCodeEnable:来自状态参数管理模块6的标志功能码使能的状态;
调试模式DebugMode:来自寄存器模块5的调试模式使能状态。
所述的步骤2,其特征在于:
步骤21:读图形绘制FIFO,解析读出的图形绘制数据,具体包括任务信息和属性数据;跳转到步骤22:
步骤22:将解析出的图形绘制属性数据通过事务级接口写入寄存器模块5;跳转到步骤23:
步骤23:读取寄存器模块5的寄存器组,执行判断简单/复杂模式的操作,若为简单模式则跳转到步骤24;若为复杂模式则跳转到步骤25;
步骤24:执行简单模式下的绘制命令的处理和调度:通过事物级接口读取寄存器模块5,读出顶点位置、顶点颜色和顶点边界标记这三个属性数据,再将这三个属性值组装到一起,形成257bit的数据数据传递到输出控制模块7;
步骤25:执行复杂模式下的绘制命令的处理和调度:通过事物级接口读取寄存器模块5,读出顶点属性信息:包括位置、颜色、边界标记、第二颜色、6组纹理坐标、雾坐标、法向量、10组光照属性;以及这些属性对应的开关状态;根据各属性的开关状态组装顶点属性信息;将顶点属性信息通过事务级接口发送到统一染色阵列模块8;然后将顶点任务信息通过事务级接口发送到输出控制模块7。
所述的步骤3,其特征在于:执行功能码数据的组装和调度,顶点着色任务调度单元收到的功能码只有glRasterPos一个,具体执行步骤如下:
步骤31:通过事物级接口读取寄存器模块5,读出顶点属性信息:包括位置、颜色、边界标记、第二颜色、6组纹理坐标、雾坐标、法向量、10组光照属性;跳转到步骤32;
步骤32:忽略所有属性的开关条件,无条件组装所有属性数据;跳转到步骤33;
步骤33:组装任务信息,标记任务类型为功能码类型;跳转到步骤34;
步骤34:将顶点属性信息通过事务级接口发送到统一染色阵列模块8;跳转到步骤35;
步骤35:将顶点任务信息通过事务级接口发送到输出控制模块7。
所述的步骤4,其特征在于:通过事务级接口连接到初始化模块1、寄存器模块5和统一染色阵列模块8;通过获取寄存器模块5中的染色任务类型(支持顶点和片元两种),执行在染色任务类型为顶点时获取调试信息(包括染色任务类型、染色任务掩码等)并通过事务级接口配置统一染色阵列模块8。
所述的基于SystemC面向GPU顶点着色任务调度方法,涉及到的微结构包括初始化模块1、图形绘制模块2、功能码处理模块3、调试模块4、寄存器模块5。
所述初始化模块1与外部状态参数管理模块6通过事务级接口相连接;图形绘制模块2、功能码处理模块3、调试模块4三个子单元在物理、逻辑上相互独立,均与初始化模块1通过事务级接口相连接;
图形绘制模块2与外部输出控制模块7和统一染色阵列模块8通过事务级接口相连接;
功能码处理模块3与外部输出控制模块7和统一染色阵列模块8通过事务级接口相连接;
寄存器模块5通过事务级接口与初始化模块1、几何数据组装模块2、位图/图像数据组装模块3、调试模块4及外部模块主机9相连接。如附图1所示。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于SystemC面向GPU顶点着色任务调度方法,其特征在于:包括:
步骤1:初始化功能,若图形绘制FIFO中有数据,则通过事务级接口输出到图形绘制模块(2),跳转到步骤2;否则若图形功能码使能变量glFunCodeEnable为使能,则通过事务级接口输出到功能码处理模块(3),跳转到步骤3;否则若调试模式DebugMode为使能状态,则通过事务级接口输出到调试模块(4),跳转到步骤4;否则循环执行步骤1;
步骤2:执行图形绘制命令在简单模式和复杂模式下的处理和调度;
步骤3:执行图形功能码的处理和调度;
步骤4:执行调试模式下的数据处理和调度。
2.根据权利要求1所述的一种基于SystemC面向GPU顶点着色任务调度方法,其特征在于:步骤1包括:
图形绘制FIFO:接收来自状态参数管理模块(6)的图形绘制数据;
图形功能码使能变量glFunCodeEnable:来自状态参数管理模块(6)的标志功能码使能的状态;
调试模式DebugMode:来自寄存器模块(5)的调试模式使能状态。
3.根据权利要求1所述的一种基于SystemC面向GPU顶点着色任务调度方法,其特征在于:步骤2包括:
步骤21:读图形绘制FIFO,解析读出的图形绘制数据,具体包括任务信息和属性数据;跳转到步骤22;
步骤22:将解析出的图形绘制属性数据通过事务级接口写入寄存器模块(5);跳转到步骤23;
步骤23:读取寄存器模块(5)的寄存器组,执行判断简单/复杂模式的操作,若为简单模式则跳转到步骤24;若为复杂模式则跳转到步骤25;
步骤24:执行简单模式下的绘制命令的处理和调度:通过事物级接口读取寄存器模块(5),读出顶点位置、顶点颜色和顶点边界标记这三个属性数据,再将这三个属性值组装到一起,形成257bit的数据数据传递到输出控制模块(7);
步骤25:执行复杂模式下的绘制命令的处理和调度:通过事物级接口读取寄存器模块(5),读出顶点属性信息:包括位置、颜色、边界标记、第二颜色、6组纹理坐标、雾坐标、法向量、10组光照属性;以及这些属性对应的开关状态;根据各属性的开关状态组装顶点属性信息;将顶点属性信息通过事务级接口发送到统一染色阵列模块(8);然后将顶点任务信息通过事务级接口发送到输出控制模块(7)。
4.根据权利要求1所述的一种基于SystemC面向GPU顶点着色任务调度方法,其特征在于:步骤3具体执行步骤如下:
步骤31:通过事物级接口读取寄存器模块(5),读出顶点属性信息:包括位置、颜色、边界标记、第二颜色、6组纹理坐标、雾坐标、法向量、10组光照属性;跳转到步骤32;
步骤32:忽略所有属性的开关条件,无条件组装所有属性数据;跳转到步骤33;
步骤33:组装任务信息,标记任务类型为功能码类型;跳转到步骤34;
步骤34:将顶点属性信息通过事务级接口发送到统一染色阵列模块(8);跳转到步骤35;
步骤35:将顶点任务信息通过事务级接口发送到输出控制模块(7)。
5.根据权利要求1所述的一种基于SystemC面向GPU顶点着色任务调度方法,其特征在于:步骤4包括:
通过事务级接口连接到初始化模块(1)、寄存器模块(5)和统一染色阵列模块(8);通过获取寄存器模块(5)中的染色任务类型,执行在染色任务类型为顶点时获取调试信息并通过事务级接口配置统一染色阵列模块(8)。
6.根据权利要求5所述的一种基于SystemC面向GPU顶点着色任务调度方法,其特征在于:染色任务类型包括:顶点类型和片元类型。
7.根据权利要求5所述的一种基于SystemC面向GPU顶点着色任务调度方法,其特征在于:调试信息包括染色任务类型、染色任务掩码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518682.XA CN109669769B (zh) | 2018-12-12 | 2018-12-12 | 一种基于SystemC面向GPU顶点着色任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518682.XA CN109669769B (zh) | 2018-12-12 | 2018-12-12 | 一种基于SystemC面向GPU顶点着色任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669769A CN109669769A (zh) | 2019-04-23 |
CN109669769B true CN109669769B (zh) | 2022-11-22 |
Family
ID=66144344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811518682.XA Active CN109669769B (zh) | 2018-12-12 | 2018-12-12 | 一种基于SystemC面向GPU顶点着色任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669769B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111028128B (zh) * | 2019-11-18 | 2023-10-17 | 中国航空工业集团公司西安航空计算技术研究所 | 基于SystemC面向GPU顶点输出控制方法及单元 |
CN111047502B (zh) * | 2019-11-21 | 2023-06-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种大规模simt染色阵列验证方法 |
CN112581577A (zh) * | 2020-12-05 | 2021-03-30 | 西安翔腾微电子科技有限公司 | 一种基于SystemC的面向GPU片元输出控制TLM装置及操作方法 |
CN112581581B (zh) * | 2020-12-24 | 2024-04-26 | 西安翔腾微电子科技有限公司 | 一种基于SysML视图的GPU视窗变换模块TLM装置及操作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709860A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
CN108122190A (zh) * | 2017-12-06 | 2018-06-05 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色阵列顶点染色任务属性数据组装方法 |
CN108520489A (zh) * | 2018-04-12 | 2018-09-11 | 长沙景美集成电路设计有限公司 | Gpu中一种实现命令解析和顶点获取并行的装置和方法 |
-
2018
- 2018-12-12 CN CN201811518682.XA patent/CN109669769B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709860A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
CN108122190A (zh) * | 2017-12-06 | 2018-06-05 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色阵列顶点染色任务属性数据组装方法 |
CN108520489A (zh) * | 2018-04-12 | 2018-09-11 | 长沙景美集成电路设计有限公司 | Gpu中一种实现命令解析和顶点获取并行的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109669769A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669769B (zh) | 一种基于SystemC面向GPU顶点着色任务调度方法 | |
US7523023B1 (en) | Automatic generation of component interfaces for computational hardware implementations generated from a block diagram model | |
KR102523518B1 (ko) | 칩을 검증하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
KR101640295B1 (ko) | 정규 표현을 컴파일하기 위한 방법 및 장치 | |
US10360327B2 (en) | Modifying a virtual processor model for hardware/software simulation | |
US11204747B1 (en) | Re-targetable interface for data exchange between heterogeneous systems and accelerator abstraction into software instructions | |
CN109087384B (zh) | 光线跟踪系统和方法以及光线压缩方法和模块 | |
US7865346B2 (en) | Instruction encoding in a hardware simulation accelerator | |
JPH11513512A (ja) | ディジタル信号プロセッサの製造方法 | |
CN106462431B (zh) | 在高级综合中提取系统架构 | |
CN109727186B (zh) | 一种基于SystemC面向GPU片元着色任务调度方法 | |
CN109840878B (zh) | 一种基于SystemC的面向GPU参数管理方法 | |
US20070067150A1 (en) | Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator | |
Bjerge et al. | A scalable and efficient convolutional neural network accelerator using HLS for a system-on-chip design | |
CN111028128A (zh) | 一种基于SystemC的面向GPU顶点输出控制方法及单元 | |
CN109710398B (zh) | 一种基于uml的面向gpu顶点着色任务调度方法 | |
US10929584B1 (en) | Environmental modification testing for design correctness with formal verification | |
CN109346028B (zh) | 一种基于tlm的三角形光栅化扫描结构 | |
CN110210046B (zh) | 应用程序及专用指令集处理器一体化敏捷设计方法 | |
US20230206542A1 (en) | Variable width bounding volume hierarchy nodes | |
US20210294579A1 (en) | Graphics pipeline optimizations | |
Lohoff et al. | Interfacing neuromorphic hardware with machine learning frameworks-a review | |
CN109656532B (zh) | 一种基于uml的面向gpu片元着色任务调度方法 | |
CN111950219B (zh) | 用于实现模拟器的方法、装置、设备以及介质 | |
Bombieri et al. | HDTLib: an efficient implementation of SystemC data types for fast simulation at different abstraction levels |
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 |