gpt4 book ai didi

memory - 缓存中的命中率和未命中率以及平均时间计算

转载 作者:行者123 更新时间:2023-12-04 15:12:43 24 4
gpt4 key购买 nike

我正在尝试解决一个客观类型的问题,参加考试。我实际上不知道正确的答案,也不知道如何得到它,需要你的帮助。谢谢你 。

问题:
在某个系统中,主存访问时间为 100 ns。高速缓存比主存储器快 10 倍,并使用直写协议(protocol)。如果读请求命中率为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

最佳答案

你的第二个假设是正确的。

使用直写缓存,它会立即将修改后的 block 写入内存,然后再写入磁盘。由于没有给出磁盘访问时间,因此将其从等式中消除。我的符号略有不同,但我会以这种方式发布给 future 的读者。我使用了 中给出的符号。威廉斯托林斯 操作系统:内部结构和设计原则。

给定:

Tm = 100ns
Tc = 10ns /* 10x faster than Tm */
Hr = 0.92 /* Hit rate reading */
85% reading => 15% of the time writing

解决方案:
The effective access time for reading:
Te_r = Hr * Tc + (1-Hr)Tm = 0.92*10 + (1 - 0.92)100 = 9.2 + 8 = 17.2

The effective access time for writing, is determined from the Hit rate Hw,
which is always 0, because the data must be immediately written onto the
memory.
Te_w = Hw * Tc + (1-Hw)Tm = 0*10 + (1 - 0)100 = 100

Taking into account the percentage:
0.85*17.2 + 0.15*100 = 14.62 + 15 = 29.62

Q.E.D

关于memory - 缓存中的命中率和未命中率以及平均时间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16398822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com