[发明专利]为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持有效
申请号: | 201410350006.1 | 申请日: | 2010-09-16 |
公开(公告)号: | CN104123242B | 公开(公告)日: | 2017-08-08 |
发明(设计)人: | G.N.钦亚;H.王;D.A.马泰库蒂;J.D.科林斯;E.舒赫曼;J.P.赫尔德;A.V.巴特;P.塞蒂;S.F.瓦利 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/1027 | 分类号: | G06F12/1027 |
代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 朱海煜,汤春龙 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 本地 远程 物理 存储器 之间 共享 虚拟 提供 硬件 支持 | ||
本分案申请的母案申请日为2010年9月16日、申请号为201010293493.4、发明名称为“为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持”。
技术领域
本申请涉及为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持。
背景技术
随着基于处理器的系统发展,经由例如按照基于PCI ExpressTM规范基本规范版本2.0(2007年1月17日发布)(以下称作PCIeTM规范)或者另一种这样的协议的链路的外设部件互连Express(PCIeTM)互连等高速外设互连连接到系统的可编程加速器的可用性允许系统集成人员将更大计算功率装入系统。但是,在确保应用可透明地(transparently)利用附加计算功率而无需对应用进行显著变更以便在主处理器(例如多核中央处理单元(CPU))与加速器之间手动划分计算以及管理数据的来回移动方面存在难题。传统上,只有由操作系统(OS)管理的主系统存储器被分配供应用使用。对经由外设互连所耦合的任何加速器本地的物理存储器被单独管理。具体来说,加速器上的这种本地存储器作为运行在主处理器上的OS可识别的系统存储器的一部分不是可见的。相反,装置驱动软件负责显式管理本地存储器与远程存储器之间的数据移动。
由处理器存取的物理存储器由操作系统来管理,操作系统将对这个物理存储器的存取虚拟化,以便创建连续(contiguous)大虚拟地址空间的幻象(illusion)。OS将基础处理器支持用于虚拟存储器管理,因为处理器允许软件建立将虚拟页面映射到物理页面的映射表。处理器通过每次需要进行存储器存取时查询映射表,来支持虚拟存储器地址转换。频繁存取的转换可由处理器进行高速缓存,以便加速这个过程。通常称作页表的这些映射表还包含例如控制对给定虚拟页面的存取(access)的读/写和用户/超级用户特权位等属性位。虽然OS管理主板上可用的物理存储器(系统存储器),但是它没有管理或分配对加速器本地并且可用的存储器。因此,当前解决方案创建编程人员看到的共享存储器模型,并且取决于存储器保护机制来找出错误并在不同存储器之间来回移动页面。
发明内容
根据第一实施例,本发明提供了一种用于支持共享虚拟存储器的处理器,包括:
第一核心,包括取指令单元、指令解码单元、第一存储器管理单元(MMU)和至少一个执行单元,第一MMU包括存储虚拟地址到物理地址转换的多个条目;以及
加速器,与第一核心耦合并包括第二MMU,第二MMU包括存储虚拟地址到物理地址转换的多个条目,其中,第一MMU的各条目包括存储指明对应条目的存储单元是存在于与所述处理器耦合的第一存储器中还是存在于与所述加速器耦合的第二存储器中的第一指示符的存储单元字段,其中,所述处理器执行处理程序以将对于第二存储器中的存储单元的存储器请求转换成直接存储器存取(DMA)事务来与第二存储器通信。
根据第二实施例,本发明提供了一种用于支持共享虚拟存储器的方法,包括:
接收包含虚拟地址的存储器存取请求;
分析处理器的转换后备缓冲器(TLB)中存储的与虚拟地址对应的条目,以便根据指示与虚拟地址对应的物理地址(PA)是存在于第一存储器还是存在于第二存储器中的TLB条目的位置属性,确定所述PA是存在于关联所述处理器的第一存储器还是存在于关联与所述处理器耦合的加速器的第二存储器中,第一存储器和第二存储器共同形成共享虚拟存储器空间;以及
如果所述PA存在于第二存储器中,则经由非相干互连向第二存储器发送反向代理执行请求,以便执行所述存储器存取请求。
根据第三实施例,本发明提供了一种用于支持共享虚拟存储器的系统,包括:
具有包括第一存储器管理单元(MMU)的第一核心的处理器,第一MMU包括各用来存储虚拟地址到物理地址转换的多个条目,其中各条目包括存储所述处理器对与耦合到所述处理器的第二处理器相关联的第二存储器的存储单元的存取次数的计数的计数器,其中,当条目的计数器达到阈值时,所述处理器将与所述条目相关联的存储单元中存储的数据从第二存储器的所述存储单元移动到与所述处理器耦合的系统存储器的存储单元;
经由链路与所述处理器耦合的第二处理器,第二处理器包括第二MMU;以及
与所述处理耦合的系统存储器。
附图说明
图1是根据本发明的一个实施例的系统的框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410350006.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于方差的文档分类方法
- 下一篇:一种自动生成测试用例的方法