何时同时添加缓存和主存储器的访问时间以及主存储器的仅访问时间?

时间:2019-04-18 22:13:14

标签: caching operating-system co

Q1)高速缓存存储器的访问时间为120 ns,主存储器的访问时间为900 ns。据估计,80%的内存请求用于读取,其余20%的内存用于写入。只读访问的命中率为0.9。使用直写过程。

(i)仅考虑内存读取周期,系统的平均访问时间是多少?

(ii)读写请求对系统的平均访问时间是多少。

(iii)考虑写入周期的命中率是多少?

Q2)高速缓存需要30 ns的访问时间和150 ns的主存储器,CPU的平均访问时间是多少(假设命中率= 80%)?

(A)60

(B)30

(C)150

(D)70

给定的解决方案是

缓存的命中率= Hcache = 0.8

Tcache = 30 ns

内存= 150 ns

CPU访问时间= Hcache * Tcache +(1 – Hcache)(Tcache + Tmemory)

= 0.8 * 30 + 0.2 *(30 + 150)= 60 ns

对于第一个问题,我已经做到了。

i)average_access_time_read = 0.9 x 120ns +(1-0.9)x 900ns = 108ns + 90ns = 198ns

ii)使用公式 0.8 x 198ns + 0.2 x 900ns = 158.4ns + 180ns = 338.4ns。 (这也让我感到困惑,是要添加缓存访问时间和内存访问时间,还是仅添加内存访问时间)

iii)我找不到写操作的命中率。 有人可以帮忙吗?

对于第二个问题,我已经这样解决了。

缓存的命中率= Hcache = 0.8

Tcache = 30 ns

内存= 150 ns

CPU访问时间= Hcache * Tcache +(1-Hcache)(Tmemory)

= 0.8 * 30 + 0.2 *(150)= 54 ns

我不理解何时将Cache访问时间添加到内存访问时间。在某些问题中,仅添加内存访问时间,在某些情况下,还考虑了缓存访问时间和内存访问时间。 谁能解释哪个是正确的?

0 个答案:

没有答案