首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多级页表

多级页表
EN

Stack Overflow用户
提问于 2020-07-13 03:09:49
回答 1查看 41关注 0票数 0

我想更深入地了解它,如果我的一些假设是错的,请让我知道。假设虚拟地址有3个PMN表: PML3、PML2、PML1。指向第一个表的指针是CR3 (物理地址),表中的每个条目都指向PML2表的开头或null。再检查一遍,这里的指针是物理的(指向每个PML2表的物理地址,对吗?类似地,每个PML3的入口点指向PML1表的开头。这点是指向物理地址吗?(有些-为什么我认为我在某个地方听说只有第一个表指向物理地址,而所有其他表指向虚拟地址,但这对我来说没有意义)我是不是把它和其他东西搞混了?是否所有PMH表中的所有点都指向物理地址?

EN

回答 1

Stack Overflow用户

发布于 2020-07-13 05:49:10

是的,在大多数由硬件遍历的嵌套页表的ISA中,所有级别都使用物理地址作为指针,以避免需要virt->phys另一个虚拟地址的陷阱22。

例如,在x86上,How does x86 paging work?Why in 64bit the virtual address are 4 bits short (48bit long) compared with the physical address (52 bit long)?具有多级PDE/PTE的示意图。

我认为一些ISA可能做了其他事情,比如特殊的固定TLB条目,你可以把页表指针放在那个虚拟地址范围内吗?(例如,MIPS使用软件TLB处理,因此页面遍历必须由软件完成,因此加载要经过virt->phys转换的通常路径。我认为,TLB未命中处理程序必须确保不会通过仅使用固定转换区域中的地址而导致另一次TLB未命中。或者类似的东西。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62865428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档