签名命令流和命令执行制造技术

技术编号:37881220 阅读:24 留言:0更新日期:2023-06-15 21:09
提供了用于签名和执行图形处理单元(GPU)命令的系统、方法和计算机可读介质。在一些示例中,一种方法可以包括:由GPU接收一个或多个命令,一个或多个命令包括使用处理器而生成的一个或多个验证签名,一个或多个验证签名中的每个验证签名包括基于一个或多个命令而生成的第一值;由GPU生成与一个或多个命令相关联的一个或多个额外验证签名,其中,一个或多个额外验证签名中的每个验证签名包括由GPU基于一个或多个命令而生成的第二值;以及由GPU基于对一个或多个验证签名和一个或多个额外验证签名的比较来确定一个或多个命令的有效性。证签名的比较来确定一个或多个命令的有效性。证签名的比较来确定一个或多个命令的有效性。

【技术实现步骤摘要】
【国外来华专利技术】签名命令流和命令执行


[0001]概括而言,本公开内容涉及图形处理系统,并且更具体地,涉及签名和执行图形处理器命令流。

技术介绍

[0002]诸如图形处理单元(GPU)之类的专用处理器越来越多地用于执行计算机系统中的特定操作。例如,GPU在操纵计算机图形和图像处理方面是非常高效的。对于并行地处理大数据块的算法,GPU的高度并行结构使GPU比许多其它处理器更高效。因此,GPU通常用于处理计算机图形并且渲染图形内容以在显示设备上呈现。此外,GPU通常与其它处理器(诸如中央处理单元(CPU))协同工作,以更高效地执行计算机应用并且卸载某些处理任务。在一些示例中,CPU可以向GPU发送一个或多个命令流,GPU可以将其作为由CPU和GPU执行的计算机应用的部分来执行。

技术实现思路

