[发明专利]促进基于处理器的设备中的页表条目(PTE)维护在审
| 申请号: | 202080061397.9 | 申请日: | 2020-06-17 |
| 公开(公告)号: | CN114303135A | 公开(公告)日: | 2022-04-08 |
| 发明(设计)人: | E·F·罗宾森;J·帕纳维奇;T·P·施派尔 | 申请(专利权)人: | 微软技术许可有限责任公司 |
| 主分类号: | G06F12/0811 | 分类号: | G06F12/0811;G06F13/42 |
| 代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅 |
| 地址: | 美国华*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 促进 基于 处理器 设备 中的 条目 pte 维护 | ||
公开了促进基于处理器的设备中的页表条目(PTE)维护。在这方面,基于处理器的设备包括处理元件(PE),处理元件(PE)被配置为支持两种新的一致性状态:遍历器可读(W)和已修改的遍历器可访问(MW)。W一致性状态指示由硬件表遍历器(HTW)对对应的一致性颗粒的读取访问被许可,但是由非HTW代理进行的所有写入操作和所有读取操作被禁止。MW一致性状态指示一致性颗粒的仅对HTW可见的、被缓存的副本可能存在于其他高速缓存中。在一些实施例中,每个PE还被配置为支持用于修改PTE的SP‑PTE字段的特殊页表条目(SP‑PTE)字段存储指令,以向PE的本地高速缓存指示:对应的一致性颗粒应该转变为MW状态,并且向远程本地高速缓存指示:一致性颗粒的副本应该更新它们的一致性状态。
技术领域
本公开的技术涉及基于处理器的设备中的页表,并且更具体地,涉及用于更高效地更新页表的页表条目的机制。
背景技术
页表是被现代基于处理器的设备用来提供虚拟存储器功能性的数据结构。页表提供存储虚拟存储器地址与对应的物理存储器地址(即系统存储器中的存储器位置的地址)之间的映射的页表条目(PTE)。当基于处理器的设备需要将虚拟存储器地址转换为物理存储器地址时,基于处理器的设备使用硬件表遍历器(HTW)(hardware table walker)访问页表以定位与虚拟存储器地址相关联的页表条目,并且然后从页表条目读取对应的物理存储器地址。HTW或软件最近访问过的PTE也可以由基于处理器的设备高速缓存在转换后备缓冲器(TLB)中,以供后续重用,而无需重复转换过程。通过使用页表来实现虚拟存储器功能性,基于处理器的设备使得软件进程能够访问在彼此隔离、并且合计地可以概念性地比可用物理存储器大的安全存储器空间。
每个PTE包括由硬件使用的字段,作为非限制性示例,诸如表示指向其他页表的指针的位、许可位、存储器属性等。PTE内的其他字段(在本文中被称为“特定PTE(SP-PTE)字段”)仅由软件使用,并且作为非限制性示例,可以包括用于跟踪页面计数和/或页面年龄、管理页面表更新等的位。因此,由基于处理器的设备对页表的维护和管理可能涉及读取和写入不被HTW使用的和/或与虚拟到物理地址转换无关的SP-PTE字段。
只要特定PTE的本地副本存在于基于处理器的设备的TLB中,HTW就会忽略对SP-PTE字段的修改,并且根据需要继续访问PTE。但是,如果TLB太小而无法持有PTE的工作集,则可能会出现性能问题。虽然对SP-PTE字段的更新对HTW是透明的,但是当软件修改SP-PTE字段时,被持有在本地高速缓存中的PTE可能会从本地高速缓存被无效。因此,如果TLB中不存在虚拟到物理地址转换所需的PTE,并且由于对SP-PTE字段的修改,高速缓存已使其PTE副本无效,则基于处理器的设备必须执行存储器读取操作以从系统存储器获取PTE的副本。在包括多个处理单元(PE)的基于处理器的设备中,这种性能问题可能会加剧,这些处理单元(PE)都试图访问在其本地高速缓存内包含PTE的相同一致性颗粒(即,维持一致性的最小存储器块,对应于高速缓存线)。
因此,期望一种用于维护PTE同时避免过度高速缓存争用的更高效的机制。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080061397.9/2.html,转载请声明来源钻瓜专利网。





