【问题标题】:Multilevel cache and maximum miss rate多级缓存和最大未命中率
【发布时间】:2016-09-24 12:53:51
【问题描述】:

第一级(L1)的命中率为 600 psec,未命中率为 10%,未命中惩罚为 80 nsec。我添加了一个命中率为 5 纳秒的二级缓存(L2)。考虑到缓存(L1 + L2)的组合比一级缓存L1具有双倍的效率,我正在尝试找到第二级的最大未命中率。

我正在使用这些表格 平均内存访问时间 = 命中时间 (L1) + 未命中率 (L1) x 未命中惩罚 (L1) 未命中惩罚 (L1) = 命中时间 (L2) + 未命中率 (L2) x 未命中惩罚 (L2)

我得到的解决方案是 40 %,但正确答案是 9,25 %。 谁能帮忙?

提前致谢

【问题讨论】:

    标签: caching cpu-architecture multi-level


    【解决方案1】:
    avg     = 8.6 = 0.6 + 0.1*80  
    1/2*avg = 4.3 = 0.6 + 0.1*(5 + x*80)  
    =>        3.2 = x*8  
    =>        x = 0.4  
    

    所以,在假设
    的情况下,您的回答似乎是正确的 - “平均内存访问时间”不包括各种次要效果的任何其他时间值;
    - 双倍效率意味着平均需要一半时间。

    【讨论】:

    • 但正确的答案仍然是 9.25%,我没有发现我的计算有问题。我担心“最大”这个词。我们的计算似乎回答了“L2 的未命中率是多少”这个问题,而不是“L2 的最大未命中率”。我认为这些问题之间有一些细节,但很难找到它
    • 显然。如果 L2 的未命中率为 0.4 ,则 L2 的最大未命中率不能为 0.0925。所以我们的大脑缓存丢失了一些东西。
    猜你喜欢
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多