0

*I-cache 的命中率为 0.95,命中率时间为 3 个周期,D-cache 的命中率为 0.85(3 个周期)。两者的未命中惩罚为 40 个周期。0.25 内存指令的 AMAT 是什么?

我成功计算出:AMAT_I = 3 + 0.05 * 40 = 5 AMAT_D = 3 + 0.15 * 40 = 9

解决方案告诉我:AMAT_Total = 1/1.25 * AMAT_I + 0.25/1.25 * AMAT_D 但我不明白为什么。有人可以解释一下它背后的逻辑吗?我想:AMAT_Total = 0.25 * (AMAT_I + AMAT_D)

4

1 回答 1

2

如果您仅在内存访问指令中访问 I-cache 和 D-cache,那么您的答案将是正确的。但是,您的所有指令都经过 I-cache,因此名称为指令缓存。换一种说法:

当您执行任何指令时 = 您访问 I-Cache

当您执行内存指令时=您访问I-Cache以获取指令并访问D-Cache以获取数据。

于 2017-07-07T11:59:50.773 回答