考虑一个具有两级分页方案的系统,其中常规的内存访问需要150纳秒,而服务页面错误需要8毫秒。一条平均指令需要100纳秒的CPU时间,并且需要两次内存访问。 TLB命中率为90%,页面错误率为每10,000条指令之一。有效平均指令执行时间是多少?
(A) 645纳秒
(B) 1050纳秒
(C) 1215纳秒
(D) 1230纳秒答案: (D)
说明:请注意,每10,000条指令给页面错误率一个页面错误。由于每条指令有两次内存访问,因此对于平均指令执行时间,我们需要两倍的地址转换时间。另外,如果发生TLB丢失,则有2个页面表被访问。 TLB访问假定为0。
所以,
平均指令执行时间=平均CPU执行时间+平均数据获取时间(每条指令从内存中获取指令操作数)
=平均CPU执行时间+每条指令的平均地址转换时间+每条指令的平均内存获取时间+每条指令的平均页面错误时间
= 100 + 2×(0.9×(0)+ 0.1×(2×150))+ 2×150 +1 / 10000×8×10 6
= 100 + 60 + 300 + 800
= 1260纳秒
因此,没有一个选项是正确的。
这个问题的测验