当前位置: 首页 > 专利查询>ARM有限公司专利>正文

数据处理系统技术方案

技术编号:13191069 阅读:99 留言:0更新日期:2016-05-11 19:01
一种数据处理系统(20)包括加速器(12),该加速器(20)充当用于在各虚拟机(4、5)中执行的多个应用(3)的共用共享资源。数据处理系统(20)包括接口映射单元(21),该接口映射单元(21)促进从应用向加速器(12)提交任务。接口映射单元(21)包括物理寄存器(8),该物理寄存器(8)充当用于加速器(12)的物理寄存器输入/输出接口。接口映射单元(21)将多个虚拟加速器输入/输出接口(22)暴露于应用(3),然后经由接口映射单元(21)动态映射到物理寄存器输入/输出接口(8),以允许应用访问给定物理寄存器输入/输出接口(8)并且从而向给定物理寄存器输入/输出接口(8)提交任务。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】数据处理系统本专利技术涉及数据处理系统,该数据处理系统中,诸如图形处理单元、视频加速器或数字信号处理器等的加速器充当用于多个应用(诸如游戏、生产型应用、浏览器等)的共用共享资源,并且具体地,本专利技术涉及用于将任务从多个应用分派给共用共享加速器资源的方法和装置。在诸如图形处理单元等的加速器充当用于多个应用的共享资源的排布结构中,那么当应用要求加速器执行任务时,加速器执行任务所需的信息必须提供给该加速器。这通常通过为该加速器提供一组一个或更多个寄存器来进行,该一组一个或更多个寄存器充当用于可以存储加速器在执行任务时需要且由该加速器提供的信息的加速器的输入/输出接口。然后,当诸如游戏等的应用希望加速器执行任务时,应用将对此进行操作系统调用,并且当任务要被执行时,用于该加速器的操作系统驱动程序然后将调度用于该加速器的该任务并将适当任务信息写入到加速器的输入/输出接口的寄存器中。在系统支持多个虚拟机的情况下,通常还会存在在各个操作系统与加速器输入/输出接口寄存器之间接口的管理器(Hypervisor)。图1例示了这种情况并且示出了系统I,其中包括执行单元2和调度器9在内的加速器12充当用于在各个虚拟机(VM)4、5上执行的多个应用(app)3的共用共享资源。(如图1所示,并且如本领域技术人员将会理解的,各个虚拟机4、5包括在共用处理器上执行以提供“虚拟机”的各个操作系统(0S)6、7,并且存在在各个操作系统(虚拟机)内操作的各个应用3,该应用3将使用执行单元2作为资源)。如上所讨论的,为了允许应用使用执行单元2来执行任务,执行单元2具有关联的输入/输出接口 11,该输入/输出接口 11包括关联的一组或更多组物理寄存器(插槽)8,该联的一组或更多组物理寄存器用作用于向执行单元2(由此向加速器12)提交任务的输入/输出接口,并且相应操作系统6、7可以在执行单元2(加速器)要执行针对给定应用的任务时在该联的一组或更多组物理寄存器内存储执行单元2所需的信息。图1示出了具有四组寄存器输入/输出接口8的系统,虽然其他排布结构当然也是可能的。如图1所示,并且如以上讨论的,当应用希望使用执行单元2来执行任务时,应用将经由其相应操作系统访问执行单元2的一组输入/输出寄存器8。图1还示出了调度器9,该调度器9用于在寄存器输入/输出接口8中的任务之间进行仲裁并调度任务。如图1所示,系统还将包括管理器10,该管理器10在相应虚拟机(操作系统)4、5与加速器(执行单元)2的寄存器输入/输出接口 8之间接口。申请人相信对于向充当用于多个应用的共用共享资源的加速器分派任务的排布结构存在改进空间。根据本专利技术的第一方面,提供了一种数据处理系统,该系统包括:—个或更多个处理器,各处理器执行一个或更多个操作系统,各操作系统包括一个或更多个应用;以及加速器,该加速器为多个所述应用提供共享资源;并且其中,所述系统还包括:一组或更多组物理寄存器,所述物理寄存器充当向所述加速器提交任务的输入/输出接口;以及接口映射单元,该接口映射单元向所述应用提供多个虚拟加速器输入/输出接口,所述虚拟输入/输出接口被映射到各个应用,所述接口映射单元被构造成将所述虚拟输入/输出接口动态地映射到所述物理寄存器输入/输出接口,从而通过将已映射到所考虑的应用的虚拟输入/输出接口映射到用于向所述加速器提交任务而设置的空闲物理寄存器输入/输出接口,使得用于所述应用的任务能够向所述加速器分派。根据本专利技术的第二方面,提供了一种操作数据处理系统的方法,该数据处理系统包括:一个或更多个处理器,各处理器执行一个或更多个操作系统,各操作系统包括一个或更多个应用;加速器,该加速器为多个所述应用提供共享资源;一组或更多组物理寄存器输入/输出接口,该一组或更多组物理寄存器输入/输出接口用于向所述加速器提交任务;以及接口映射单元,该接口映射单元使多个虚拟加速器输入/输出接口暴露于所述应用,所述虚拟输入/输出接口被映射到相应应用,并且被构造成将所述虚拟输入/输出接口动态地映射到用于所述加速器的所述物理寄存器输入/输出接口;所述方法包括以下步骤:应用在其希望所述加速器执行任务时,访问所述应用已映射到的虚拟输入/输出接口:所述接口映射单元响应于所述应用访问所述虚拟输入/输出接口,确定用于向所述加速器提交任务的物理寄存器输入/输出接口是否可用,并且如果物理寄存器输入/输出接口可用,则将所述虚拟输入/输出接口映射到所述物理寄存器输入/输出接口,从而允许所述应用向所述加速器分派其任务。本专利技术使用这样的排布结构:虚拟加速器输入/输出接口被分配给各个应用,然后相应虚拟输入/输出接口被映射到用于加速器的物理寄存器输入/输出接口,从而向加速器分派要针对应用执行的任务。这具有的优点在于例如不需要经过操作系统(然后虚拟系统中的管理器)而可以实现向加速器分派任务。各应用具有对由接口映射单元暴露的虚拟输入/输出接口的访问权,并且因此可以实际上(经由接口映射单元)与用于该加速器的物理寄存器输入/输出接口直接通信。本专利技术还具有的优点在于仅利用有限数量的物理寄存器输入/输出接口可以支持大量虚拟机。本专利技术还缩短了加速器开始处理任务的时延和将结果返回给进行请求的应用的时延。加速器可以是可向应用提供共用资源的任意合适的加速器(执行/功能单元)。例如,加速器可以包括图形处理单元(GPU)、加密加速器、视频加速器、网络(处理)接口、数字信号处理器(DSP)、音频硬件等。加速器可以基本上包括针对具体任务优化的任意组件。在优选实施方式中,加速器包括图形处理单元。加速器应当并且优选地确实至少包括可操作以执行用于应用的任务的执行单元(功能单元)。在优选实施方式中,加速器还包括任务调度器(如将在下面进一步讨论的)。在优选实施方式中,加速器还包括物理寄存器组,该物理寄存器组充当用于向加速器提交任务的输入/输出接口。然而,在另选实施方式中,充当用于向加速器提交任务的输入/输出接口的物理寄存器组可以是接口映射单元的一部分。由此,在优选实施方式中,加速器包括执行单元、任务调度器和物理寄存器输入/输出接口。其他排布结构当然是可能的。要由加速器执行的任务可以是任何期望和合适的任务(例如,依赖于加速器的性质),诸如,并且优选地,计算作业。在优选实施方式中,该任务是以下中的一种:在屏幕上描画对象、将多个图形层构成为显示帧、过滤图像以减小噪声、处理数据(例如,加密数据、用可应用协议层包裹数据)和例如在网络上发送数据、借助词典对文本进行拼写检查、评估物理模型中的时间增量等。相信本专利技术将尤其适用于小计算作业的低时延同步分派(所以在优选实施方式中,任务是小计算作业)。然而,本专利技术还可以用于异步分派和诸如图形加速的其他任务。应用可以是任意合适的应用,诸如游戏、照相机应用、图像处理应用、浏览器、网络服务器、生产型应用(文字处理软件、电子数据表等)等。使用加速器作为共用共享资源的多个应用可以包括例如,在单个操作系统内的多个应用、分布于在单个(物理)处理器上托管的多个虚拟机(操作系统)上的应用、在多个物理(托管)处理器(不管是否作为虚拟机)上操作的应用、或其任意组合。由此,数据处理系统可以包括例如在单个操作系统下操作的多个应用、在单个物理主处理器或多个主物理处理器(本文档来自技高网...

【技术保护点】
一种数据处理系统,该系统包括:一个或更多个处理器,各处理器执行一个或更多个操作系统,各操作系统包括一个或更多个应用;以及加速器,该加速器为多个所述应用提供共享资源;并且其中,所述系统还包括:一组或更多组物理寄存器,所述物理寄存器充当向所述加速器提交任务的输入/输出接口;以及接口映射单元,该接口映射单元向所述应用提供多个虚拟加速器输入/输出接口,所述虚拟输入/输出接口被映射到各个应用,所述接口映射单元被构造成将所述虚拟输入/输出接口动态地映射到所述物理寄存器输入/输出接口,从而通过将已映射到所考虑的应用的虚拟输入/输出接口映射到用于向所述加速器提交任务而设置的空闲物理寄存器输入/输出接口,使得用于所述应用的任务能够向所述加速器分派。

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

【专利技术属性】
技术研发人员:H·佩尔松W·沃克
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

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

1