繁体   English   中英

在 32 位处理器上使用分页访问 RAM 的次数

[英]Number of RAM Accesses using Paging on a 32bit processor

分页架构

假设我们使用 32 位处理器,Paging 作为其 memory 管理方案。 我的问题是为了找到物理地址可能需要的访问范围是多少。

我的答案是0到3。

首先,它会在 TLB 中寻找虚拟地址,如果它在那里,那么我们就有 0 次访问。

如果它不存在,那么它将使用前 10 位在页面目录中进行 1 次访问。 在它将使用此 PDE 检查 L1 缓存之后,如果找到它,那么我们总共有 1 次访问。

否则,它将移动到页表(根据 PDE)并根据虚拟地址的第二个 10 位进行另一次 memory 访问。 然后它会用这个 PTE 检查 L2 缓存,如果找到,那么我们总共有 2 次 RAM 访问。

最后,它将使用最后 12 位(偏移量)来访问所需物理地址中的 RAM,总共给我们 3 次访问。

上述理由是否正确? 我不熟悉我们如何使用 L1 和 L2 缓存。

谢谢

上述理由是否正确?

大部分是正确的,你只忽略了一个微妙之处......

我的问题是为了找到物理地址可能需要的访问范围是多少。

否则,它将移动到页表(根据 PDE)并根据虚拟地址的第二个 10 位进行另一次 memory 访问。

此时它有了物理地址; 所以答案是“0 到 2 次访问”。

在它已经拥有物理地址之后发生的事情(如果该地址的数据被缓存或成为第三次访问)不会改变答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM