一种图形处理器、任务执行方法、设备及介质与流程

摘要: 本申请属于数据处理,尤其涉及一种图形处理器、任务执行方法、设备及介质。背景技术:1、图形处理器(graphicsprocessingunit,gpu)可执行的任...
一种图形处理器、任务执行方法、设备及介质与流程

本申请属于数据处理,尤其涉及一种图形处理器、任务执行方法、设备及介质。

背景技术:

1、图形处理器(graphics processing unit,gpu)可执行的任务类型包括多种,例如,可包括2d任务和3d任务等。

2、一般来说,2d任务和3d任务可由gpu内部不同的引擎执行,但由于2d任务的引擎难以执行像素级的乘加、插值或格式转换等复杂操作,因此,可将复杂操作交由3d任务的引擎执行。

3、此时,3d任务穿插在大量2d任务之间执行,涉及2d任务及3d任务的上下文的频繁转换,这种上下文转换消耗了较多计算资源及时间,导致gpu性能受到影响。

技术实现思路

1、本申请实施例提供了一种图形处理器、任务执行方法、设备及介质,以解决2d任务及3d任务之间频繁执行上下文转换,消耗较多计算资源及时间,导致gpu性能下降的问题。

2、本申请实施例的第一方面,提供一种图形处理器,所述图形处理器包括指令管线、指令缓存单元及执行单元组,所述指令缓存单元存储至少两个待执行任务的任务指令序列,所述待执行任务的任务类型包括第一类型及第二类型,所述执行单元组包括至少一个执行单元、至少一个第一寄存器及至少一个第二寄存器,所述第一寄存器与第一类型的待执行任务对应,所述第二寄存器与第二类型的所述待执行任务对应;其中:

3、所述指令管线,用于将所述指令缓存单元中所述第一类型的待执行任务的任务指令序列的控制流传输至所述第一寄存器,以及,将所述指令缓存单元中所述第二类型的待执行任务的任务指令序列的控制流传输至所述第二寄存器;

4、所述第一寄存器,用于接收和配置所述第一类型的待执行任务的控制流;

5、所述第二寄存器,用于接收和配置所述第二类型的待执行任务的控制流;

6、所述指令管线,还用于在任一所述待执行任务的控制流配置完成的情况下,将所述待执行任务的任务指令序列的数据流传输至执行单元;

7、所述执行单元,用于在任一所述待执行任务的控制流配置完成的情况下,基于接收到的所述数据流,执行所述待执行任务。

8、本申请实施例的第二方面,提供一种任务执行方法,所述方法应用于图形处理器,所述图形处理器包括指令管线、指令缓存单元及执行单元组,所述指令缓存单元存储至少两个待执行任务的任务指令序列,所述待执行任务的任务类型包括第一类型及第二类型,所述执行单元组包括至少一个执行单元、至少一个第一寄存器及至少一个第二寄存器,所述第一寄存器与第一类型的待执行任务对应,所述第二寄存器与第二类型的所述待执行任务对应,所述方法包括:

9、通过所述指令管线,将所述指令缓存单元中所述第一类型的待执行任务的任务指令序列的控制流传输至所述第一寄存器,以及,将所述指令缓存单元中所述第二类型的待执行任务的任务指令序列的控制流传输至所述第二寄存器;

10、通过所述第一寄存器,接收和配置所述第一类型的待执行任务的控制流;

11、通过所述第二寄存器,接收和配置所述第二类型的待执行任务的控制流;

12、通过所述指令管线,在任一所述待执行任务的控制流配置完成的情况下,将所述待执行任务的任务指令序列的数据流传输至执行单元;

13、通过所述执行单元,在任一所述待执行任务的控制流配置完成的情况下,基于接收到的所述数据流,执行所述待执行任务。

14、本申请实施例的第三方面,提供一种电子设备,所述电子设备包括:存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如上述本申请实施例的任意一方面提供的所述的任务执行方法。

15、本申请实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上有计算机程序,所述计算机程序被处理器运行时执行本申请实施例的任意一方面提供的所述的任务执行方法的步骤。

16、本申请实施例提供的图形处理器、任务执行方法、设备及介质中,通过增加一个或多个与任务类型对应的寄存器,将3d任务的寄存器与2d任务的寄存器隔离,在执行不同任务类型的任务时,由于使用的寄存器不同,因此,无需进行上下文切换,节约了开销,提升了gpu性能。

1.一种图形处理器,其特征在于,所述图形处理器包括指令管线、指令缓存单元及执行单元组,所述指令缓存单元存储至少两个待执行任务的任务指令序列,所述待执行任务的任务类型包括第一类型及第二类型,所述执行单元组包括至少一个执行单元、至少一个第一寄存器及至少一个第二寄存器,所述第一寄存器与第一类型的所述待执行任务对应,所述第二寄存器与第二类型的所述待执行任务对应;其中:

2.如权利要求1所述的图形处理器,其特征在于,所述执行单元,用于基于接收到的所述数据流,从所述图形处理器包括的内存中,获取所述待执行任务的任务数据,基于所述任务数据,执行所述待执行任务。

3.如权利要求2所述的图形处理器,其特征在于,所述指令管线,用于在所述执行单元基于接收到的所述数据流,从所述图形处理器包括的内存中,获取所述待执行任务的任务数据的过程中,将所述指令缓存单元中下一待执行任务的控制流传输至与所述下一待执行任务的任务类型对应的空闲寄存器。

4.如权利要求2所述的图形处理器,其特征在于,所述指令管线,用于在所述执行单元基于所述任务数据,执行所述待执行任务的过程中,将所述指令缓存单元中下一待执行任务的控制流传输至与所述下一待执行任务的任务类型对应的空闲寄存器。

5.如权利要求4所述的图形处理器,其特征在于,所述指令管线,用于存在至少两个所述空闲寄存器的情况下,通过轮询算法,在至少两个所述空闲寄存器中确定出目标寄存器,将所述指令缓存单元中下一待执行任务的控制流传输至所述目标寄存器。

6.如权利要求4所述的图形处理器,其特征在于,所述指令管线,用于在不存在空闲寄存器的情况下,停止执行将所述指令缓存单元中所述待执行任务的控制流传输至对应类型的寄存器的步骤。

7.如权利要求1所述的图形处理器,其特征在于,在所述执行单元的待执行任务处于阻塞状态且获取到其他待执行任务的任务数据的情况下,所述执行单元,用于基于所述其他待执行任务的任务数据,执行所述其他待执行任务。

8.如权利要求1所述的图形处理器,其特征在于,所述第一类型为二维块传输任务,所述第二类型为三维块传输任务或三维渲染任务。

9.一种任务执行方法,其特征在于,所述方法应用于图形处理器,所述图形处理器包括指令管线、指令缓存单元及执行单元组,所述指令缓存单元存储至少两个待执行任务的任务指令序列,所述待执行任务的任务类型包括第一类型及第二类型,所述执行单元组包括至少一个执行单元、至少一个第一寄存器及至少一个第二寄存器,所述第一寄存器与第一类型的待执行任务对应,所述第二寄存器与第二类型的所述待执行任务对应,所述方法包括:

10.一种电子设备,其特征在于,所述电子设备包括:存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如权利要求9所述的任务执行方法。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使图形处理器执行时实现权利要求9所述的任务执行方法。