计算平均加载时间

时间:2019-02-03 20:41:26

标签: cpu-architecture

计算机具有高速缓存,主存储器和硬盘。如果被引用 word在高速缓存中,需要15 ns的时间访问它。如果在主存储器中 但不在缓存中,加载(包含该块的)要花费85 ns 进入缓存(包括最初检查缓存的时间), 然后再次开始参考查找。如果单词不在 从主存储器加载(包含该块的)需要10毫秒 将该磁盘放入主存储器,然后启动参考查找 再次。高速缓存命中率为0.4。如果发生高速缓存未命中, 单词在主存储器中的概率为0.7。计算 平均加载时间。

My Answer

    Given:

    Cache access time = 15 ns
    Cache hit rate = 0.4
    Cache miss rate = 1 – 0.4 = 0.6
    RAM access time = 85 ns
    RAM hit rate = 0.7
    RAM miss rate = 1 – 0.7 = 0.3
    Disk access time = 10ms = 10000000 ns



    >  Average access time = (cache access time x cache hit rate) + (cache
    > miss rate) x (RAM access time + RAM hit rate) + (cache miss rate x ram
    > miss rate x disk access time)
    >     = (15*0.4) + (0.6)(85*0.7) + (0.6)(0.3)(10000000)
    >     = 1 800 041,7 ns

3 个答案:

答案 0 :(得分:0)

我希望您喜欢伯克贝克(Birkbeck)的计算机系统课程...; P

我认为您虽然错过了一些事情

(1)您假设10ms包含对缓存的初始检查(他为85ns指定了缓存,但没有为10ms指定,因此将其添加到安全的一侧)

(2)它表示分别在分别加载到高速缓存和主存储器中之后再次开始参考查找...因此,从这个问题中我可以理解,只能从高速缓存中访问单词(否则为什么要打扰85ns?)。因此,我认为您需要增加从磁盘初始检索时将其从主内存加载到缓存中所需的时间。另外,尽管我对此不太确定,因为它有点模棱两可,但我认为您还需要再添加15ns才能使该单词从主存储器中加载后在缓存中被访问...

有兴趣听到一些想法

答案 1 :(得分:0)

  

如果您已完成练习,请在此处分享前三个问题的答案。:P

For this question answer is :

Cache access time = 15ns
Memory access time = 85ns +15ns = 100ns
Disk access time = 10x106 + 100ns = 10000100ns
Average load time = 0.4 x 15ns + 0.6[0.7 x 100ns + 0.3(10000100ns)]
Average load time =     6 +0.6(70 + 3000030) = 6 + 1800060
Average load time = 1800066ns = 1.8ms

答案 2 :(得分:0)

如果它在主内存中但不在缓存中,则需要85 ns的时间(将包含它的块)加载到缓存中(这包括最初检查缓存的时间)。

您不需要添加85(内存)和15(缓存)

这个问题的答案是:

Cache access time = 15ns
Memory access time = 85ns
Disk access time = 10x106 + 85ns = 1000085ns
Average load time = 0.4 x 15ns + 0.6[0.7 x 85ns + 0.3(1000085ns)]
Average load time =     6 +0.6(59.5 + 3000025.5) = 6 + 1800051
Average load time = 1800057ns = 1.8ms