[英]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.