对任务进行调度制造技术

技术编号:20025092 阅读:17 留言:0更新日期:2019-01-06 04:12
本公开涉及但不限于对任务进行调度。描述了一种在并行处理单元内激活调度指令的方法。该方法包括通过检查存储在指令控制器中的且与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满。如果目标ALU未满,则解码的指令被发送到目标ALU以用于执行,并且与目标ALU相关联的ALU工作充满度计数器被更新。然而,如果目标ALU为满,则调度器被触发以通过将调度任务从激活状态改变为非激活状态来去激活调度任务。当ALU从满改变为未满时,调度器被触发以通过将等待ALU的最早的调度任务从非激活状态中移除来重新激活该最早的调度任务。

【技术实现步骤摘要】
对任务进行调度背景图形处理单元(GPU)包括高度并行的结构,其被设计为并行地对大量数据进行高效处理。GPU通常用于计算机图形(例如,在屏幕上呈现3D图像),但是它们也可以用于受益于它们提供的并行性的其他操作。下面描述的实施方式仅作为示例被提供,且不是解决已知GPU或其他并行处理单元的任何或所有缺点的实现方式的限制。概述提供本概述来以简化形式引入在以下详细描述中将进一步描述的概念的选择。本概述不旨在标识出要求保护的主题的关键特征或必要特征,亦不旨在用于限定要求保护的主题的范围。描述了一种在并行处理单元内激活调度指令的方法。该方法包括通过检查存储在指令控制器中的且与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满。如果目标ALU未满,则解码的指令被发送到目标ALU以用于执行,并且与目标ALU相关联的ALU工作充满度计数器被更新。然而,如果目标ALU为满,则调度器被触发以通过将调度任务从激活状态改变为非激活状态来去激活调度任务。当ALU从满改变为未满时,调度器被触发以通过将等待ALU的最早的调度任务从非激活状态中移除来重新激活该最早的调度任务。第一方面提供了一种在并行处理单元内激活调度指令的方法,包括:在指令控制器中对处于激活状态的调度任务中的指令进行解码;通过检查存储在指令控制器中的且与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满;响应于确定目标ALU未满,将解码的指令发送到目标ALU以用于执行,并且更新与目标ALU相关联的ALU工作充满度计数器;响应于确定目标ALU满,触发调度器以通过将调度任务从激活状态改变为非激活状态来去激活调度任务;监视存储在指令控制器中的ALU工作充满度计数器;以及响应于作为该监视的结果而检测到ALU已经从满改变为未满时,触发调度器以通过将等待ALU的最早的调度任务从非激活状态中移除来重新激活该最早的调度任务。第二方面提供了一种指令控制器,包括:输入端,该输入端用于从调度任务调度器接收处于激活状态的调度任务中的指令;指令解码器,该指令解码器被布置成对所接收的指令进行解码;存储器元件,该存储器元件被布置成存储多个ALU工作充满度计数器;以及硬件逻辑,该硬件逻辑被布置成通过检查与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满,并且响应于确定目标ALU未满,将解码的指令发送到目标ALU以用于执行,并且更新与目标ALU相关联的ALU工作充满度计数器;硬件逻辑,该硬件逻辑被布置成响应于确定目标ALU满,触发调度器以通过将调度任务从激活状态改变为非激活状态来去激活调度任务;以及硬件逻辑,该硬件逻辑被布置成监视ALU工作充满度计数器,并且响应于作为该监视的结果而检测到ALU已经从满改变为未满,触发调度器以通过将等待ALU的最早的调度任务从非激活状态中移除来重新激活该最早的调度任务。第三方面提供了一种集成电路制造系统,包括:计算机可读存储介质,该计算机可读存储介质具有在其上被存储的描述指令控制器的、集成电路的计算机可读描述;布局处理系统,该布局处理系统被配置为处理集成电路描述,以生成体现指令控制器的、集成电路的电路布局描述;以及集成电路生成系统,该集成电路生成系统被配置为根据电路布局描述来制造指令控制器,其中,该指令控制器包括:输入端,该输入端用于从调度器接收处于激活状态的调度任务中的指令;指令解码器,该指令解码器被布置成对所接收的指令进行解码;存储器元件,该存储器元件被布置成存储多个ALU工作充满度计数器;以及硬件逻辑,该硬件逻辑被布置成通过检查与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满,并且响应于确定目标ALU未满而将解码的指令发送到目标ALU以用于执行,并且更新与目标ALU相关联的ALU工作充满度计数器;硬件逻辑,该硬件逻辑被布置成响应于确定目标ALU满,触发调度器以通过将调度任务从激活状态改变为非激活状态来去激活调度任务;以及硬件逻辑,该硬件逻辑被布置成监视ALU工作充满度计数器,并且响应于作为该监视的结果而检测到ALU已经从满改变为未满,触发调度器以通过将等待ALU的最早的调度任务从非激活状态中移除来重新激活该最早的调度任务。另外的方面提供了:一种并行处理系统,该并行处理系统被配置为执行如本文中所描述的方法;一种计算机可读代码,该计算机可读代码被配置为使得当代码在计算机上运行时执行本文中所描述的方法的步骤;一种制造方法,该制造方法使用集成电路制造系统制造如本文中所描述的指令控制器;一种计算机可读代码,该计算机可读代码被配置为使如本文中所描述的方法当代码运行时被执行;一种集成电路定义数据集,其当在集成电路制造系统中被处理时,将集成电路制造系统配置为制造如本文中所描述的指令控制器;一种计算机可读存储介质,其上存储有集成电路的计算机可读描述,当该集成电路的计算机可读描述在集成电路制造系统中被处理时使得集成电路制造系统制造如本文中所描述的指令控制器;一种集成电路制造系统,该集成电路制造系统被配置为制造如本文中所描述的指令控制器。本文描述的指令控制器和/或调度任务调度器可以体现在集成电路上的硬件中。可以提供在集成电路制造系统中制造如本文所述的指令控制器和/或调度任务调度器的方法。可以提供集成电路定义数据集,其在集成电路制造系统中被处理时,将系统配置为制造如本文描述的指令控制器和/或调度任务调度器。可提供一种非暂时性计算机可读存储介质,其上存储有集成电路的计算机可读描述,当该集成电路的计算机可读描述被处理的时候,使得布局处理系统生成在集成电路制造系统中使用的电路布局描述,以制造本文描述的指令控制器和/或调度任务调度器。可以提供一种集成电路制造系统,其包括:非暂时性计算机可读存储介质,在其上存储有描述如本文所述的指令控制器和/或调度任务调度器的计算机可读集成电路描述;布局处理系统,其被配置为处理集成电路描述,以便生成包括如本文所述的指令控制器和/或调度任务调度器的集成电路的电路布局描述;以及集成电路生成系统,其被配置为根据电路布局描述来制造如本文所述的指令控制器和/或调度任务调度器。可以提供用于执行本文中所描述的任何方法的计算机程序代码。可提供其上储存有计算机可读指令的非暂时性计算机可读储存介质,该计算机可读指令在计算机系统处被执行时使计算机系统执行本文中所描述的任何方法。所述方法可以包括:在检查解码的指令的目标ALU是否满之前,检查解码的指令中的标志是否被设置;并且响应于确定解码的指令中的标志被设置,省略检查解码的指令的目标ALU是否满,并且将解码的指令发送到目标ALU以用于执行,而不更新与目标ALU相关联的ALU工作充满度计数器。通过检查存储在指令控制器中的且与目标ALU相关联的ALU工作充满度计数器的值来检查来自处于激活状态中的调度任务的解码的指令的目标ALU是否满可以包括:通过检查存储在指令控制器中的且与目标ALU相关联的ALU工作充满度计数器和去激活调度任务计数器的值,在指令控制器中检查来自处于激活状态中的调度任务的解码的指令的目标ALU是否满。所述方法可以包括:响应于确定目标ALU满,更新与目标ALU相关联的去激活调度任务计数器;以及在触发本文档来自技高网...

