一个虚拟存储系统由容量C1=8MB的主存和容量C2=800MB的辅存两级存储器所构成。主存每位平均代价p1=10个单位成本,辅存每位平均代价p2=1个单位成本。相对于CPU而言,从主存读出时间为tA1=500ns,从辅存读出时间为tA2=5ms。为了测定是否达到高存取速率和低的位成本等,可以统计一组Benchmark程序,获得访问主存次数N1=8×109,访问辅存次数N2=16×106。那么,本虚存系统的两级存储器的读出时间比γ= (23) ,每位平均代价ρ= (24) 单位成本,命中率H= (25) ,平均读出时间tA= (26) μs。
26()
A.0.005
B.100.5
C.0.5
D.0.9
E.0.98
F.0.998
G.0.999
H.1
I.1.09
J.1.10
K.1.5
L.2.09
M.5
N.5.1
O.10.5
P.20.5
Q.50.5
R.100.5
参考答案:R
解析:
看看题目给出的条件:一个虚拟存储系统由容量C1=8 MB的主存和容量C2=800 MB的辅存两级存储器所构成。主存每位平均代价p1=10个单位成本,辅存每位平均代价p2=1个单位成本。相对于CPU而言,从主存读出时间为tA1=500ns,从辅存读出时间为tA2=5ms。
要计算每位的平均代价,我们要计算出两级存储器的成本之和,再除以总容量,即
(8×220×810+800×220×8×1)+(8×220×8+800×220×8)=1.0891
题目中已经给出“统计一组Benchmark程序,获得访问主存次数N1=8×109,访问辅存次数N2=16×106”,由于辅存的读出时间为5ms=5000μs=5000000ns=5×106ns,所以两级存储器的读出时间比为:
(8×109×500)÷(16×106×5×106)=0.05
接下来计算命中率:
H=(8×109)/(8×109+16×106)×100%=99.8%
求出命中率后,求平均读取时间也就容易了,公式为:
H×tA1+(1-H)×tA2=99.8%×500+(1-99.8%)×5000000=100.5μs