当前位置: 首页 > 专利查询>英特尔公司专利>正文

处理作业至辅助处理器的直接环3提交制造技术

技术编号:10384912 阅读:161 留言:0更新日期:2014-09-05 11:52
避免每当应用想要使用辅助处理器时都转变到环0,从而节省中央处理器操作周期并提高效率。取而代之的是,最初每一应用被注册和设置成在环3中使用辅助处理器资源。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】避免每当应用想要使用辅助处理器时都转变到环0,从而节省中央处理器操作周期并提高效率。取而代之的是,最初每一应用被注册和设置成在环3中使用辅助处理器资源。【专利说明】处理作业至辅助处理器的直接环3提交
技术介绍
本专利技术一般涉及计算机,尤其涉及包括辅助处理器的计算机系统。如本文所使用的,辅助处理器是除了中央处理单元之外的结合中央处理单元使用但作为外围设备附连到系统的任何东西。辅助处理器的示例包括图形处理器、网络接口卡和适配器以及通用串行总线适配器,此处仅列举几个示例。通常,只有环O软件驱动程序才能够通过对设备上的存储器映射寄存器进行编程来将任务提交给辅助处理器。因此,当在系统上运行的应用想要将一任务分配给辅助处理器时,它必须发起从环3到环O的切换并且然后再切换回来。这些环O到环3的转变在处理器周期方面是昂贵的。附图简述参照以下附图描述一些实施例:图1是本专利技术一个实施例的示意图;图2是来自本专利技术一个实施例的系统流程图;图3是根据本专利技术一个实施例的用于环O驱动程序的流程图;图4是根据本专利技术一个实施例的用于门铃块寄存器的流程图;图5是根据本专利技术一个实施例的用于辅助处理器调度核的流程图;以及图6是一个实施例中的用于应用的流程图。详细描述根据一些实施例,避免每当应用想要使用辅助处理器时都转变到环0,从而节省中央处理器操作周期并提高效率。取而代之的是,最初每一应用被注册和设置成在环3中使用辅助处理器资源。图1示出了根据本专利技术的一个实施例来适配的典型的计算机系统架构。系统10包括中央处理单元(CPU) 12。虽然示出了单个中央处理单元,但也可使用多核处理单元。该中央处理单元耦合到系统代理或芯片组14。环O驱动程序24在中央处理单元12上执行。系统代理或芯片组连接到系统存储器20,该系统存储器通常是动态随机存取存储器(DRAM)。可能希望使用辅助处理器资源的应用22可被至少临时地存储在系统存储器20中。系统存储器20可包括可通过不允许访问整个可寻址虚拟空间的孔径30来寻址的虚拟地址空间20。虚拟地址空间20中还可包含命令缓冲区36。虚拟空间可包括包含门铃页34的写回空间32。门铃页34可被寻址以指示应用何时想要使用辅助处理器资源。该页可由硬件监视,并且在某样东西由环3应用写入到该页时,辅助处理器资源变得对已经预注册为在不(再次)转变到环O的情况下使用该资源的应用程序可用。环O驱动程序也可使用相同的机制来使用辅助处理器资源。也耦合到系统代理或芯片组14的是辅助处理器16。辅助处理器同样是作为外围设备连接到包括中央处理单元的系统的任何其它处理器。例如,常用的辅助处理器的示例包括图形处理单元、网络接口卡和适配器以及通用串行总线卡和适配器,此处仅列举一些示例。辅助处理器可包括可被调用以执行特定任务的多个引擎。辅助处理器引擎的示例包括渲染引擎、视频解码引擎、视频编码引擎、复制引擎等辅助处理器16包括门铃块寄存器26。门铃块寄存器监视虚拟存储器20中的门铃页34以确定该页何时已被写入。当该页已被写入时,门铃块寄存器认为该门铃已经“响起”并且这意味着应用程序希望使用辅助处理器资源。在作为图形处理单元的辅助处理器16的情况下,辅助处理器资源的示例是特定图形处理引擎18。当检测到门铃页写入时,门铃块寄存器26经由具有门铃向量的中断来发信号通知调度核28。调度核28负责调度辅助处理器16的操作。调度核28然后调度由引擎18中的应用22需要的作业。由此,在一些实施例中,涉及两个阶段。在第一阶段,在环O中,应用程序有效地向系统代理或芯片组14注册以设置之后可以在环3中访问的机制。之后,该应用可以在不需要从环3转变到环O并再次转变回来的情况下使用辅助处理器的资源。在一些实施例中,这可节省处理周期并提高效率。辅助处理器可提供这样的门铃寄存器的多个实例以允许多个应用向其提交任务。最初,应用通过执行开放式辅助处理器调用来表达其使用辅助处理器资源的意图。在一些实施例中,该开放式处理器调用可由环3中的应用发出并且经由用户模式驱动程序传送到环3驱动程序24以及运行时驱动程序。环O驱动程序24在进程地址空间中创建上下文标识符。该标识符然后被提供回到应用22。在一些实施例中,进程地址空间是标识什么进程当前正被操作的现有空间。然后,环O驱动程序从预先分配的页的集合中挑出一页以供分配给应用。在一个实施例中,256个页是可用的。在某些情况下,这些页可以在虚拟地址空间20中通过孔径30来访问。辅助处理器页然后被映射到进程地址空间。这意味着页34被映射到进程地址空间。被称为门铃页的该页的地址由环O驱动程序24提供给辅助处理器16中的门铃块寄存器26。这将门铃块寄存器26设置成监视页34。然后当应用向该页的门铃行写入时,门铃块寄存器26监视被触发。当由于对页34的写入而导致第一次门铃响起时,寄存器26向调度核28发送门铃响起消息。门铃块寄存器存储已响起的门铃的向量。在一个实施例中,每一个门铃块都具有对应于虚拟存储器空间20中的256个预先分配的页的256个向量。如果任何门铃已响起(因为任何页被写入),则门铃块寄存器将指示已经发生某件事且调度核需要查明发生了什么的中断生成到调度核28中。调度核然后读取256个门铃向量以查看哪一个门铃已经响起。在一些实施例中,门铃块寄存器26获取在上一个消息和当前门铃状态检查之间响起的所有门铃的快照。一旦读取完成,门铃块寄存器就能够清除任何门铃向量并等待下一次响起。调度核然后检查所有门铃标识符。接着,调度核使用如上所述地获取的页地址来获取队列内容。调度核用应用已经请求的新作业来更新引擎运行列表。结果,在初始设置阶段后,应用能够使得在无需再次切换到环O的情况下处置引擎18中的工作负载。可处置关于应用的任何数量的后续作业,但应用仅仅必须访问环O —次。一般而言,应用通过将其自身注册为可能需要使用辅助处理器的应用来发起本文描述的操作。实际上,应用指示它将在未来提交工作并且它需要标识符和门铃页来指示可能在未来使用的任何引擎。应用设置所有必需的结构以由其自己使用引擎。在一些实施例中,环O驱动程序24只需应用的地址空间和命令缓冲区36。所有必需的信息然后由环O驱动程序转移到系统代理或芯片组14中。环O驱动程序注册并且然后让调度核知道存在已经通过向其分配标识符来注册的应用。环O驱动程序还能够通过向调度核提供这种表来提供门铃到命令队列映射。驱动程序24然后让开,并且之后只要应用向中央处理单元提交工作,中央处理单元就向(命令缓冲区所处的)预先分配的位置写入并且向门铃写入。然后,中央处理单元工作完成并且辅助处理器可着手执行该作业。参考图2,总序列被分成在左侧的由中央处理单元和/或芯片组完成的部分以及在右侧的由辅助处理器资源完成的部分。流程开始于应用22对环O驱动程序做出调用以指示它具有需要在辅助处理器中完成的作业,如框40所示。具体而言,该应用请求工作,如框44所示。然后,流程去往辅助处理器门铃块寄存器26,该门铃块寄存器在预先分配的页中检测针对该应用的任何响起的门铃,如框46所示。块寄存器26告知调度核工作已经到达,如框48所示。调度核28然后检查页并标识需要做该工作的引擎,如框50所示。接着,调度核28将该作业传递给引擎18以执行该本文档来自技高网...
处理作业至辅助处理器的直接环3提交

【技术保护点】
一种方法,包括:使得应用能够只使用从环3到环0的一次转变来重复使用辅助处理器资源。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:A·考克A·纳瓦勒B·韦布M·拉马多斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1