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

为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持制造技术

技术编号:6429595 阅读:400 留言:0更新日期:2012-04-11 18:40
本发明专利技术的名称是为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持。在一个实施例中,本发明专利技术包括具有存储虚拟地址到物理地址转换的条目的存储器管理单元(MMU),其中各条目包括指明对应条目的存储单元是存在于本地存储器中还是存在于远程存储器中的存储单元指示符。这样,公共虚拟存储器空间可在可由一个或多个非相干链路分隔的两个存储器之间共享。描述了其它实施例并且要求其权益。

【技术实现步骤摘要】
为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持
技术介绍
随着基于处理器的系统发展,经由例如按照基于PCI Express 规范基本规范版 本2.0 (2007年1月17日发布)(以下称作PCIe 规范)或者另一种这样的协议的链路的 外设部件互连Express (PCIe )互连等高速外设互连连接到系统的可编程加速器的可用性 允许系统集成人员将更大计算功率装入系统。但是,在确保应用可透明地(transparently) 利用附加计算功率而无需对应用进行显著变更以便在主处理器(例如多核中央处理单元 (CPU))与加速器之间手动划分计算以及管理数据的来回移动方面存在难题。传统上,只 有由操作系统(OS)管理的主系统存储器被分配供应用使用。对经由外设互连所耦合的任 何加速器本地的物理存储器被单独管理。具体来说,加速器上的这种本地存储器作为运 行在主处理器上的OS可识别的系统存储器的一部分不是可见的。相反,装置驱动软件负 责显式管理本地存储器与远程存储器之间的数据移动。由处理器存取的物理存储器由操作系统来管理,操作系统将对这个物理存储器 的存取虚拟化,以便创建连续(contiguous)大虚拟地址空间的幻象(illusion)。OS将基 础处理器支持用于虚拟存储器管理,因为处理器允许软件建立将虚拟页面映射到物理页 面的映射表。处理器通过每次需要进行存储器存取时查询映射表,来支持虚拟存储器地 址转换。频繁存取的转换可由处理器进行高速缓存,以便加速这个过程。通常称作页表 的这些映射表还包含例如控制对给定虚拟页面的存取(access)的读/写和用户/超级用户 特权位等属性位。虽然OS管理主板上可用的物理存储器(系统存储器),但是它没有管 理或分配对加速器本地并且可用的存储器。因此,当前解决方案创建编程人员看到的共 享存储器模型,并且取决于存储器保护机制来找出错误并在不同存储器之间来回移动页
技术实现思路
本专利技术提供了一种方法,包括接收包含虚拟地址的存储器存取请求;分析处 理器的转换后备缓冲器(TLB)中存储的与虚拟地址对应的条目,以便确定与所述虚拟地 址对应的物理地址(PA)是存在于关联所述处理器的本地存储器还是存在于关联经由非相 干链路耦合到所述处理器的加速器的远程存储器中,所述本地存储器和所述远程存储器 共同形成共享虚拟存储器空间;以及如果PA存在于所述远程存储器中,则向所述远程存 储器发送反向代理执行请求,以便执行所述存储器存取请求。本专利技术还提供了一种设备,包括具有包括第一存储器管理单元(MMU)的第 一核心的处理器,所述第一 MMU包括存储虚拟地址到物理地址转换的多个条目,其中 各条目包括存储指明对应条目的存储单元是存在于耦合到所述处理器的本地存储器中还 是存在于耦合到经由非相干互连与所述处理器耦合的加速器的远程存储器中的第一指示 符的存储单元字段,以及存储与所述远程存储器关联的加速器的标识符的标识符字段。本专利技术还提供了一种系统,包括具有包括第一存储器管理单元(MMU)的第一核心的处理器,所述第一 MMU包括存储虚拟地址到物理地址转换的多个条目,其中 各条目包括存储指明对应条目的存储单元是存在于系统存储器中还是存在于与加速器组 件关联的第二存储器中的指示符的存储单元字段,以及存储所述处理器对所述第二存储 器的所述存储单元的存取次数的计数的计数器;经由链路耦合到所述处理器的加速器组 件,所述加速器组件包括第二处理器和第二 MMU;以及耦合到所述处理器的系统存储 器,其中所述系统存储器包括动态随机存取存储器(DRAM)。本专利技术还提供了一种设备,包括具有包括第一逻辑的第一核心的处理器,所 述第一逻辑在存储器存取请求的存储单元存在于关联所述加速器的存储器时,以对运行 在所述第一核心上的请求数据的用户级应用透明的方式将数据的存储器存取请求发送给 耦合到所述第一核心的加速器,并且响应所述存储器存取请求而从所述加速器接收所述 存储单元中存储的数据。附图说明图1是根据本专利技术的一个实施例的系统的框图。图2是根据本专利技术的一个实施例、用于反向代理执行(reverse proxy execution)的方法的流程图。图3是示出根据本专利技术的一个实施例的反向代理执行操作的框图。图4是根据本专利技术的一个实施例、用于代理执行的方法的流程图。图5是示出根据本专利技术的一个实施例的代理执行操作的框图。图6是根据本专利技术的一个实施例的页表的示例条目。图7是根据本专利技术的一个实施例的处理器的框图。图8是根据本专利技术的一个实施例、包括片上加速器的系统的框图。具体实施例方式实施例使处理器(例如插槽(socket)上的中央处理单元(CPU))能够通过使用特 殊加载/存储事务存取存在于加速器上的存储器并且对存储器寻址,来创建和管理与通 过例如外设部件互连Express (PCIe )接口等接口与系统互连的加速器的全共享虚拟地址 空间。直接对远程存储器寻址的能力允许应用软件所看到的有效计算容量增加,并且允 许应用无缝(seamlessly)共享数据而无需显式涉及编程人员来回移动数据。这样,可对 存储器寻址,而无需借助于存储器保护以及找出虚拟地址存取的错误,以便从错误处理 程序重定向待完成的存储器存取。因此,现有共享存储器多核处理可扩展到包括不在插 槽上、而是经由外设非相干链路连接的加速器。相比之下,例如基于群集的系统等典型系统创建编程人员看到的部分共享存储 器模型,并且取决于存储器保护机制来找出错误并在CPU与外围设备之间来回移动页 面。另外,在基于群集的系统中,各节点运行在其上运行应用的操作系统(OS)栈的单 独副本,并且系统的这个方面是编程人员接触到的,因为只有地址空间的一部分是共享 的,并且编程人员从共享区域分配或者显式指定将数据的哪一部分放入共享地址空间。 执行环境与类似单共享存储器多核系统的全共享存储器执行环境不同。相反,在各个实施例中,插槽上的处理器可对加速器本地的远程存储器寻址,这允许处理器透明地使用远程存储器地址来存取共享数据。要实现这个方面,可提供架 构扩展,以便允许虚拟存储器管理系统得到增强,使得可发出(issue)特殊加载/存储事 务,以便对远程共享数据寻址,并且进一步使系统能够将存储器页面移动到更靠近它们 被更频繁存取的存储单元,而无需显式编程人员干涉来进行此操作。另外,存储器管理 扩展允许编程人员直接运行应用代码,而无需显式指明地址空间的哪些部分必须共享或 者使编程人员管理公共共享数据区域。因此,可创建和管理高速缓存相干CPU插槽上的核心与经由外设互连与系统互 连的加速器(包括多核CPU)之间的共享虚拟地址空间。因此,互连两侧的CPU/加速 器可通过互连来存取共享虚拟页面,共享虚拟页面可在物理上位于系统存储器中或者位 于对加速器本地的存储器上,互连可以是高速缓存相干的或可以不是高速缓存相干的。相应地,加速器本地的物理存储器可对CPU并且又对OS和应用表现为附加系统 存储器,即使加速器的本地存储器是通过互连而不是由CPU通过相干结构(例如前端总 线(FSB)或快速路径互连(QPI)直接可访问的。实施例可在许多不同的系统类型中实现。现在参照图1,示出的是根据本专利技术 的一个实施例的系统的框图。如图1所示,系统100可以是示范计算机系统,本文档来自技高网
...

【技术保护点】
一种方法,包括:接收包含虚拟地址的存储器存取请求;分析处理器的转换后备缓冲器(TLB)中存储的与虚拟地址对应的条目,以便确定与所述虚拟地址对应的物理地址(PA)是存在于关联所述处理器的本地存储器还是存在于关联经由非相干链路耦合到所述处理器的加速器的远程存储器中,所述本地存储器和所述远程存储器共同形成共享虚拟存储器空间;以及如果PA存在于所述远程存储器中,则向所述远程存储器发送反向代理执行请求,以便执行所述存储器存取请求。

【技术特征摘要】
US 2009-9-18 12/5624771.一种方法,包括接收包含虚拟地址的存储器存取请求;分析处理器的转换后备缓冲器(TLB)中存储的与虚拟地址对应的条目,以便确定与 所述虚拟地址对应的物理地址(PA)是存在于关联所述处理器的本地存储器还是存在于关 联经由非相干链路耦合到所述处理器的加速器的远程存储器中,所述本地存储器和所述 远程存储器共同形成共享虚拟存储器空间;以及如果PA存在于所述远程存储器中,则向所述远程存储器发送反向代理执行请求,以 便执行所述存储器存取请求。2.如权利要求1所述的方法,还包括根据TLB条目的存储单元指示符来确定所述 PA是在所述本地存储器还是所述远程存储器中。3.如权利要求2所述的方法,还包括使用指明与所述远程存储器关联的加速器的 所述TLB条目的标识符字段来确定PA位于各与加速器关联的多个远程存储器的哪一个 中。4.如权利要求3所述的方法,还包括分析指示所述处理器对所述远程存储器的所 述PA的存取次数的所述TLB条目的计数器。5.如权利要求4所述的方法,还包括当所述计数器达到阈值时,将信息从所述远 程存储器的PA移动到所述本地存储器,而无需涉及运行在所述处理器上的应用。6.如权利要求1所述的方法,还包括将包括所述本地存储器和所述远程存储器的 系统的存储器配置设置成指示与所述本地存储器关联的第一物理地址范围以及与所述远 程存储器关联的第二物理地址范围。7.如权利要求6所述的方法,还包括通过页面漫步来对存储器配置进行存取以得 到存储器存取请求的转换,以及将包含所述转换和存储单元指示符的条目存储在TLB 中,其中所述存储单元指示符具有当所述PA处于所述第一物理地址范围之内时指明所述 PA处于所述本地存储器中的第一值。8.—种设备,包括具有包括第一存储器管理单元(MMU)的第一核心的处理器,所述第一MMU包括存 储虚拟地址到物理地址转换的多个条目,其中各条目包括存储指明对应条目的存储单元 是存在于耦合到所述处理器的本地存储器中还是存在于耦合到经由非相干互连与所述处 理器耦合的加速器的远程存储器中的第一指示符的存储单元字段,以及存储与所述远程 存储器关联的加速器的标识符的标识符字段。9.如权利要求8所述的设备,其中,所述第一MMU的各条目还包括存储所述处理器 对所述远程存储器的所述存储单元的存取次数的计数的计数器。10.如权利要求8所述的设备,其中,所述本地存储器是系统存储器,而所述远程存 储器是所述加速器的本地存储器。11.如权利要求10所述的设备,其中,所述系统存储器和所述远程存储器包括单个虚 拟地址空间。12.如权利要求8所述的设备,其中,当所述第一MMU的条目指明所述存储单元处 于所述远程存储器时,所述处理器经由所述非相干互连的协议将存储器请求隧道传输到 所述加速器。13.如权利要求8所述的设备,其中,所述加速器包括第二MMU,并且响应所述第 二 MM上的页面错误,所述加速器请求所述处理器解析所述页面错误。14.如权利要求13所述的设备,其中,所述处理器使所述本地存储器将关联所述页面 错误的地址的存储器页面传输给所述远程存储器,并且使所述存储器页面的转换发送给 所述加速器供存储在所述第二 MMU中。15.如权利要求8所述的设备,其中,所述处理器使用所述第一MMU的条目中的信 息直接对存在...

【专利技术属性】
技术研发人员:GN钦亚H王DA马泰库蒂JD科林斯E舒赫曼JP赫尔德AV巴特P塞蒂SF瓦利
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1