【技术实现步骤摘要】
数据处理系统
本专利技术涉及数据处理系统,并且具体地,涉及包括一个或更多个可编程处理级(“着色器(shader)”)的图形处理系统的操作。
技术介绍
图形处理通常按流水线方式来执行,并且一个或更多个流水线级(stage)针对数据进行操作以生成最终渲染(render)输出,例如,被显示的帧。许多图形处理流水线现在包括一个或更多个可编程处理级,通称为“着色器”。例如,图形处理流水线可以包括以下中的一个或更多个,并且典型地包括全部:几何着色器、顶点着色器以及片段(像素)着色器。这些着色器是可编程处理级,它们针对输入的数据值执行着色器程序以生成需要的输出数据集(例如,在顶点着色器的情况下,恰当地变换并照亮顶点数据),以供图形流水线的其余部分处理和/或输出。图形处理流水线的着色器可以共用可编程处理电路,或者它们都可以是独特的可编程处理单元。
技术实现思路
图形处理单元(GPU)着色器核心是这样的处理单元,即,其通过针对诸如渲染目标的要生成的图形输出(例如,帧)中的每一个图形项运行小程序来执行图形处理(在这点上,“项”通常是顶点或片段(像素))。这通常使能实现高度并行性,因为典型的渲染输出(例如,帧)展现了相当大量的顶点和片段,每一个顶点和片段都可独立处理。要由图形处理流水线的指定“着色器”执行的着色器程序将由需要利用高级着色器编程语言(如GLSL、HLSL、OpenCLC等)的图形处理的应用来提供。着色器程序将由表示按相关语言标准(规范)定义的希望编程步骤的“表达式”构成。接着,高级着色器程序被着色器语言编译器翻译成用于目标图形处理流水线的二进制代码。该二进制代码将由“ ...
【技术保护点】
一种操作数据处理系统的方法,所述数据处理系统包括执行流水线,所述执行流水线包括执行指令以进行数据处理操作的一个或更多个可编程执行级,并且其中,执行线程被一起组合成线程组,其中,所述线程组的线程一次一个指令地锁步执行,该方法包括以下步骤:针对要由所述数据处理系统的所述执行流水线的执行级针对线程组执行的、包括存储器事务的操作:向所述执行级发出指令或指令集,以使所述执行级:针对作为整体的线程组执行所述操作;以及向所述线程组的所有活动线程提供所述操作的结果;并且响应于所述指令或指令集,所述执行流水线的所述执行级:针对作为整体的线程组执行所述操作;以及向所述线程组的所有活动线程提供所述操作的结果。
【技术特征摘要】
2015.07.03 GB 1511694.01.一种操作数据处理系统的方法,所述数据处理系统包括执行流水线,所述执行流水线包括执行指令以进行数据处理操作的一个或更多个可编程执行级,并且其中,执行线程被一起组合成线程组,其中,所述线程组的线程一次一个指令地锁步执行,该方法包括以下步骤:针对要由所述数据处理系统的所述执行流水线的执行级针对线程组执行的、包括存储器事务的操作:向所述执行级发出指令或指令集,以使所述执行级:针对作为整体的线程组执行所述操作;以及向所述线程组的所有活动线程提供所述操作的结果;并且响应于所述指令或指令集,所述执行流水线的所述执行级:针对作为整体的线程组执行所述操作;以及向所述线程组的所有活动线程提供所述操作的结果。2.根据权利要求1所述的方法,其中,要针对所述线程组执行的所述操作包括原子操作。3.根据权利要求1或2所述的方法,其中,所述操作包括锁定操作。4.根据权利要求1或2所述的方法,其中,所述执行流水线的所述执行级通过以下步骤针对作为整体的线程组执行所述操作并且向所述线程组的所有活动线程提供所述操作的结果:针对所述线程组中的一个线程执行所述指令或指令集以针对所述线程执行所述操作,同时掩蔽所述线程组中的、除针对其执行所述指令或指令集的所述线程以外的所有其它线程,以使被掩蔽的线程暂时不活动。5.根据权利要求1或2所述的方法,其中,所述执行级通过以下步骤针对作为整体的线程组执行所述操作并且向所述线程组的所有活动线程提供所述操作的结果:在与所述执行级关联的单独的执行单元中,针对作为整体的所述线程组执行所述操作。6.根据权利要求1或2所述的方法,其中,通过将所述操作的结果写入针对所述线程组中的每一个活动线程的相应的单独存储部,向所述线程组中的所有活动线程提供所述操作的结果。7.根据权利要求1或2所述的方法,其中,通过将所述操作的结果写入所述线程组中的所有活动线程都能够读取的共享存储部,向所述线程组中的所有活动线程提供所述操作的结果。8.根据权利要求1或2所述的方法,其中,要针对线程组执行的、包括存储器事务的所述操作是要由所述执行级执行的程序的一部分,并且该方法还包括以下步骤:在向所述执行级发出针对要由所述执行级执行的所述程序的指令以执行之前,相对于针对作为整体的所述线程组执行所述操作的所述指令或指令集,对所述程序中的指令进行重新排序。9.一种数据处理系统,该数据处理系统包括:执行流水线,该执行流水线包括执行指令以进行数据处理操作的一个或更多个可编程执行级,并且其中,执行线程被一起组合成线程组,其中,所述线程组中的线程一次一个指令地锁步执行;以及编译器,该编译器编译针对所述执行流水线的程序,以生成针对所述执行流水线的执行级的指令,其中,针对要由所述执行流水线的执行级针对线程组执行的、包括存储器事务的操作,所述编译器能够:向所述执行级发出指令或指令集,以使所述执行级:针对作为整体的线程组执行所述操作;以及向所述线程组的所有活动线程提供所述操作的结果;并且其中,响应于所述指令或指令集,所述执行流水线的至少一个执行级能够:针对作为整体的线程组执行所述操作;以及向所述线程组的所有活动线程提供所述操作的结果。10.根据权利要求9所述的数据处理系统,其中,要针对所述线程组执行的所述操作包括原子操作。11.根据权利要求9或10所述的数据处理系统,其中,所述操作包括锁定操作。12.根据权利要求9或10所述的数据处理系统,其中,所述执...
【专利技术属性】
技术研发人员:R·埃利奥特,V·普拉萨德,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。