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

用于图形处理单元的存储器映射的系统、方法、装置、电子设备以及机器可读介质制造方法及图纸

技术编号:10509501 阅读:141 留言:0更新日期:2014-10-08 12:16
本申请提供了用于图形处理单元的存储器映射。在这里描述了一种电子设备。该电子设备可以包括页面遍历器模块,用来接收图形处理单元(GPU)的页面请求。页面遍历器模块可以检测与页面请求相关联的页面错误。该电子设备可以包括至少部分地包含硬件逻辑单元的控制器。控制器监视具有页面错误的页面请求的执行。控制器基于与页面请求相关联的因素,来确定是暂停与具有页面错误的页面请求相关联的工作项在GPU处执行,还是继续该工作项的执行。

【技术实现步骤摘要】
用于图形处理单元的存储器映射
技术介绍
计算设备可以包括在程序请求下动态地将存储器的部分分配给程序的存储器管 理系统。虚拟地址空间映射是将虚拟地址映射到物理地址空间的存储器映射机制。在很多 情况下,操作系统管理映射。当应用或设备被初始化时,其被分配映射到物理地址空间的虚 拟地址空间。 在一些情况下,操作系统将使用静态固定设计(static pinning design),其中, 与虚拟地址相关联的物理地址不被重新分配直到应用或设备释放该物理地址为止。然而, 系统资源的静态固定增加了存储器资源的缺乏。在其他情况下,操作系统将使用动态固定 设计。在动态固定设计中,虚拟地址可以按照需要与物理地址关联。基于应用或设备的需 要,可以将该物理地址重新分配给不同的应用或设备。 【附图说明】 图1的框图示出了包括具有控制器的计算设备的系统,该控制器用来监视与图形 处理单元的工作项相关联的页面请求; 图2的框图示出了显示接口与系统存储器和操作系统进行交互;以及 图3的框图示出了用于监视GPU线程的执行的方法。 图4是用于渲染图像的示例性系统的框图。 图5是小型化设备的示意图,图4的系统可以实例化在该小型化设备中。 在本公开内容和附图中,使用相同的数字来引用类似的部件和特征。100序列中的 数子表不最初在图1中发现的特征;200序列中的数子表不最初在图2中发现的特征;以此 类推。 【具体实施方式】 本公开内容一般涉及实现与图形处理单元(GPU)的工作项相关联的虚拟地址的 映射的技术。GPU是一种电子电路,其被配置为操作和改变存储器,以部分地加速帧缓冲器 中的图像构建,以输出给显示设备。基于GPU的需要,GPU可以利用被动态固定和取消固定 给物理地址空间的虚拟地址空间。GPU可以执行工作项,工作项可以产生将虚拟地址空间映 射到物理地址空间的页面请求。被配置用来监视页面请求的控制器,可以基于以下将更详 细讨论的与页面错误正在被服务的效率相关联的因素,来在GPU处暂停与具有页面错误的 页面请求相关联的工作项。 工作项可以是在GPU中执行的操作,其中该操作包括执行线程。该线程的执行可 以产生至少一个将虚拟地址空间映射到物理地址空间的页面请求。 图1是示出了系统100的框图,该系统100包括具有用来监视与图形处理单元的 工作项相关联的页面请求的控制器104的计算设备102。计算设备102可以是例如膝上型 计算机、台式计算机、平板电脑、移动设备、服务器、或蜂窝电话、可穿戴计算设备等等。计算 设备102也可以包括图形处理单元(GPU) 106,图形处理单元(GPU) 106处理与计算机产生 的、可以在显示设备108上被渲染的图形相关的工作项。显示设备108可以是计算设备102 的内置部件。显示设备108还可以包括外部连接到计算设备102的计算机监视器、电视机、 或投影仪等等。 计算设备102还可以包括处理器112和存储设备114。存储设备114包含非暂时 性计算机可读介质。存储设备114还可以包括操作系统116。操作系统116可以由主机计 算系统的处理器(例如计算设备102的处理器112)来执行。操作系统116被配置用来管 理计算设备102的存储器等等,包括动态分配存储器的一部分给运行在计算设备102上的 应用。操作系统116可以动态地将虚拟地址固定到物理地址以及取消固定。GPU106可以 执行工作项,工作项可能需要已经由操作系统116动态取消固定的虚拟地址,从而导致页 面错误。在一些实施例中,存储设备114具有存储于其上的指令,所述指令在由处理器112 执行时使计算设备102执行操作。在一些实施例中,操作包括对来自GPU106的具有页面错 误的页面请求进行响应,这将在下面更详细地讨论。处理器112可以是适用于执行存储的 指令的主处理器。计算设备102还可以包括存储器设备118,在一些实施例中,存储器设备 118存储可被处理器112执行的指令。处理器112可以是单核处理器、多核处理器、计算集 群、或任意数量的其它配置。处理器112可以被实现为复杂指令集计算机(CISC)或精简指 令集计算机(RISC)处理器、x86指令集兼容处理器、多核、或任意其它微处理器或中央处理 单元(CPU)。 存储器设备118可以包括随机存取存储器(例如SRAM、DRAM、零电容RAM、S0N0S、 eDRAM、ED0 RAM、DDR RAM、RRAM、PRAM 等)、只读存储(例如 Mask R0M、PR0M、EPR0M、EEPR0M 等)、闪存、或任意其它合适的存储器系统。存储器设备118可以是下面参见图2更详细讨 论的存储器系统的一部分。在一个实施例中,指令可以在存储设备114、存储器设备118或 它们的任意组合中存储。 主处理器112可以通过系统总线120(例如PCI、ISA、PCI-Express、 HyperTransport?、NuBus等等)连接到显示接口 110。显示接口 110可以适于将计算设 备102连接到显示设备108。GPU106可以产生工作项,工作项指示对虚拟存储器系统中的 存储器页面的页面请求。控制器104监视遇到页面错误的页面请求,下面将更详细地解释。 控制器104至少部分地包括硬件逻辑单元。硬件逻辑单元至少部分地包括硬件,并且还可 以包括软件或固件。硬件逻辑单元可以包括电子硬件,其包括相互连接的电子部件,相互连 接的电子部件对接收到的和本地存储的信息执行模拟或逻辑运算,以产生输出或存储产生 的新信息或者来提供对输出执行机制的控制。电子硬件可以包括单独的芯片/电路以及分 布式信息处理系统。 存储设备114还可以包括一个或多个应用122。应用122包括但是不限于视频重 放应用和游戏应用。 网络接口控制器(NIC) 124可以被配置为将计算设备102连接到网络126。网络 126可以是有线线路网络、无线网络或蜂窝网络。网络126可以是任意广域网(WAN)、任意 局域网(LAN)或互联网等等。例如,网络126可以是3GPP LTE网络或者WiFi网络。 图1的框图并不旨在指示计算设备102将会包括图1中所示的所有部件。进一步 地,计算设备102可以包括图1中未示出的任意数量的其它部件,这取决于特定实现的细 节。 图2是的框图示出了显示接口 110与系统存储器202以及操作系统116进行交互。 如图3中所示的,控制器104和GPU106可以是显示接口 110的一部分。系统存储器202可 以是虚拟存储器,其包括对于访问进程或页面请求唯一的虚拟地址。系统存储器202的虚 拟地址被映射到物理存储器,例如图1中的存储器设备118。 如参考图1在上面所讨论的,GPU106被配置用来执行与要发送给显示设备108的 图形的产生有关的工作项。工作项的执行可以包括产生指示页面请求的线程。页面是虚拟 存储器页,其包括例如虚拟存储器的块。页面请求是访问系统存储器202的虚拟存储器的 页面的请求。 显示接口 110包括页面遍历器(page walker) 204和高速缓存206。页面遍历器 204可以是逻辑单元,至少部分地包括硬件逻辑单元。页面遍历器204本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201410198467.html" title="用于图形处理单元的存储器映射的系统、方法、装置、电子设备以及机器可读介质原文来自X技术">用于图形处理单元的存储器映射的系统、方法、装置、电子设备以及机器可读介质</a>

