内存访问时间为2级分页

时间:2014-02-01 07:53:44

标签: memory-management paging tlb

考虑具有两级分页方案的系统,其中包含常规内存 访问需要150纳秒,服务页面错误需要8毫秒。 平均指令需要100 ns的CPU时间和两个内存 访问。 TLB命中率为90%,页面错误率为每10,000个中一个 说明。什么是有效的平均指令执行时间?

这是在GATE 2004中提出的。要解决这个问题,我会遵循以下概念:
T(存储器访问平均)= .90(150)+ .1(150 + 150 + 150)= 180 (150级1,150级2和150级记忆)
T effective = 100+ 2 * 180 + 1/10000 * 8 * 10 ^ 6 = 1260.

这种做法是否正确?我也有以下疑问:

  1. 由于TLB命中率最高,因此不会出现页面错误 经常使用的页面必须在内存中。这是对的吗 ?
  2. 进程的页表大小是多少?比如32位 虚拟地址,我们为每个进程分配一个页表 2 ^ 32个条目?如何在分页中管理内存限制?
  3. 请解释这些概念。

1 个答案:

答案 0 :(得分:0)

我建议以下

100 +  2*(.1 * 150 + 0.9 * 0 ) + 2*(150+ 8*10^6 * 1/20000 ) = 1230

这里100ns用于执行指令(没有意见分歧)

现在给定TLB命中率为90%,所以每当有TLB未命中时,我们必须进行2次内存访问,因为它被赋予2级分页方案。

并且无论TLB命中或未命中2*(150+ 8*10^6 * 1/20000 )都应该完成,这是内容的内存访问时间和页面错误的开销。

我认为你的表达式假设,对于第一个内容发生TLB命中时的指令,第二个内容跟随

所以你假设hit-hit or miss-miss,虽然给定的TLB命中率是90%(每次访问而不是每条指令),我觉得应该有所有4种可能的组合

hit-hit, miss-miss, hit-miss,miss-hit