当前位置: 首页 > 专利查询>微软公司专利>正文

用于增强协处理器性能的系统和方法技术方案

技术编号:3979613 阅读:230 留言:0更新日期:2012-04-11 18:40
用于将协处理器的“资源缺乏”最小化以及用于有效地调度协处理器中的处理的技术,从而获得更高的效率和能力。提供了一种运行列表,允许协处理器从一个任务向下一个转换,而不用等待CPU干预。一种称作“表面故障”的方法允许协处理器在一个大的任务开始的地方发生故障,而不是在该任务的中间的某个地方发生故障。可以将DMA控制指令即“电子篱笆”、“陷阱”以及“能够/不能进行设备环境转换”插入到处理流中,从而使协处理器执行增强协处理器的效率和能力的任务。这些指令还能用于创建高级同步目标程序。最后,描述了一种“触发”技术,可以把用于显示的基本索引从一个位置转换到另一个,由此改变整个显示表面。

【技术实现步骤摘要】

本专利技术涉及计算机处理器,并且尤其涉及用于调度协处理器的处理的硬件和软 件。
技术介绍
现在,许多计算机系统都包括协处理器,例如,图形处理单元(GPU)。在某些情况 下,一个协处理器可以与中央处理单元(CPU) —起驻留(reside)在系统的主板上,例如微 处理器,并且,在其它系统中一个协处理器可以驻留在一个单独的图形卡上。在实现其处理 任务的过程中,协处理器经常要访问辅助存储器,例如视频存储器。当前的协处理器经常进 行优化来实现三维图形计算,从而支持游戏和计算机辅助设计(CAD)之类的应用程序。尽 管当运行单一的图形强化应用程序时充分地执行了当前的计算机系统和协处理器,但当运 行多个图形强化应用程序时就可能遇到问题。这个问题的一个原因就是典型的协处理器不能有效地调度其工作量(workload)。 典型地,当前的协处理器执行协作的多任务,这是一种多任务,其中,一个当前控制该协处 理器的应用程序必须放弃对其它应用程序的控制。如果该应用程序未能放弃控制,则它就 可能有效地“挂起”协处理器。尽管在运行单个的用图表表示的增强程序时这并没有什么 重大关系,然而当多应用程序都试图使用一个协处理器时,挂起协处理器的问题就会变得 更加严重。尽管分配操作间处理的问题已经在CPU的设备环境中进行了编址,其中必然需要 改进的多操作系统调度,然而,协处理器中的调度尚不能有效地编址。这是因为在现代系统 中,协处理器通常被看作是一种资源来使得大量的计算和耗时的操作脱离CPU,给CPU提供 更多的处理时间来实现其它功能。这种大量的计算操作往往是图形操作,众所周知,这些图 形操作要求具有有效的处理能力。如果为一个协处理器调度任务就引发一个问题,这个问题就是协处理器的“资源 缺乏(starvation)”的可能性。当协处理器不忙时就产生资源缺乏,并且因此计算机系统 的处理资源不能被有效利用。为了这个以及其它原因,就需要有用于通过将协处理器资源 缺乏最小化来增强协处理器的性能的又允许用于增强其它调度效率的系统和方法。
技术实现思路
这个专利技术提供了多种技术,这些技术能够串联地或单个地使用,用于将协处理器 的“资源缺乏”最小化,并且用于有效地调度协处理器中的处理以获得更高的效率和能力。 在这方面,中央处理单元(“CPU”)提供了一种运行列表,用来允许协处理器在页面故障或 者任务完成之类的转换事件发生的时候立即从一个任务向另一个转换,而不用等待CPU干预。除了该运行列表之外,一种称作“表面故障”的方法允许协处理器在一个大的任务开始的地方发生故障,而不是在已经完成有效的处理资源之后在该表面的中间的某个地方发生 故障,该大的任务例如再现一个表面。进一步,可以提供DMA控制指令即“电子篱笆”、“陷 阱”以及“能够/不能进行设备环境转换”,该指令可以被插入到处理流中,从而使得协处理 器执行增强协处理器的效率和能力的任务。如下面将要更详细地描述的那样,这些指令还 能用于创建高级的同步目标程序。最后,描述了一种“触发”技术,其可以把用于显示的基 本索引从一个位置转换到另一个位置,由此改变整个显示表面。除了对本专利技术的这些和其 它方面的进一步说明之外,下面还提供了这些技术能够妥善使用的情况。附图说明本专利技术或申请文件包含至少一个用色彩来完成的图。本专利或专利申请的公开的 副本与彩图一起都将通过贵局按照请求书和所需费用的支付金额来提供。图1是现有技术的调度用于协处理器的处理的方法的总体示意图。图2是按照本专利技术的协处理器调度改进的示例性示意图。图3是涉及提供了图2中总体说明的调度改进的计算部件的更详细的示意图。图4(A)和图4(B)是伪码算法,表明了多种非限定性可行的方式来将图3的步骤 组合为一个函数序列。图5说明了按照本专利技术的一个调度程序如何能够利用所给的信息来指定用于存 储器资源的时间界限,该存储器资源用在直接存储器存取(DMA)缓冲器中。图6是说明按照本专利技术的准备作业线程与辅助存储器管理器之间的动态的算法。图7是按照本专利技术的页入缓冲器的准备的示例性示意图,该页入缓冲器示出了一 个作业线程,该作业线程为该页入缓冲器作准备并且处理CPU对页入缓冲器的预处理。图8是表示按照本专利技术的一个事件链的算法,该事件链可能发生在一个包括对页 入缓冲器中的一个电子篱笆的处理的作业线程。图9说明了一种采用内核模式的辅助存储器管理器“VidMm”,能够为协处理器的 设备环境提供一个虚拟地址空间,还能管理不同的协处理器的设备环境中的物理存储器, 以便它们能够进行合理的存储器共享。图10说明了一种按照本专利技术的基本调度模型。图11说明了一种按照本专利技术的改进的调度模型。图12 (A)和图12⑶都提供了一种能够实现该改进的调度模型的动作序列的示例性表示。图13说明了本专利技术结合可变长度平面头部表(flat pate table)的使用。图14说明了本专利技术结合多级页表的使用。图15是由该调度程序与一个改进的调度模型一起支持的示例性处理的示意图, 改进的调度模型支持表面能级故障。图16是多设备环境的示意图,每一个都有其自己的DMA环,结合本专利技术能够在表 面能级故障与本专利技术一起实现时同时进行处理。图17(A)、图17⑶和图17(C)都提供了一种伪码算法,描述了结合图16的部件的 本专利技术的操作,包括多种可以证明有用的附加特征。图18是一个按照本专利技术大体上表示运行列表的使用的框图。 图19说明了能够为了结合本专利技术的使用将设备环境转换历史写到由该调度程序 可读的特定的系统存储器位置上的硬件的操作。图20说明了一种硬件方法,用来通过将有特权的命令直接插入到协处理器设备 环境环中来支持有特权的DMA通道。图21说明了一种方法,用于支持该协处理器中限定的对有特权的DMA缓冲器,其 中,将该间接命令的一个比特插入到一个环形缓冲器中。图22提供了一种查询协处理器关于当前显示表面的方法。图23是结合本专利技术的一个优选的方法,用于当把立即触发与本专利技术一起使用时 查询触发。图24是用于同步访问资源来确保当提供两个或两个以上的处理器时都能够使用 的示例性技术。图25说明了事件历史缓冲器的多种实施例。图26说明了支持各协处理器设备环境虚拟地址空间的优选方法,该虚拟地址空 间使用一个PCI缝隙,该PCI缝隙能够重定向到辅助存储器中的任何地方。具体实施例方式本专利技术所实现的多种改进都能够通过图1和图2的比较从总体上进行说明。图1 表示一种典型的现有的对协处理器的任务调度的方法。提供了一个缓冲器,该缓冲器能够 由不同的应用程序来访问,例如应用程序1、应用程序2以及应用程序3。该应用程序能够 将用于协处理器的任务加载到缓冲器中,并且能够在完成之前提交的任务之后用该协处理 器来处理那些任务。如所示,这种方法只能打开一种可能的协处理器的“挂起”。图1中, App. 1是挂起该协处理器。App. 1要求该协处理器对七个任务起作用,而组合的另外两个应 用程序要求仅对三个任务起作用。在类似于多应用程序需要该协处理器的情况下,一种系 统就可提供改进的功能性,该系统例如是图2所提供的那样。图2说明了一种按照本专利技术的系统和方法,借此,每个应用程序,例如应用程序1、 应用程序2以及应用程序3,都可以保持其自己的缓冲器,就是图2的“第一缓冲器”本文档来自技高网
...

【技术保护点】
一种用于调度任务用于协处理器中处理的方法,包括:产生运行列表,所述运行列表包括由协处理器处理的任务的列表,其中,所述运行列表是由中央处理单元CPU产生的;把所述运行列表传送给一调度程序过程,其中,所述调度程序过程准备所述运行列表上的所述任务用于由协处理器处理;以及由所述协处理器按照所述运行列表所指示的顺序处理所述任务,其中,如果在处理了所述任务中的一个任务时引发一切换事件,则所述协处理器就立即切换到所述运行列表上的下一个任务。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:AB高萨里亚S普罗诺弗斯特
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1