【技术保护点】
1.一种在并行处理单元内对指令进行调度的方法,包括:在指令控制器中对处于激活状态的调度任务中的指令进行解码;通过检查存储在所述指令控制器中的且与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满;响应于确定所述目标ALU未满,将所述解码的指令发送到所述目标ALU以用于执行,并且更新与所述目标ALU相关联的所述ALU工作充满度计数器;响应于确定所述目标ALU满,触发调度器以通过将所述调度任务从所述激活状态改变为非激活状态来去激活所述调度任务;监视存储在所述指令控制器中的所述ALU工作充满度计数器;以及响应于作为所述监视的结果而检测到ALU已经从满改变为未满,触发所述调度器以通过将等待所述ALU的最早的调度任务从所述非激活状态移除来重新激活所述最早的调度任务。

【技术特征摘要】
2017.06.16 GB 1709650.41.一种在并行处理单元内对指令进行调度的方法,包括:在指令控制器中对处于激活状态的调度任务中的指令进行解码;通过检查存储在所述指令控制器中的且与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满;响应于确定所述目标ALU未满,将所述解码的指令发送到所述目标ALU以用于执行,并且更新与所述目标ALU相关联的所述ALU工作充满度计数器;响应于确定所述目标ALU满,触发调度器以通过将所述调度任务从所述激活状态改变为非激活状态来去激活所述调度任务;监视存储在所述指令控制器中的所述ALU工作充满度计数器;以及响应于作为所述监视的结果而检测到ALU已经从满改变为未满,触发所述调度器以通过将等待所述ALU的最早的调度任务从所述非激活状态移除来重新激活所述最早的调度任务。2.根据权利要求1所述的方法,还包括:在检查所述解码的指令的所述目标ALU是否满之前,检查所述解码的指令中的标志是否被设置;以及响应于确定所述解码的指令中的所述标志被设置,省略检查所述解码的指令的所述目标ALU是否满,并且将所述解码的指令发送到所述目标ALU以用于执行,而不更新与所述目标ALU相关联的所述ALU工作充满度计数器。3.根据权利要求1或2所述的方法,其中,通过检查存储在所述指令控制器中的且与所述目标ALU相关联的ALU工作充满度计数器的值来检查来自处于激活状态的调度任务中的解码的指令的目标ALU是否满包括:通过检查存储在所述指令控制器中的且与所述目标ALU相关联的ALU工作充满度计数器和去激活调度任务计数器的值,在所述指令控制器中检查来自处于激活状态中的调度任务的解码的指令的目标ALU是否满;以及其中,所述方法还包括:响应于确定所述目标ALU满,更新与所述目标ALU相关联的所述去激活调度任务计数器;以及在触发所述调度器以通过将等待所述ALU的最早的调度任务从等待状态移除来重新激活所述最早的调度任务之后,更新与所述ALU相关联的所述去激活调度任务计数器。4.根据权利要求1或2所述的方法,还包括:响应于检测到指令已经从特定ALU的队列中被移除,更新存储在所述指令控制器中的且与所述特定ALU相关联的所述ALU工作充满度计数器的值。5.一种指令控制器,包括:输入端,所述输入端用于从调度任务调度器接收处于激活状态的调度任务中的指令;指令解码器,所述指令解码器被布置成对所接收的指令进行解码;存储器元件,所述存储器元件被布置成存储多个ALU工作充满度计数器;以及硬件逻辑,所述硬件逻辑被布置成通过检查与目标ALU相关联的ALU工作充满度计数器的值来检查解码的指令的目标ALU是否满,并且响应于确定所述目标ALU未满,将所述解码的指令发送到所述目标ALU以用于执行,并且更新与所述目标ALU相关联的所述ALU工作充满度计数器;硬件逻辑,所述硬件逻辑被布置成响应于确定所述目标ALU满,触发所述调度器以通过将所述调度任务从所述激活状态改变为非激活状态来去激活所述调度任务;以及硬件逻辑,所述硬件逻辑被布置成监视所述ALU工作充满度计数器,并且响应于作为所述监视的结果而检测到ALU已经从满改变为未满,触发所述调度器以通过将等待所述ALU的最早的调度任务从所述非激活状态移除来重新激活所述最早的调度任务。6.根据权利要求5所述的指令控制器,还包括:硬件逻辑,所述硬件逻辑被布置成在检查所述解码的指令的所述目标ALU是否满之前,检查所述解码的指令中的标志是否被设置;并且响应于确定所述解码的指令中的所述标志被设置,省略检查所述解码的指令的所述目标ALU是否满,并且将所述解码的指令发送到所述目标ALU以用于执行,而不更新与所述目标ALU相关联的所...

【专利技术属性】
技术研发人员:西蒙·尼尔德YC·弗亚当·德格拉斯卢卡·尤利亚诺
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国,GB

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

1