在某计算机中采用了多级存储体系,设计有Cache、主存和磁盘。假设访问Cache一个字需要花费10ns,若该字不在Cache中但是存在于主存中,那么需要100 ns载入Cache,然后重新开始定位。若该字既不在Cache中,也不在主存中,那么需要10 ms

admin2018-08-12  30

问题 在某计算机中采用了多级存储体系,设计有Cache、主存和磁盘。假设访问Cache一个字需要花费10ns,若该字不在Cache中但是存在于主存中,那么需要100 ns载入Cache,然后重新开始定位。若该字既不在Cache中,也不在主存中,那么需要10 ms的时间装入主存,再用100 ns复制到Cache,再开始定位。设Cache的命中率为0.90,主存的命中率为0.75,那么,该系统访问一个字的平均时间是(    )。

选项 A、25 000 ns
B、250 023 ns
C、250 017 ns
D、250 020 ns

答案D

解析 本题考查多级存储层次下的平均访问时间。多级存储是现代计算机获得比较优异的存储器访问性能又比较廉价的一种实现方法。正确的计算需要搞清楚CPU访问一个字的流程。通常,若需要执行的指令字已经载入到Cache中,那么,仅需要从Cache中取出放到指令队列上即可,所花费的时间即是Cache的访问时间。当Cache中缺席时,产生中断,调用Cache更新程序,将所需的指令字从内存载入Cache,然后返回到中断点继续定位,所需的时间是访问Cache的时间和中断服务程序所花费的时间之和。
    同理,可以推断出访问不在主存中的指令字所需花费的时间是磁盘装入时间与内存中断服务程序时间以及Cache访问时间的和。根据各自命中率的不同,可以计算出总时间为:
    10×0.9+(10+100)×0.75×0.1+(10+100+10×106)×(1一0.9)×(1一0.75)=250 020 ns
转载请注明原文地址:https://kaotiyun.com/show/i5Ri777K
0

最新回复(0)