[发明专利]输入输出存储器管理单元(IOMMU)两层寻址无效
申请号: | 201180060181.1 | 申请日: | 2011-12-14 |
公开(公告)号: | CN103270502A | 公开(公告)日: | 2013-08-28 |
发明(设计)人: | 安迪·凯格尔;马克·赫梅尔;史蒂夫·格拉泽;安东尼·阿萨罗;菲利普·NG;杰弗里·程 | 申请(专利权)人: | 超威半导体公司;ATI科技无限责任公司 |
主分类号: | G06F12/10 | 分类号: | G06F12/10 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 李献忠 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 输入输出 存储器 管理 单元 iommu 寻址 | ||
发明领域
本发明大体上是针对计算机系统。更具体来说,本发明是针对输入/输出存储器管理单元。
背景技术
对使用图形处理单元(GPU)来进行一般计算的渴望在最近由于GPU的示例性每单位功率性能和/或成本而变得更加显著。一般来说,GPU的计算能力已以超过对应中央处理器(CPU)平台的计算能力的速率增长。随着移动计算市场(例如,笔记本计算机、移动智能电话、平板计算机等)和其所必需的支持服务器/企业系统的蓬勃发展,这种增长已被用来提供指定品质的所需用户体验。因此,组合使用CPU和GPU来执行具有数据并行内容的工作量正在成为一项体积技术(volume technology)。
然而,GPU传统上已在约束程序设计环境中进行操作,其可主要用于图形的加速。这些约束由以下事实而引起:GPU并不具有与CPU一样丰富的程序设计生态系统。因此,它们的使用已主要限于二维(2D)和三维(3D)图形以及少数前沿的多媒体应用,这些多媒体应用已被习惯地用于处理图形和视频应用程序设计接口(API)。
随着多厂商支持的和标准API和支持工具的出现,GPU在传统应用中的限制已被扩展到传统图形的范围之外。虽然OpenCL和DirectCompute是有希望的开端,但是在创建允许将CPU和GPU组合来像CPU一样流畅地用于大多数程序设计任务的环境和生态系统方面仍存在着许多障碍。
现有的计算系统常常包括多个处理装置。例如,一些计算系统包括在独立芯片上的CPU和GPU(例如,CPU可能位于母板上,而GPU可能位于图形卡上)或在单个芯片封装中的CPU和GPU。然而,这两种布置仍包括与以下各项相关的重大挑战:(i)有效调度、(ii)提供进程之间的服务质量(QoS)保证、(iii)程序设计模型、(iv)编译至多个目标指令集体系结构(ISA)以及(v)独立的存储系统—全部都要同时使功耗降到最小。
例如,离散的芯片布置迫使系统和软件体系结构设计者利用芯片间接口来使每一个处理器存取存储器。虽然这些外部接口(例如,芯片间接口)对用于配合异构型处理器的存储器等待时间和功耗具有负效应,但是独立的存储系统(即,独立的地址空间)和驱动器管理的共享存储器产生开销,所述开销对细粒卸荷(fine grain offload)来说变得不可接受。
GPU连同其它外围设备(例如,输入/输出(I/O)装置)可能需要存取存储于计算系统的系统存储器中的信息。为了获得增强的性能,计算系统可以为I/O装置提供虚拟存储能力。因此,I/O装置可以基于虚拟地址来请求信息,并且计算系统将所述虚拟地址翻译为对应于系统存储器的物理地址。输入/输出存储器管理单元(IOMMU)可以提供I/O装置与系统存储器之间的地址翻译服务。
计算系统还可以提供多个虚拟化系统,包括由管理程序管理的虚拟化客户操作系统(OS)。为了提供对I/O装置的存取,计算系统可以为每个客户OS虚拟化I/O装置。也就是说,管理程序通过协调用于每个虚拟化客户OS的从虚拟存储器地址到物理存储器地址的转换来操纵系统存储器。执行这个过程以使得每个虚拟化系统都可以存取I/O装置,尽管每个客户OS是存取所述I/O装置的唯一OS。
因此,管理程序会成为瓶颈,因为其执行软件例程来解决所有的地址翻译请求。由于这些翻译中的每一个都是与存取IOMMU相关的,因此管理程序的这种基于软件的操作代表相当大的开销。这种开销会降低性能。
发明内容
因此,所需要的是为计算系统中的客户OS提供地址翻译的能力。
虽然GPU、加速处理单元(APU)以及通用用途的图形处理单元(GPGPU)是这个领域中常用的术语,但是表述“加速处理设备(APD)”被认为是更广义的表述。例如,APD是指硬件和/或软件的任何配合集合,与常规CPU、常规GPU、软件和/或其组合相比,所述任何配合集合以加速方式完成与加速图形处理任务、数据并行任务或嵌套数据并行任务相关的那些功能和计算。
在某些情况下,本发明的实施方案涉及用于在用于I/O装置的存储器地址翻译的上下文中进行IOMMU两层寻址的方法、系统以及计算机可读介质。一种示例性方法包括根据与同I/O装置相关的地址翻译事务相关的进程地址空间识别符使用客户地址翻译表将客户虚拟地址(GVA)翻译为对应的客户物理地址(GPA)。根据与所述地址翻译事务相关的装置识别符使用系统地址翻译表将所述GPA翻译为对应的系统物理地址(SPA)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司;ATI科技无限责任公司,未经超威半导体公司;ATI科技无限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180060181.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于在搜索结果页面上提供情境动作的系统和方法
- 下一篇:虚拟数据中心系统