考虑一个具有两级分页方案的系统,其中一个常规内存访问需要150纳秒,而维护一个页面错误需要8毫秒。一条指令平均需要100 ns的CPU时间,两次内存访问。TLB命中率为90%,页面错误率为每10,000条指令中有1条。有效的平均指令执行时间是多少?
这是2004年登机口提出的。为了解决这个问题,我会遵循以下的概念:
T(内存存取avg) = .90(150) + .1(150+150+150) = 180 (150- level1,150-2级和150-内存)
T有效= 100+ 2* 180 + 1/10000* 8* 10^6 = 1260。
这个方法正确吗?此外,我也有以下疑问:
请解释这些概念。
发布于 2014-02-01 09:23:30
我建议如下

这里100 no用于指令执行(没有意见分歧)
现在,给定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
https://stackoverflow.com/questions/21495591
复制相似问题