用于管理虚拟存储器的系统。系统包括配置为执行引用第一虚拟存储器地址的第一操作的第一处理单元。系统还包括第一存储器管理单元(MMU),其与第一处理单元相关联并且配置为一经确定存储在与第一处理单元相关联的第一存储器单元中的第一页面表不包括与第一虚拟存储器地址相对应的映射,就生成第一页面故障。系统进一步包括与第一处理单元相关联的第一拷贝引擎。第一拷贝引擎配置为读取第一命令队列以确定与第一虚拟存储器地址相对应并且包括在第一页面状态目录中的第一映射。第一拷贝引擎还配置为更新第一页面表以包括第一映射。
【技术实现步骤摘要】
用于统一虚拟存储器系统的迁移方案相关申请的交叉引用本申请要求享有于2013年3月14日提交的、序列号为61/782,349的美国临时专利申请的优先权。本申请还要求享有于2013年3月15日提交的、题目为“CPU-To-GPU andGPU-To-GPU Atomics”的、序列号为61/800,004的美国临时专利申请的优先权。这些相关申请的主题在此通过援弓I并入本文。
本专利技术的实施例总地涉及虚拟存储器,并且更具体地,涉及用于统一虚拟存储器系统的迁移方案。
技术介绍
许多现代的计算机系统典型地实现某种类型的虚拟存储器架构。在其他方面,虚拟存储器架构使能指令以使用虚拟存储器地址而非物理存储器地址访问存储器。通过提供物理存储器和应用软件之间的该虚拟存储器层,用户级软件被屏蔽以免获得物理存储器管理的细节,其被留给专用存储器管理系统。 实现虚拟存储器架构的典型的计算机系统包括中央处理单元(CPU)和一个或多个并行处理单元(GPU)。在操作中,在CPU或GPU上执行的软件过程可以经由虚拟存储器地址请求数据。在许多传统架构中,用于CPU和GPU的、处置经由虚拟存储器地址对于数据的请求的虚拟存储器系统是独立的。更具体地,分开的CPU存储器管理系统和分开的GPU存储器管理系统分别处置来自CPU和GPU的对于数据的请求。 存在与这类独立的存储器管理系统相关联的数个缺陷。例如,每个独立的存储器管理系统不一定具备与其他存储器管理系统相关联的存储器单元的内容的知识。因此,存储器管理系统不一定能协作以提供一定的效率,诸如确定数据应该被存储在何处用于改进的访问时延。此外,因为存储器管理系统是独立的,所以用于一个这类系统的指针不一定与其他系统兼容。因此,应用程序员必须保持对两个不同类型的指针的追踪。 如前述示出,本领域所需要的是管理具有诸如CPU和GPU的异构处理器的系统中的虚拟存储器的更高效的方法。
技术实现思路
本专利技术的一个实施例阐述用于经由页面状态目录管理虚拟存储器到物理存储器映射的系统。系统包括配置为执行引用第一虚拟存储器地址的第一操作的第一处理单元。系统还包括第一存储器管理单元(MMU),其与第一处理单元相关联并且配置为一经确定存储在与第一处理单元相关联的第一存储器单元中的第一页面表不包括与第一虚拟存储器地址相对应的映射,就生成第一页面故障(fault)。系统进一步包括与第一处理单元相关联的第一拷贝引擎。第一拷贝引擎配置为读取第一命令队列以确定与第一虚拟存储器地址相对应并且包括在第一页面状态目录中的第一映射。第一拷贝引擎还配置为更新第一页面表以包括第一映射。 所公开的方法的一个优势是用户级应用不需要取决于特定数据片段存储在何处保持对多个指针的追踪。附加优势是基于使用在存储器单元之间迁移存储器页面,其允许存储器页面位于更频繁地访问存储器页面的单元的本地。另一个优势是允许由PPU所生成的故障被合并用于高效执行的故障缓冲区被提供。 【附图说明】 因此,可以详细地理解本专利技术的上述特征,并且可以参考实施例得到对如上面所简要概括的本专利技术更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本专利技术的典型实施例,因此不应被认为是对其范围的限制,本专利技术可以具有其他等效的实施例。 图1是示出了配置为实现本专利技术的一个或多个方面的计算机系统的框图; 图2是根据本专利技术的一个实施例的、示出了统一虚拟存储器系统的框图; 图3是根据本专利技术的一个实施例的、用于追踪存储器页面的状态的系统300的示意图; 图4是根据本专利技术的一个实施例的、实现迁移操作的系统的示意图; 图5示出了根据本专利技术的一个实施例的、用于将故障存储在故障缓冲区中的虚拟存储器系统; 图6示出了根据本专利技术的一个实施例的、用于解决由PPU所生成的页面故障的虚拟存储器系统; 图7阐述了根据本专利技术的一个实施例的、用于经由页面状态目录管理虚拟存储器到物理存储器映射的方法步骤的流程图; 图8阐述了根据本专利技术的一个实施例的、用于追踪页面故障的方法步骤的流程图; 图9阐述了根据本专利技术的一个实施例的、用于利用故障缓冲区解决页面故障的方法步骤的流程图; 图10阐述了根据本专利技术的一个实施例的、用于创建和管理虚拟存储器架构中的公共指针的方法步骤的流程图;以及 图11阐述了根据本专利技术的一个实施例的、用于管理虚拟存储器子系统中的所有权状态的方法步骤的流程图。 【具体实施方式】 在下面的描述中,将阐述大量的具体细节以提供对本专利技术更透彻的理解。然而,本领域的技术人员应该清楚,本专利技术可以在没有一个或多个这些具体细节的情况下得以实施。在其他实例中,未描述公知特征以避免对本专利技术造成混淆。 系统概述 图1为示出了配置为实现本专利技术的一个或多个方面的计算机系统100的框图。计算机系统100包括经由可以包括存储器桥105的互连路径通信的中央处理单元(CPU) 102和系统存储器104。存储器桥105可以是例如北桥芯片,经由总线或其他通信路径106 (例如超传输(HyperTransport)链路)连接到I/O (输入/输出)桥107。I/O桥107,其可以是例如南桥芯片,从一个或多个用户输入设备108 (例如键盘、鼠标)接收用户输入并且经由通信路径106和存储器桥105将该输入转发到CPU102。并行处理子系统112经由总线或第二通信路径113 (例如外围部件互连(PCI)Express、加速图形端口或超传输链路)耦连到存储器桥105 ;在一个实施例中,并行处理子系统112是将像素传递到显示设备110的图形子系统,显示设备110可以是任何常规的阴极射线管、液晶显示器、发光二极管显示器等。系统盘114也连接到I/O桥107并且可以配置为存储内容和应用和数据以由CPU102和并行处理子系统112使用。系统盘114为应用和数据提供非易失性存储并且可以包括固定的或可移动的硬盘驱动器、闪存设备以及⑶-ROM (压缩光盘只读存储器)、DVD-R0M (数字多功能光盘ROM)、蓝光、HD-DVD (高清DVD)或其他磁性、光学或固态存储设备。 交换器116提供I/O桥107与诸如网络适配器118以及各种插卡120和121的其他部件之间的连接。其他部件(未明确示出),包括通用串行总线(USB)或其他端口连接、压缩光盘(⑶)驱动器、数字多功能光盘(DVD)驱动器、胶片录制设备及类似部件,也可以连接到I/O桥107。图1所示的各种通信路径包括具体命名的通信路径106和113可以使用任何适合的协议实现,诸如PC1-EXpreSS、AGP (加速图形端口)、超传输或者任何其他总线或点到点通信协议,并且如本领域已知的,不同设备间的连接可使用不同协议。 在一个实施例中,并行处理子系统112包含经优化用于图形和视频处理的电路,包括例如视频输出电路,并且构成一个或多个并行处理单元(PPU)202。在另一个实施例中,并行处理子系统112包含经优化用于通用处理的电路,同时保留底层(underlying)的计算架构,本文将更详细地进行描述。在又一个实施例中,可以将并行处理子系统112与一个或多个其他系统元件集成在单个子系统中,诸如结合存储器桥105、CPU102以本文档来自技高网...
【技术保护点】
一种用于访问虚拟存储器子系统的数据的计算机实现的方法,所述方法包括:响应于存储器访问请求而发出页面故障,其中本地页面表不包括与包括在所述存储器访问请求中的虚拟存储器地址相对应的条目;响应于所述页面故障,执行页面故障序列,所述页面故障序列包括:标识和与所述虚拟存储器地址相关联的存储器页面相对应的页面状态目录中的条目;从所述页面状态目录中的所述条目读取与所述存储器页面相关联的所有权状态;以及更新所述本地页面表以包括与所述虚拟存储器地址相对应并且将所述虚拟存储器地址与所述存储器页面相关联的条目。
【技术特征摘要】
2013.03.14 US 61/782,349;2013.03.15 US 61/800,004;1.一种用于访问虚拟存储器子系统的数据的计算机实现的方法,所述方法包括: 响应于存储器访问请求而发出页面故障,其中本地页面表不包括与包括在所述存储器访问请求中的虚拟存储器地址相对应的条目; 响应于所述页面故障,执行页面故障序列,所述页面故障序列包括: 标识和与所述虚拟存储器地址相关联的存储器页面相对应的页面状态目录中的条目; 从所述页面状态目录中的所述条目读取与所述存储器页面相关联的所有权状态;以及更新所述本地页面表以包括与所述虚拟存储器地址相对应并且将所述虚拟存储器地址与所述存储器页面相关联的条目。2.如权利要求1所述的方法,其中: 在执行所述页面故障序列之前,与所述存储器页面相关联的所述所有权状态指示所述存储器页面是属于中央处理单元(属于CPU)的; 执行所述页面故障序列进一步包括将与所述存储器页面相关联的所述所有权状态修改为CPU共享的;以及 所述本地页面表包括 行处理单元(PPU)页面表。3.如权利要求2所述的方法,其中所述存储器页面表驻留在系统存储器中,并且所述PPU页面表和CPU页面表二者都包括将所述虚拟存储器地址关联到所述存储器页面的条目。4.如权利要求1所述的方法,其中: 在执行所述页面故障序列之前,与所述存储器页面相关联的所述所有权状态指示所述存储器页面是属于CPU的; 执行所述页面故障序列进一步包括将与所述存储器页面相关联的所述所有权状态修改为属于...
【专利技术属性】
技术研发人员:杰尔姆·F·小杜鲁克,卡梅伦·布沙特,张雪仪,詹姆士·勒罗伊·德明,桑缪尔·H·邓肯,卢森·邓宁,罗伯特·乔治,阿尔温德·戈帕拉克里希南,马克·海尔格罗夫,贾承欢,约翰·马舍,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。