[0003]本文公开了用于签名和执行图形处理单元(GPU)命令流的系统、方法和计算机可读介质。根据至少一个示例,提供了一种用于签名和执行GPU命令流的方法。一种示例方法可以包括:由图形处理单元(GPU)接收一个或多个命令,所述一个或多个命令包括使用处理器而生成的一个或多个验证签名,所述一个或多个验证签名中的每个验证签名包括基于所述一个或多个命令而生成的第一值;由所述GPU生成与所述一个或多个命令相关联的一个或多个额外验证签名,其中,所述一个或多个额外验证签名中的每个验证签名包括由所述GPU基于所述一个或多个命令而生成的第二值;以及由所述GPU基于对所述一个或多个验证签名和所述一个或多个额外验证签名的比较来确定所述一个或多个命令的有效性。
[0004]根据至少一些示例,提供了一种用于签名和执行GPU命令流的装置。在一个示例在,一种示例装置可以包括:存储器和一个或多个处理器,其被配置为:通过图形处理单元(GPU)接收一个或多个命令,所述一个或多个命令包括使用处理器而生成的一个或多个验证签名,所述一个或多个验证签名中的每个验证签名包括基于所述一个或多个命令而生成的第一值;通过所述GPU生成与所述一个或多个命令相关联的一个或多个额外验证签名,其中,所述一个或多个额外验证签名中的每个验证签名包括由所述GPU基于所述一个或多个命令而生成的第二值;以及通过所述GPU基于对所述一个或多个验证签名和所述一个或多个额外验证签名的比较来确定所述一个或多个命令的有效性。
[0005]在另一示例中,一种示例装置可以包括:用于通过图形处理单元(GPU)接收一个或多个命令的单元,所述一个或多个命令包括使用处理器而生成的一个或多个验证签名,所述一个或多个验证签名中的每个验证签名包括基于所述一个或多个命令而生成的第一值;用于通过所述GPU生成与所述一个或多个命令相关联的一个或多个额外验证签名的单元,其中,所述一个或多个额外验证签名中的每个验证签名包括由所述GPU基于所述一个或多个命令而生成的第二值;以及用于通过所述GPU基于对所述一个或多个验证签名和所述一
个或多个额外验证签名的比较来确定所述一个或多个命令的有效性的单元。
[0006]根据至少一个示例,提供了用于签名和执行GPU命令流的非暂时性计算机可读介质。一种示例非暂时性计算机可读介质可以存储指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:通过图形处理单元(GPU)接收一个或多个命令,所述一个或多个命令包括使用处理器而生成的一个或多个验证签名,所述一个或多个验证签名中的每个验证签名包括基于所述一个或多个命令而生成的第一值;通过所述GPU生成与所述一个或多个命令相关联的一个或多个额外验证签名,其中,所述一个或多个额外验证签名中的每个验证签名包括由所述GPU基于所述一个或多个命令而生成的第二值;以及通过所述GPU基于对所述一个或多个验证签名和所述一个或多个额外验证签名的比较来确定所述一个或多个命令的有效性。
[0007]在一些方面中,如在上述方法、装置和计算机可读介质中描述的确定所述一个或多个命令的所述有效性可以包括:确定与所述一个或多个验证签名相关联的所述第一值与同所述一个或多个额外验证签名相关联的所述第二值匹配;以及确定所述一个或多个命令是有效的。在一些示例中,确定所述一个或多个命令是有效的可以导致(和/或包括)以下各项中的至少一项:确定所述一个或多个命令被授权以由所述GPU执行,确定所述一个或多个命令的完整性,和/或确定所述一个或多个命令不包括未经授权的改动。
[0008]在一些方面中,上述方法、装置和计算机可读介质可以包括:基于所述一个或多个命令是有效的,授权在所述GPU处对所述一个或多个命令的执行。
[0009]在一些情况下,确定所述一个或多个命令的所述有效性可以包括:确定与所述一个或多个验证签名相关联的所述第一值与同所述一个或多个额外验证签名相关联的所述第二值不匹配;以及确定所述一个或多个命令是无效的。在一些示例中,确定所述一个或多个命令是无效的可以导致(和/或包括)以下各项中的至少一项:确定所述一个或多个命令未被授权以由所述GPU执行和/或确定所述一个或多个命令包括一个或多个未经授权的改动。
[0010]在一些方面中,上述方法、装置和计算机可读介质可以包括:基于所述一个或多个命令是无效的,防止在所述GPU处对所述一个或多个命令的执行和/或在所述GPU处的所述一个或多个命令的当前执行的完成。
[0011]在一些示例中,所述一个或多个命令指定要由所述GPU执行的一个或多个操作,并且所述一个或多个命令的所述有效性是在所述一个或多个命令和/或与所述一个或多个命令相关联的软件应用的运行时执行期间确定的。
[0012]在一些情况下,所述第一值和所述第二值是基于所述一个或多个命令的一个或多个特性来生成的。在一些示例中,所述一个或多个特性可以包括:命令数量、一种或多种类型的命令的数量、所述一个或多个命令中的至少一个命令的内容、和/或在所述一个或多个命令中包括的一个或多个间接指针。在一些情况下,所述一个或多个间接指针可以包括对一个或多个额外命令的一个或多个引用。
[0013]在一些方面中,所述一个或多个验证签名和所述第一值可以是由用户空间设备驱动器、内核空间驱动器和/或被授权以创建命令流和/或操纵命令流的处理器生成的。在一些示例中,所述一个或多个额外验证签名和所述第二值可以是由与所述GPU相关联的命令处理器、与所述GPU相关联的着色器处理器和/或被授权以创建命令流和操纵命令流中的至
少一个操作的处理器生成的。在一些情况下,所述一个或多个命令的所述有效性可以是由所述命令处理器和/或所述着色器处理器来确定的。
[0014]在一些示例中,所述一个或多个命令可以包括:命令流、着色器程序、引用所述着色器程序的命令、和/或针对存储器中的与所述一个或多个命令相关联的一个或多个位置的一个或多个指针。
[0015]在一些情况下,所述一个或多个命令的所述有效性可以是在与所述一个或多个命令相关联的软件应用的运行时执行期间以及在所述一个或多个命令的执行和/或与所述一个或多个命令相关联的一个或多个操作的完成之前确定的。
[001本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种处理至少一个命令的方法,包括:由图形处理单元(GPU)接收一个或多个命令,所述一个或多个命令包括使用处理器而生成的一个或多个验证签名,所述一个或多个验证签名中的每个验证签名包括基于所述一个或多个命令而生成的第一值;由所述GPU生成与所述一个或多个命令相关联的一个或多个额外验证签名,其中,所述一个或多个额外验证签名中的每个验证签名包括由所述GPU基于所述一个或多个命令而生成的第二值;以及由所述GPU基于对所述一个或多个验证签名和所述一个或多个额外验证签名的比较来确定所述一个或多个命令的有效性。2.根据权利要求1所述的方法,其中,确定所述一个或多个命令的所述有效性包括:确定与所述一个或多个验证签名相关联的所述第一值与同所述一个或多个额外验证签名相关联的所述第二值相匹配;以及确定所述一个或多个命令是有效的。3.根据权利要求2所述的方法,其中,确定所述一个或多个命令是有效的导致以下各项中的至少一项:确定所述一个或多个命令被授权以由所述GPU执行,确定所述一个或多个命令的完整性,以及确定所述一个或多个命令不包括未经授权的改动。4.根据权利要求2所述的方法,还包括:基于所述一个或多个命令是有效的,授权在所述GPU处对所述一个或多个命令的执行。5.根据权利要求1所述的方法,其中,确定所述一个或多个命令的所述有效性包括:确定与所述一个或多个验证签名相关联的所述第一值与同所述一个或多个额外验证签名相关联的所述第二值不匹配;以及确定所述一个或多个命令是无效的。6.根据权利要求5所述的方法,其中,确定所述一个或多个命令是无效的导致以下各项中的至少一项:确定所述一个或多个命令未被授权以由所述GPU执行,以及确定所述一个或多个命令包括一个或多个未经授权的改动。7.根据权利要求5所述的方法,还包括:基于所述一个或多个命令是无效的,防止以下各项中的至少一项:在所述GPU处对所述一个或多个命令的执行,以及在所述GPU处的所述一个或多个命令的当前执行的完成。8.根据权利要求1所述的方法,其中,所述一个或多个命令指定要由所述GPU执行的一个或多个操作,并且其中,所述一个或多个命令的所述有效性是在所述一个或多个命令和与所述一个或多个命令相关联的软件应用中的至少一项的运行时执行期间确定的。9.根据权利要求1所述的方法,其中,所述第一值和所述第二值中的至少一项是基于所述一个或多个命令的一个或多个特性来生成的,所述一个或多个特性包括以下各项中的至少一项:命令的数量、一种或多种类型的命令的数量、所述一个或多个命令中的至少一个命令的内容、以及在所述一个或多个命令中包括的一个或多个间接指针,所述一个或多个间接指针包括对一个或多个额外命令的一个或多个引用。10.根据权利要求1所述的方法,其中,所述一个或多个验证签名和所述第一值是由用户空间设备驱动器和内核空间驱动器中的至少一者生成的,并且其中,所述一个或多个额外验证签名和所述第二值是由以下各者中的至少一者生成的:与所述GPU相关联的命令处
理器、与所述GPU相关联的着色器处理器、以及被授权以创建命令流和操纵命令流中的至少一个操作的处理器。11.根据权利要求10所述的方法,其中,所述一个或多个命令的所述有效性是由所述命令处理器和所述着色器处理器中的至少一者来确定的。12.根据权利要求1所述的方法,其中,所述一个或多个命令包括以下各项中的至少一项:命令流、着色器程序、引用所述着色器程序的命令、以及针对存储器中的与所述一个或多个命令相关联的一个或多个位置的一个或多个指针。13.根据权利要求1所述的方法,其中,所述一个或多个命令的所述有效性是在与所述一个或多个命令相关联的软件应用的运行时执行期间以及在所述一个或多个命令的执行和与所述一个或多个命令相关联的一个或多个操作的完成中的至少一项之前确定的。14.根据权利要求1所述的方法,其中,所述一个或多个命令包括命令流,所述命令流包括多个命令,并且所述一个或多个验证签名包括指示当所述一个或多个验证签名被确定为无效时应当拒绝所述一个或多个命令的执行的命令和指令中的至少一项。15.一种用于处理至少一个命令的装置,包括:存储器;以及耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:通过图形处理单元(GPU)接收一个或多个命令,所述一个或多个命令包括使用处理器而生成的一个或多个验证签名,所述一个或多个验证签名中的每个验证签名包括基于所述一个或多个命令而生成的第一值;通过所述GPU生成与所述一个或多个命令相...

【专利技术属性】
技术研发人员:A
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1