【技术保护点】
一种系统,包括:显示设备;存储器,其中,虚拟存储器地址被动态地映射到所述存储器的物理存储器地址;图形处理单元(GPU),用于产生与渲染图像以便使用所述显示设备进行显示相关联的工作项,其中,所述工作项指示页面请求;页面遍历器,用于接收所述页面请求,并且用于检测与所述页面请求相关联的页面错误;以及至少部分地包括硬件逻辑单元的控制器,其中,所述控制器用于:监视具有所述页面错误的所述页面请求的执行;以及确定是暂停具有所述页面错误的所述工作项在所述GPU处的执行,还是继续所述工作项的执行。

【技术特征摘要】
2013.03.15 US 61/801,079;2013.03.27 US 13/851,4001. 一种系统,包括: 显示设备; 存储器,其中,虚拟存储器地址被动态地映射到所述存储器的物理存储器地址; 图形处理单元(GPU),用于产生与渲染图像以便使用所述显示设备进行显示相关联的 工作项,其中,所述工作项指示页面请求; 页面遍历器,用于接收所述页面请求,并且用于检测与所述页面请求相关联的页面错 误;以及 至少部分地包括硬件逻辑单元的控制器,其中,所述控制器用于: 监视具有所述页面错误的所述页面请求的执行;以及 确定是暂停具有所述页面错误的所述工作项在所述GPU处的执行,还是继续所述工作 项的执行。2. 如权利要求1所述的系统,其中,所述页面遍历器基于所述页面请求的属性来检测 页面错误,所述属性包括: 与所述页面请求相关联的分页条目的存在; 读/写属性; 特权级别; 执行特性;或者 以上各项的任意组合。3. 如权利要求1所述的系统,其中,所述页面请求指示虚拟地址,并且所述页面遍历器 尝试确定与所述虚拟地址相关联的物理地址。4. 如权利要求1所述的系统,包括:页面请求队列,其中,在所述页面错误被检测到时, 所述页面遍历器将所述页面请求提供给所述页面请求队列。5. 如权利要求4所述的系统,包括:页面未命中处理机,用于从所述页面请求队列接收 具有所述页面错误的所述页面请求,其中,为了服务于所述页面请求,所述页面未命中处理 机将物理地址分配给所述页面请求所指示的虚拟地址,并且将所述物理地址提供给所述页 面遍历器。6. 如权利要求5所述的系统,其中,所述控制器基于与所述工作项相关联的至少一个 因素来暂停所述工作项的执行,所述至少一个因素包括: 挂起的页面请求的总数; 与所述工作项相关联的页面请求已经挂起的时间;以及 已经被所述页面未命中处理机服务的与所述工作项相关联的页面请求的数量与在所 述页面请求队列中挂起的与所述工作项相关联的页面请求的数量的比值。7. 如权利要求5所述的系统,其中,在与关联于所暂停的工作项的页面请求相关联的 物理地址已经被提供给所述页面遍历器之后,所述控制器将所述工作项重新提交给所述 GPU。8. 如权利要求1所述的系统,包括:高速缓存,其中,所述高速缓存存储页面错误,直到 物理地址被分配给所述页面请求所指示的虚拟地址为止。9. 一种电子设备,包括: 页面遍历器模块,用于: 接收图形处理单元(GPU)的页面请求;以及 检测与所述页面请求相关联的页面错误;以及至少部分地包括硬件逻辑单元的控制 器,用于: 监视具有所述页面错误的所述页面请求的执行;以及 确定是暂停与具有所述页面错误的所述页面请求相关联的工作项在所述GPU处的执 行,还是继续所述工作项的执行。10. 如权利要求9所述的电子设备,其中,所述页面遍历器模块基于所述页面请求的属 性来检测页面错误,所述属性包括: 与所述页面请求相关联的分页条目的存在; 读/写属性; 特权级别; 执行特性;或者 以上各项的任意组合。11. 如权利要求9所述的电子设备,其中,所述页面请求指示虚拟地址,并且其中,为了 确定与所述虚拟地址相关联的物理地址,所述页面遍历器模块搜索被配...

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

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

1