1

我发现很难计算内存访问的平均时间,我只想举一个我试图解决的问题的例子。如果有人能告诉我我是否走在正确的轨道上,或者我错了我错过了什么,我将不胜感激。

考虑以下多级缓存层次结构及其命中时间和命中率:

  • 一级缓存,3 个周期,50%
  • 二级缓存,5 个周期,90%
  • 主存储器,70 个周期,100%

现在我想:

AMAT(平均内存访问时间)= 命中时间 + 未命中率 * 未命中惩罚

= 3 + 0.5 * (15 + 0.3 * 70) = 21 个周期

我这样做正确吗?

4

1 回答 1

1

您的公式是正确的,但是您插入的值有点偏离。

AMAT = HitRate_l1 + MissRate_l1*(Miss Penalty L1)

现在,L1 的 Miss Penalty = HitRate_l2 + MissRate_l2*(Miss Penalty L2) 最后,

Miss Penalty L2 = 70 个周期,因为我们已经知道主存储器有 100% 的命中率。

因此最终的计算结果为 3 + 0.5(5 + 0.1(100)) = 10.5 个周期。

于 2020-12-07T05:14:31.363 回答