我正在尝试解决一个客观类型的问题,参加考试。我实际上不知道正确的答案,也不知道如何得到它,需要你的帮助。谢谢你 。
问题: 在某个系统中,主存访问时间为 100 ns。高速缓存比主存储器快 10 倍,并使用直写协议。如果读请求命中率为0.92,CPU产生的内存请求中85%为读,其余为写;那么读取和写入请求的平均时间考虑是
a) 14.62ns
b) 348.47ns
c) 29.62ns
d) 296.2ns
我的工作 ::::
嗯,内存访问时间 = 100ns
缓存访问时间 = 10 ns(快 10 倍)
In order to find avg time we have a formula
Tavg = hc+(1-h)M
where h = hit rate
(1-h) = miss rate
c = time to access information from cache
M = miss penalty (time to access main memory)
直写操作:缓存位置和主存位置同时更新。
假设CPU产生的请求85%是读请求,15%是写请求。
Tavg = 0.85(avg time for read request)+ 0.15(avg time for write request)
= 0.85(0.92*10+0.08*100)+0.15(avg time for write request)
//* 0.92 是读请求的命中率,但没有给出写请求的命中率 ??
如果我假设写入请求的命中率与读取请求的命中率相同,那么,
= 0.85(0.92*10+0.08*100)+0.15(0.92*(10+100)+0.08*100)
=31 ns
如果我假设写入请求的命中率为 0%,那么,
= 0.85(0.92*10+0.08*100)+0.15(0*110+1*100)
=29.62 ns