[发明专利]用于增强协处理器性能的系统和方法有效
申请号: | 201010157518.8 | 申请日: | 2004-02-13 |
公开(公告)号: | CN101840355A | 公开(公告)日: | 2010-09-22 |
发明(设计)人: | A·B·高萨里亚;S·普罗诺弗斯特 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 陈斌 |
地址: | 美国华盛*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 增强 处理器 性能 系统 方法 | ||
本申请是申请日为2004年2月13日、申请号为200410039767.1、发明名称为“用于增强协处理器性能的系统和方法”的中国专利申请的分案申请。
技术领域
本发明涉及计算机处理器,并且尤其涉及用于调度协处理器的处理的硬件和软件。
背景技术
现在,许多计算机系统都包括协处理器,例如,图形处理单元(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是表示按照本发明的一个事件链的算法,该事件链可能发生在一个包括对页入缓冲器中的一个电子篱笆的处理的作业线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010157518.8/2.html,转载请声明来源钻瓜专利网。